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 -hide_banner -i big_buck_bunny.mp4 -i doggie2.png -vf "overlay=x=50:y=50" out.mp4 -y
上面命令把-filter_complex
换成了-vf
,结果自然是会出错的,错误日志如下
红框中的日志说的很清楚,对于简单滤镜,只能有一个输入输出
所以,当有多个输入文件时,需要使用复杂滤镜。
文章目录
ffmpeg第1篇:日志级别控制、保存日志到指定文件、处理进度查询
ffmpeg第2篇:简单滤镜与复杂滤镜的区别
ffmpeg第3篇:为视频添加静态水印
ffmpeg第4篇:为视频添加动态水印
ffmpeg第5篇:让水印图片旋转起来
ffmpeg第6篇:滤镜语法
ffmpeg第7篇:数据流选择神器-map指令