. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 回复
 
主题工具
michael80
 
michael80 的头像
超级会员
 
资 料:
注册日期: May 2011
帖子: 1,179 声望值: 4
精华: 0,解答: 31
#1 旧 2020-05-17, 22:54:10 默认 【推荐】【转帖】六个常用的FFmpeg命令
michael80 当前离线  

引言

FFmpeg是领先的多媒体框架,本帖将展示六个常用的FFmpeg命令。FFmpeg的官网下载地址为:https://ffmpeg.org/download.html

1、基础命令

ffmpeg -i input.mp4 output.mp4
命令解释:

ffmpeg 执行ffmpeg程序,如果你没有将ffmpeg加入环境变量,那么你需要输入ffmpeg的完整路径。
-i input.mp4 指定输入文件,FFmpeg支持多数容器格式,包括MP4,.ts,MOV,AVI,Y4M,MKV等。
output.mp4 输出文件

如果你没有指定音频或者视频的编码译码器,那么FFmpeg会根据容器格式使用默认的编码译码器及其参数。例如,输入一个1080p,容器格式为MP4的文件,FFmpeg会使用H.264视频编码译码器(码率为9~10 Mbps),AAC音频编码译码器(码率约为130Kbps),250帧的关键帧间隔,High profile版本,present参数选择为medium的x264。

2、不重新编码就能转换容器格式

可能你正在使用的某个应用只支持MOV容器格式,而你的源文件的容器格式为MP4。你可以使用Adobe Premiere Pro完成上述格式转换,但是Premiere Pro在转换时一定会重新编码,因此很耗时。而使用下面这条FFmpeg命令可以改变容器格式却不需要重新编码:

ffmpeg -i input.mp4 -c:v copy -c:a copy output.mov
命令解释(上述已解释过的命令就不再重述,下同):

-c:v copy 指定视频的编码译码器为copy,这告诉FFmpeg直接把压缩后的视频流复制到新的文件而不重新编码。
-c:a copy 指定音频的编码译码器为copy,这告诉FFmpeg直接把压缩后的音频流复制到新的文件而不重新编码。
3、转换.ts文件的容器格式

对于.ts扩展名的MPEG-2容器格式的文件,你需要增加一项命令在传输流文件中处理MPEG-2/4 ADTS头:

ffmpeg -i input.ts -bsf:a aac_adtstoasc -c:v copy -c:a copy outputfromts.mp4
命令解释:

-bsf:a aac_adtstoasc 处理ADTS转换。较新版本的FFmpeg会自动增加这条命令。
4、不重新编码就能裁剪视频

你可能需要裁剪视频中的部分内容,使用Adobe Premiere Pro来裁剪视频需要渲染以及编码,因此很耗时。而使用下面这条FFmpeg命令可以快速裁剪视频:

ffmpeg -ss 00:00:05 -i input.mp4 -t 00:00:03 -c:v copy -c:a copy excerpt.mp4
命令解释:

-ss 00:00:05 从视频第5秒开始裁剪。
-t 00:00:05 裁剪的视频时长为5秒,如果你不设置这项命令,视频会从-ss设置的开始时间一直裁剪到视频末尾。
当编码译码器设为copy时,FFmpeg会根据关键帧进行查找,因此设置的时间不会完全精准,在多数应用场景下这不会有问题,但是如果你需要精准的时间设置,你可能需要其他视频编辑器。

5、转换为原始格式

一些工具只支持原始格式(如YUV或者Y4M),或者当使用新的编码译码器如AV1,而多数工具不支持直接输入AV1编码的文件,因此你需要将你的文件转换为原始格式:

ffmpeg -i input.mp4 -pix_fmt yuv420p -vsync 1 output.y4m
命令解释:

-pix_fmt yuv420p 指定格式为YUV420p。
-vsync 1 这条命令告诉FFmpeg在输出文件中保持输入文件中音频和视频的同步关系。
6、转换格式并调整视频分辨率

将文件转换为YUV/Y4M的同时,如果需要调整视频分辨率,可以使用这条命令:

ffmpeg -i input.mp4 -s 1920x1080 -sws_flags lanczos -pix_fmt yuv420p -vsync 1 output.y4m
命令解释:

-s 1920x1080 把视频分辨率调整为1920x1080。
-sws_flags lanczos 分辨率缩放方法使用Lanczos。
总结

以上就是常用的六条FFmpeg命令,如果你经常测试视频编码和质量指标,你会发现命令行和FFmpeg非常重要,两者的组合简化并加速了测试和分析工作的流程。


转帖来源:
https://cloud.tencent.com/developer/article/1477390

个人特别推荐“-c:v copy -c:a copy”的“不重新编码就能转换容器格式”,速度快到飞起(相当于直接拷贝为新封装格式)。
回复时引用此帖
tacoal
 
tacoal 的头像
终极会员
 
资 料:
注册日期: Aug 2000
帖子: 10,378 声望值: 3
精华: 0,解答: 29
#2 旧 2020-05-18, 04:30:45 默认
tacoal 当前离线  

