基本上我是这样做的:
for i in *.mp4;
do ffmpeg -i "${i}" -vf "movie=logo.png [watermark]; [in][watermark] overlay=10:10 [out]" -strict -2 -qscale 0 "${i}-watermarked.mp4";
done;
但这有效地执行了该命令
do ffmpeg -i "video.mp4" -vf "movie=logo.png [watermark];\
[in][watermark] overlay=10:10 [out]" -strict -2 -qscale 0 "video.mp4-watermarked.mp4";
最后的位 - video.mp4-watermarked.mp4 是我的问题。我希望它是 video-watermarked.mp4。
我怎样才能做到这一点 ?
答案1
如果您使用 bash,请尝试使用${i%%.mp4}
。
对于你的例子来说,那将是:
for i in *.mp4;
do ffmpeg -i "${i}" -vf "movie=logo.png [watermark]; [in][watermark] overlay=10:10 [out]" -strict -2 -qscale 0 "${i%%.mp4}-watermarked.mp4";
done;
还有许多其他操作可能,你可能想在手册页中查找的术语是参数扩展。