我的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
答案 0 :(得分:0)
试试这个:
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
用于复杂过滤器(具有一个或多个输入和/或输出的过滤器)。 -filter_complex
也可以与简单过滤器一起使用。基本上,您可以忽略-vf
。
线性过滤器流程可以用逗号链接在一起。
我将scale=-1:478
更改为scale=-2:478
,因此生成的宽度可以被2整除。这是为了避免"不能被2"错误。您没有提供错误,因此我不确定您是否遇到错误。