在FFmpeg中,使用-filter_complex,我如何同时叠加和混合?

时间:2014-03-05 22:40:20

标签: ffmpeg alphablending video-watermarking

我的代码可以合并三个视频,将视频大小调整为1920X1080,将水印调整为正确的大小,然后将水印覆盖到左下方。然后转换为Youtube的预期编解码器。 我的问题是如何使用-filter_complex工作流程同时混合? 目前,我有以下工作流程,除了设置不透明度

之外,它还可以执行所有操作
ffmpeg -y -i fancy movie.mov -i logo.png -i in.mov -i out.mov -c:v libx264 -crf 18 -b:v 50000k -preset veryfast -tune film -profile:v high -x264opts cabac=1:keyint=16:bframes=2:keyint_min=15 -c:a libvo_aacenc -ab 128K -ar 48000 -filter_complex "[0:0] scale=1920X1080 [main]; [2:0] scale=1920X1080 [start]; [3:0] scale=1920X1080 [end]; [start] [2:1] [main] [0:1] [end] [3:1] concat=n=3:v=1:a=1 [prog]; [1:0] scale=480:90 [wm]; [prog] [wm] overlay=36:main_h-overlay_h-45" fart.mp4

我正在尝试在最后一步添加“blend = all_opacity = 0.7”,以便水印将在背景中进行屏幕显示。如果我只是添加

[prog] [wm] overlay=36:main_h-overlay_h-45, blend=all_mode='overlay':all_opacity=0.7" fart.mp4

我收到错误,无法在过滤器上找到未标记输入板1的匹配流Parsed_blend_6

如果我尝试使用分号,

[prog] [wm] overlay=36:main_h-overlay_h-45; blend=all_mode='overlay':all_opacity=0.7

我收到错误,无法在过滤器Parsed_blend_6 上找到未标记输入板0的匹配流,这让我觉得它期待类似[输入1] [输入2]混合命令[输出] 。问题是我需要它来叠加和混合。

我尝试简化代码以测试混合操作是否正常工作。

ffmpeg -i test.mp4 -i logo.png -filter_complex "[0:0] scale=1920x1080 [wm]; [1:0] scale=1920x1080 [prog], [wm][prog] blend=all_mode='overlay':all_opacity=0.7" fart.mp4

我收到错误第一个输入链接顶部参数(大小1920x1080,SAR 1:1)与相应的第二个输入链接底部参数(1920x1080,SAR 243:80)不匹配 无法在Parsed_blend_2上配置输出板

因此,除了组合过滤器的麻烦之外,我还遇到了调整水印大小的问题,因为FFMpeg将其视为与其他视频不同的宽高比。

这是我与FFmpeg的第二天,所以任何帮助都会受到赞赏。

我目前正在使用FFMpeg版本N-61061-gf34cceb

0 个答案:

没有答案