使用FFMPEG一次应用多个过滤器

86

我需要对视频应用淡入和叠加过滤器。是否可以同时应用2个过滤器?

我得到:

ffmpeg -i input.mpg -vf "movie=watermark.png [logo]; [in][logo] overlay=W-w-10:H-h-10 [out]" output.mpg

我试图加入fade=in:0:20,但如果我添加新的-vf参数,它会覆盖前面的参数,如果我添加:

-vf "fade=in:0:20; movie=......"

它不会起作用。

这是否可能,或者我必须运行两次FFmpeg?

2个回答

114

好的,有人在某个地方帮助了我。

我必须使用逗号来分隔筛选器:

ffmpeg -i input.mpg -vf "movie=watermark.png [logo]; [in][logo] overlay=W-w-10:H-h-10, fade=in:0:20 [out]" output.mpg

这将使水印和视频都应用淡入效果。


2
我目前正在尝试使用 mencoder -vf "rotate=180,flip" -o out.avi -oac mp3lame -ovc lavc in.mp4,但它不起作用。有什么提示吗? - Martin Thoma
[out] 是什么意思?它是一个占位符还是必需的? - Chang Zhao

27

是的,这是可能的。

ffmpeg.exe -i yourvideo.avi -vf "[in] scale=iw/2:ih/2, pad=iw+40:ih+40:10:10 [top]; movie=yourLogoOrVideo.pngOraviEtc, scale=iw/2:ih/2 , fade=out:400:40:alpha=1 [bottom]; [top][bottom] overlay=PaddingFromTop:PaddingFromLeft [out]" -f flv ff.flv

1
真正的过滤器图形是什么样子的?FFmpeg是否实际按照这个顺序进行处理?如果您要裁剪、去锐化、去噪等操作,该怎么做? - μολὼν.λαβέ
6
我发现,是的,FFmpeg会按照指定的顺序应用过滤器;因此,例如先硬字幕化字幕,再应用锐化滤镜并不是一个好主意,就像这样: -vf "scale=1920:1080 , subtitles=subtitles.ass , unsharp=3.0:3.0:1.5" (这是我偶然发现的) - edison23

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接