ffmpeg用法(心得体会还有你见过的用法)

ffmpeg的常用用法很多,我这里提供的用法有可能有许多地方是你没见过的。

一、ffmpeg合并视频

我经常需要切割再把一些零碎的视频给拼接起来,这样可以省许多磁盘空间。其实用mencoder挺不错的,至少合并的参数极简单。用ffmpeg可以用下面的方法合并,至少我觉得比用cat这么野蛮的合并文件的方法要好。

1
2
3
4
ffmpeg -i 1.avi -qscale:v 1 1.mpg
ffmpeg -i 2.avi -qscale:v 1 2.mpg
ffmpeg -i concat:"1.mpg|2.mpg" -c copy all.mpg
ffmpeg -i all.mpg -qscale:v 2 output.avi

 

二、ffmpeg做水面倒影效果

1
ffmpeg -i input.avi -vf "split[a][b];[a]pad=iw:ih*2[a];[b]vflip[b];[a][b]overlay=0:h" output.avi

 

三、ffmpeg处理MKV文件也很方便

一般情况下用mkvtoolnix的,ffmpeg处理mkv也很灵活强大。

例如:把2.mkv和3.mkv的所有音频加到1.mkv里(在拼轨同时还可以分别指定对每个轨道进行copy还是重编码):

1
ffmpeg -i 1.mkv -i 2.mkv -i 3.mkv -map 0:0 -map 0:a -map 1:a -map 2:a -map 3:a -c copy OK.mkv

 

四、添加图片水印

1
ffmpeg -i input.avi -vf "movie=1.png[wm];[in][wm]overlay=W-w:H-h" output.avi

这样会把图片放在原影片的最右下角位置

 

五、把图片和音频合为mp4

1
ffmpeg -f image2 -r 30/216 -i %3d.jpg -i music.mp3 -c:v mpeg4 -c:a copy OK.mp4

这样就能把图片和mp3合成视频了,而且图片的张数的时间按指定的music.mp3的时间来平均分配,不会出现图片放完了,音乐还在播放的情况。但有一点要特别注意,如果图片特别少指定的帧率太低了播放可能会出问题,我在Windows下用smplayer播放会出现卡死情况。用mencoder做这些事也非常方便。

 

六、分割视频并给分割出的视频开头和结尾做淡入淡出效果

1
2
ffmpeg -ss 20 -i p.mp4 -vf "fade=in:0:50,fade=out:450:50" -t 20 Ok.mp4
ffmpeg -ss 20 -i p.mp4 -vf "fade=in:0:d=1,fade=out:st=29:d=1" -t 20 OK.mp4

上面第一个命令是从p.mp4的第20秒开始到第40秒结束的一段视频保存为OK.mp4,并给开头的前50帧做个渐入的效果,给结尾的50帧做个渐黑的效果。第二个命令是按时间来算的,意思是开头淡入1秒和结尾最后一秒淡出,这在指定结尾的淡出非常方便。

上一篇:FFMPEG 最简滤镜filter使用实例(实现视频缩放,裁剪,水印等)


下一篇:WCF技术剖析之三十三:你是否了解WCF事务框架体系内部的工作机制?[上篇]