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

Posted

技术标签:

【中文标题】使用 FFMPEG 一次应用多个过滤器【英文标题】:Applying multiple filters at once with FFMPEG 【发布时间】:2011-09-05 22:55:55 【问题描述】:

我需要对视频应用淡入淡出和叠加滤镜。是否可以一次应用 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 两次?

【问题讨论】:

【参考方案1】:

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

我不得不用逗号分隔过滤器:

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

这将对水印和视频应用淡入淡出。

【讨论】:

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

是的,这是可能的。

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

【讨论】:

真正的过滤器图是什么样子的? ffmpeg实际上是按这个顺序吗?如果您要裁剪、锐化、降噪等 我发现是的,ffmpeg 按指定的顺序应用过滤器;因此,例如,这不是一个好主意。先使用 hardsub 字幕,然后再应用锐化滤镜,例如像这样:-vf "scale=1920:1080 , subtitles=subtitles.ass , unsharp=3.0:3.0:1.5"(我就是这样偶然发现的)

以上是关于使用 FFMPEG 一次应用多个过滤器的主要内容,如果未能解决你的问题,请参考以下文章

ffmpeg中的多个命名管道

FFMPEG:组合多个过滤器时指定输出流类型

FFMPEG使用filter-complex的多个命令

如何使用 ffmpeg overlay_cuda 过滤器制作 SBS 视频?

反应多个过滤器下拉列表

使用 ffmpeg 将一个过滤器的输出多次馈送到一个过滤器的输入