对于2的情况,可以更简单为
代码:
ffmpeg -i input.mp4 -c copy output.mov

比如有的油管下载的是音频和视频两个分开的文件,合并起来就可以用
代码:
ffmpeg -i audio.aac -i video.mp4 -c copy output.mp4
这样你就可以得到合并好了的文件output.mp4,因为不需要重新编码,秒秒钟解决问题
回复时引用此帖
ailixiaoran
 
ailixiaoran 的头像
热心会员
 
资 料:
注册日期: Feb 2011
帖子: 8,178 声望值: 5
精华: 0,解答: 16
#3 旧 2020-05-18, 06:38:10 默认
ailixiaoran 当前离线  

感谢分享。。


不懂感恩只懂吃跟畜生有什么区别?
回复时引用此帖
banner
 
banner 的头像
超级会员
 
资 料:
注册日期: Mar 2002
帖子: 1,692 声望值: 4
精华: 4,解答: 2
#4 旧 2020-05-18, 07:30:48 默认
banner 当前离线  

mark~备查
回复时引用此帖
qdlion
 
qdlion 的头像
核心会员
 
资 料:
注册日期: Aug 2002
帖子: 2,561 声望值: 3
精华: 0,解答: 1
#5 旧 2020-05-18, 16:02:47 默认
qdlion 当前离线  

默默学习。。。。
回复时引用此帖
xjc
 
xjc 的头像
热心会员
 
资 料:
注册日期: Jan 2002
帖子: 1,664 声望值: 4
精华: 0
#6 旧 2020-05-18, 20:51:52 默认
xjc 当前离线  

多谢,学习了!


走,走两步
回复时引用此帖
w0798
 
w0798 的头像
核心会员
 
资 料:
注册日期: Sep 2001
帖子: 3,383 声望值: 3
精华: 0,解答: 5
#7 旧 2020-05-19, 08:12:20 默认
w0798 当前离线  

mark.......备用。。。。。
回复时引用此帖
lilarcor
 
lilarcor 的头像
普通会员
 
资 料:
注册日期: Feb 2020
帖子: 11 声望值: 0
精华: 0
#8 旧 2020-05-22, 08:24:13 默认
lilarcor 当前离线  

感谢分享,有用
回复时引用此帖
csdylk
 
csdylk 的头像
中级会员
 
资 料:
注册日期: Mar 2011
帖子: 316 声望值: 2
精华: 0
#9 旧 2020-05-22, 09:15:22 默认
csdylk 当前离线  

好东西啊! 昨天刚刚烟酒 ffmpeg 链接视频
回复时引用此帖
zhy88888
 
zhy88888 的头像
高级会员
 
资 料:
注册日期: Aug 2002
帖子: 846 声望值: 4
精华: 0
#10 旧 2020-05-22, 10:04:16 默认
zhy88888 当前离线  

腾讯视频下载的qlv,有没有办法使用ffmpeg转成mp4


随心所欲遵礼法,
吃喝玩乐亦顾家,
闲来驾车访旧友,
浮生半日书伴茶。
回复时引用此帖
qiu
 
qiu 的头像
热心会员
 
资 料:
注册日期: Dec 2000
帖子: 884 声望值: 4
精华: 0,解答: 4
#11 旧 2020-05-23, 23:56:37 默认
qiu 当前离线  

引用:
作者: zhy88888 查看帖子
腾讯视频下载的qlv,有没有办法使用ffmpeg转成mp4
用you-get下载


爱国、高尚、勇敢、忠实、进步、友爱、守分, 业余精神万岁!
回复时引用此帖
zhy88888
 
zhy88888 的头像
高级会员
 
资 料:
注册日期: Aug 2002
帖子: 846 声望值: 4
精华: 0
#12 旧 2020-05-28, 22:44:55 默认
zhy88888 当前离线  

https://v.qq.com/x/cover/dxd1v76tmu0...033s6x9tw.html
you-get也不行,却一部分,试试看上面这个连接
回复时引用此帖
canking
 
canking 的头像
超级会员
 
资 料:
注册日期: Aug 2004
帖子: 1,634 声望值: 5
精华: 0,解答: 3
#13 旧 2020-05-29, 08:18:09 默认
canking 当前离线  

记录,感谢。。


无签名
回复时引用此帖
drw
 
drw 的头像
核心会员
 
资 料:
注册日期: Feb 2011
帖子: 3,982 声望值: 3
精华: 0,解答: 26
#14 旧 2020-08-20, 08:02:57 默认
drw 当前离线  

收藏,感谢。

另外,有没有带GUI的FFmpeg,省得记这些命令。
回复时引用此帖
lms
 
lms 的头像
热心会员
 
资 料:
注册日期: Jun 2010
帖子: 1,838 声望值: 6
精华: 0,解答: 23
#15 旧 2020-08-20, 09:53:23 默认
lms 当前离线  

引用:
作者: drw 查看帖子
收藏,感谢。

另外,有没有带GUI的FFmpeg,省得记这些命令。
格式工厂这类的工具的底层都是使用ffmpeg的
回复时引用此帖
发表新主题 回复

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 02:22:36.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号