ffmpeg第2篇:简单滤镜与复杂滤镜的区别

在ffmpeg的滤镜中,有简单滤镜(simple filter)和复杂滤镜(complex filter)两种。

使用简单滤镜时,用-vf选项,使用复杂滤镜时,使用-filter_complex-lavfi
那么什么时候用简单滤镜,什么时候用复杂滤镜?

其实很简单:是否只有一个输入文件和一个输出文件,如果是,用简单滤镜,否,则应该用复杂滤镜

执行一个命令试试

ffmpeg -hide_banner -i big_buck_bunny.mp4 -i doggie2.png -lavfi "overlay=x=50:y=50" out.mp4 -y

上面的命令等效于

ffmpeg -hide_banner -i big_buck_bunny.mp4 -i doggie2.png -filter_complex "overlay=x=50:y=50" out.mp4 -y

上面命令作用是给视频添左上角加一个水印,命令可以成功执行,打开输出文件可以看到doggie已经成功加上去了

ffmpeg第2篇:简单滤镜与复杂滤镜的区别_第1张图片
为了验证上面的结论,咱们把命令换成下面的

ffmpeg -hide_banner -i big_buck_bunny.mp4 -i doggie2.png -vf "overlay=x=50:y=50" out.mp4 -y

上面命令把-filter_complex换成了-vf,结果自然是会出错的,错误日志如下

ffmpeg第2篇:简单滤镜与复杂滤镜的区别_第2张图片
红框中的日志说的很清楚,对于简单滤镜,只能有一个输入输出

所以,当有多个输入文件时,需要使用复杂滤镜。

文章目录

ffmpeg第1篇:日志级别控制、保存日志到指定文件、处理进度查询
ffmpeg第2篇:简单滤镜与复杂滤镜的区别
ffmpeg第3篇:为视频添加静态水印
ffmpeg第4篇:为视频添加动态水印
ffmpeg第5篇:让水印图片旋转起来
ffmpeg第6篇:滤镜语法
ffmpeg第7篇:数据流选择神器-map指令

番外篇

ffmpeg番外篇:听说这款水印曾经在某音很火?办它!

有问题请留言沟通,欢迎转载,转载请注明出处

更多精彩内容,欢迎点击个人博客地址:愉快编程

你可能感兴趣的:(ffmpeg第2篇:简单滤镜与复杂滤镜的区别)