ffmpeg多滤镜使用小计

需求:

最近需要使用了ffmpeg添加水印

已存在情况:

现有的ffmpeg指令中已经用到了 -vf 指令修改内容的分辨率。


遇到问题:

上网查到了很多很多关于滤镜的使用,但是多数是单独使用,这个很容易实现。

也有发现一些多滤镜使用的例子,但是很多只贴出了具体指令,但是没有让然明白为什么要这么做,所有多次尝试没有找到合适自己的方法。


解决

假如已经使用了滤镜

ffmpeg -i input.mp4 -vf scale=iw/2:ih/2 output.mp4

这里实现了将入流视频的宽高/2.

这时新需求期望在添加水印到视频中,结果如下:

ffmpeg -i input.mp4 -i writemark.png -filter_complex  "[0:0][1:0]overlay=5:10[main];[main]scale=iw/2:ih/2" output.mp4

这里需要解释以下滤镜参数的意思

[0:0][1:0] 表示的是使用第一和第二入流作为滤镜overlay的入流。

[main]表示overlay出流的别名(别名是我个人理解,暂未有合理的文档依据)。

[main]后面的冒号分割两个滤镜。冒号后面的[main]表示将它作为下一个滤镜scale的入流。


这里多滤镜使用需要用双引号括起来,否则出现报错。


你可能感兴趣的:(ffmpeg多滤镜使用小计)