FFmpeg 常用转码命令(本文长期不定期更新)

在Linux平台上没有好用的视频转码软件,其实在日常工作中所使用的转码方案并不多,我总结了Linux和Mac OS下使用FFmpeg转码的常用模板,希望对大家有所帮助



如何安装FFmpeg,请查看底部相关文章

转码为YouTube、大多数手机、Pad等移动端可直接播放的MP4文件

ffmpeg -i *.mov -codec:v libx264 -crf 21 -bf 2 -flags +cgop -pix_fmt yuv420p -codec:a aac -strict -2 -b:v 20000k -b:a 384k -r:a 48000 -movflags faststart *.mp4

解释:

-i 表示input文件 后面空格后加上要转码的源文件,常用的视频文件均可支持,可以是mov mp4 m4v avi mkv ts ogg 等格式,基本上只要播放器可以播放,都可以支持,目前BMD摄像机的braw格式CentOS7 上可用的FFmpeg尚不支持,braw文件请使用达芬奇转码;

-b:v 20000k 表示视频编码码流,这里设置了20m码流,可以根据自己的需要修改合适的码流;

其他参数如有兴趣可自行百度相关解释

注意事项:

a.请将第一个红色部分引号内的内容替换成需,转码的文件路径(包含完整文件名),可以是绝对路径,也可以是相对路径,为确保路径中可能会包含的空格等特殊符号对路径识别产生干扰,请保留引号,单引号双引号都可以;

b.请将第二个红色部分内容替换成转码目标文件的路径(包含完整文件名),可以是绝对路径,也可以是相对路径,为确保路径中可能会包含的空格等特殊符号对路径识别产生干扰,请保留引号,单引号双引号都可以;

提取音频

ffmpeg -i *.mov -vn -y -acodec copy *.aac
ffmpeg -i *.mov -vn -y -acodec copy *.m4a

aac全名是Advanced Audio Coding,后缀名一般为m4a、aac、mp4、mkv等,其中mp4、mkv为视频格式,采样率一般为44.1khz,码率一般是64kbps到192kbps,声道一般为双声道立体声。
ac3全称是(Dolby)Audio Codec 3,一般出现在DVD视频格式中,后缀名为vob,采样率一般为48khz,码率一般是192kbps到384kbps,声道为双声道或6声道。

提取视频

ffmpeg -i *.mov -vcodec copy -an  *.mp4

合并音频和视频

使用Chrome插件从YouTube等网站上下载回来的高清视频往往是视频和音频分离的,这个时候需要快速将其合并为单独的视音频文件,可采用以下代码迅速合并

ffmpeg -i '*.webm' -i audio.wav -c:v copy -c:a copy -strict experimental '*.mp4'

解释:

-i 表示input文件 后面空格后加上要转码的源文件,常用的视频文件均可支持,目前YouTube上下载回来的高清(720p以上)视频均为webm格式;

-c:v copy -c:a copy 表示对视频和音频文件直接进行拷贝,而不转码,这样整个转码过程其实就是将两个文件合并为一个文件的拷贝过程,不会有任何质量上的改变;

其他参数如有兴趣可自行百度相关解释

注意事项:

a.请将第一个红色部分引号内的内容替换成需,转码的文件路径(包含完整文件名),可以是绝对路径,也可以是相对路径,为确保路径中可能会包含的空格等特殊符号对路径识别产生干扰,请保留引号,单引号双引号都可以;

b.请将第二个红色部分内容替换成转码目标文件的路径(包含完整文件名),可以是绝对路径,也可以是相对路径,为确保路径中可能会包含的空格等特殊符号对路径识别产生干扰,请保留引号,单引号双引号都可以;

拼合m3u8格式ts视频序列

ffmpeg -allowed_extensions ALL -protocol_whitelist "file,http,crypto,tcp,https" -i ./*.m3u8 -c copy ./merage.mp4

请自行替换红色部分为自己的路径

将视频转码为视频编辑时的常用格式ProRes

ffmpeg -i *.mov -c:v prores_ks -profile:v 3 -vendor ap10 -pix_fmt yuv422p10le *.mov

解释:

请自行将   *.mov   内容替换成自己的路径和名称,第一个是被转码文件,第二个是转码后的文件

-c:v prores_ks -profile:v 3 - 表示转码为Prores格式,并使用转码模板 3,Prores共有4个模板供转码时使用,代码是数字 0 1 2 3,分别代表Prores的4中质量标准Proxy LQ SQ HQ;

Prores_ks - 这里表示选择ffmpeg支持的Prores编码方式中的ks这种方式,在FFmpeg中编码Prores格式共有Prores Prores_ks和Prores_aw,测试之后Prores_ks编码质量最好,所以这里推荐大家选用此格式

其它常用参数汇总

-s 1280x720          //设定分辨率为1280x720

×

姓名必须填写

输入可用名称

邮箱必需填写

输入邮箱地址

评论内容必需填写

* 必填项