ffmpeg常用命令-夏天乐园
ffmpeg是一款强大的音视频处理程序,支持WindowsLinux、Mac OS X 等。关于ffmpeg的安装,之前的文章中已经详细写过了,现在记录一下我经常使用的命令。(以下命令只是范式,需要根据实际情况修改)

① 连接mp3
先写个文本的列表文件list.txt,内容为

然后用命令,如果音频参数一致可以

这时a.mp3就是合并生成的
如果音频参数不一致可以重新编码成aac/MP4

② 连接视频

先将 mp4 转化为同样编码形式的 ts 流,因为 ts流是可以 concate 的,先把 mp4 封装成 ts ,然后 concate ts 流, 最后再把 ts 流转化为 mp4。

③ 提取音频

参数解释:
-i 表示input,即输入文件
-f 表示format,即输出格式
-vn表示vedio not,即输出不包含视频

④剪裁视频(包括音频)

其中-ss为起始时间,-to为终止时间。 Windows上输入文件路径用””

⑤封装字幕

⑥压制字幕

如果字幕视频分离,用

如果视频含软字幕,用

另外一种方法:ASS

⑦字幕格式转换

⑧截取GIF动图

⑨提取字幕

⑩提取视频

⑪录制视频

切分视频并生成M3U8文件

⑫ffmpeg缩放视频
假设原始视频尺寸是 1080p(即 1920×1080 px,16:9),使用下面命令可以缩小到 480p:

各个参数的含义:-i a.mov 指定待处理视频的文件名-vf scale=853:480 vf 参数用于指定视频滤镜,其中 scale 表示缩放,后面的数字表示缩放至 853×480 px,其中的 853px 是计算而得,因为原始视频的宽高比为 16:9,所以为了让目标视频的高度为 480px,则宽度 = 480 x 9 / 16 = 853-acodec aac 指定音频使用 aac 编码。注:因为 ffmpeg 的内置 aac 编码目前(写这篇文章时)还是试验阶段,故会提示添加参数 “-strict -2” 才能继续,尽管添加即可。又或者使用外部的 libfaac(需要重新编译 ffmpeg)。-vcodec h264 指定视频使用 h264 编码。注:目前手机一般视频拍摄的格式(封装格式、文件格式)为 mov 或者 mp4,这两者的音频编码都是 aac,视频都是 h264。out.mp4 指定输出文件名上面的参数 scale=853:480 当中的宽度和高度实际应用场景中通常只需指定一个,比如指定高度为 480 或者 720,至于宽度则可以传入 “-1” 表示由原始视频的宽高比自动计算而得。即参数可以写为:scale=-1:480,当然也可以 scale=480:-1
音乐淡出效果

详见:
https://github.com/tonydeng/fmj/blob/master/ffmpeg.md
http://www.jianshu.com/p/053665062f22