Bash 中的 FFMPEG - 为"movie"过滤器指定的输入过多



基本上,我正在编写一个脚本来自动化视频水印、边界插入和噪声添加。

当我使用以下组合时:

ffmpeg -y -i "$INPUT" -vf "noise=alls=$NOISE_INDEX:allf=t , movie=$WATERMARK [watermark]; [in]scale=512:trunc(ow/a/2)*2 [scale]; [scale][watermark] overlay=$OVERLAY_SETTINGS_WATERMARK [out] , drawtext=text=$TEXT:$OVERLAY_SETTINGS_TEXT:fontsize=32:fontcolor=black:box=1:boxcolor=white@1: boxborderw=5 , pad=iw+50:ih+50:iw/8:ih/8:color=red" $OUTPUT

它显示以下错误:

Too many inputs specified for the "movie" filter.
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument

有人能帮我吗?

您不需要电影过滤器。改为使用-i

ffmpeg -y -i "$INPUT" -i "$WATERMARK" -filter_complex "[0]scale=512:trunc(ow/a/2)*2[scale];[scale][1]overlay=$OVERLAY_SETTINGS_WATERMARK,noise=alls=$NOISE_INDEX:allf=t,drawtext=text=$TEXT:$OVERLAY_SETTINGS_TEXT:fontsize=32:fontcolor=black:box=1:boxcolor=white@1:boxborderw=5,pad=iw+50:ih+50:iw/8:ih/8:color=red" "$OUTPUT"

像那样使用电影滤镜是一种过时的、多年前遗留下来的方法。

最新更新