Bash 中的 FFMPEG - 为 "movie" 过滤器指定的输入过多
FFMPEG in Bash - Too many inputs specified for the "movie" filter
基本上,我正在编写一个脚本来自动添加视频水印、插入边框和添加噪声。
当我使用以下组合时:
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"
像这样使用电影滤镜是很多年前的一种过时的遗留方法。
基本上,我正在编写一个脚本来自动添加视频水印、插入边框和添加噪声。
当我使用以下组合时:
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"
像这样使用电影滤镜是很多年前的一种过时的遗留方法。