ffmpeg:多个视频过滤器顺序问题

ffmpeg: multiple video filter order issue

我对 ffmpeg 视频过滤器有疑问。我无法让两个过滤器工作:缩放功能和徽标添加。我读到 -filter_complex 而不是 -vf,但也有人用 -vf 实现了它。我尝试使用逗号,但目前它最多可以读取一个过滤器,否则它会给我一个错误。

ffmpeg -y -i $name -c:a aac -b:a 256k -ar 48000 -ac 2 -async 1 -c:v libx264 -x264opts keyint=$GOP:min-keyint=$GOP:no-scenecut -bf 0 -r $FPSC -b:v 1060k -maxrate 1060k -bufsize 530k -profile:v main -t $FDUR -vf "movie=logo480.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out], scale=-1:478" format480.mp4

试试这个:

ffmpeg -y -i $name -i logo480.png -c:a aac -b:a 256k -ar 48000 -ac 2 -async 1 -c:v libx264 -x264opts keyint=$GOP:min-keyint=$GOP:no-scenecut -bf 0 -r $FPSC -b:v 1060k -maxrate 1060k -bufsize 530k -profile:v main -t $FDUR -filter_complex "[0:v][1:v]overlay=main_w-overlay_w-10:10,scale=-2:478" format480.mp4
  • -vf仅用于简单过滤器(一输入一输出的过滤器)。

  • -filter_complex 用于复杂过滤器(具有一个或多个输入 and/or 输出的过滤器)。 -filter_complex 也可以与简单的过滤器一起使用。基本上可以忽略-vf.

  • 线性过滤过程可以用逗号链接在一起。

  • 我将 scale=-1:478 更改为 scale=-2:478 因此生成的宽度将被 2 整除。这是为了避免 "not divisible by 2" 错误。您没有提供您的错误,所以我不确定这是否是您遇到的错误。