基本上,我正在编写一个脚本来自动化视频水印、边界插入和噪声添加。
当我使用以下组合时:
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"
像那样使用电影滤镜是一种过时的、多年前遗留下来的方法。