zoukankan      html  css  js  c++  java
  • 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已经成功加上去了

    filter1
    为了验证上面的结论,咱们把命令换成下面的

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

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

    filter error
    红框中的日志说的很清楚,对于简单滤镜,只能有一个输入输出

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

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

    博客地址:暖宝宝官方认证铲屎官

  • 相关阅读:
    Java 传递参数时,传递一个变量快还是传递一个实体类?
    13 设计模式
    12 反射
    11.多线程&&并发
    10.输入输出
    9.异常Exception
    7.正则表达式
    5.数组
    6.常见对象
    上传本地项目到Github
  • 原文地址:https://www.cnblogs.com/daner1257/p/14419289.html
Copyright © 2011-2022 走看看