ffmpeg:如何为所有视频输出添加水印?

时间:2017-08-30 02:05:07

标签: shell video filter ffmpeg watermark

我有一个简单的代码来获取我的视频文件(在我的文件夹中)并将它们转换为480x360:

for %f in (*.mp4) do ffmpeg -i "%f" -vcodec libx264 -s 352x240 -acodec copy -f mp4 "%~nf-240p.mp4" -vcodec libx264 -s 480x360 -acodec copy -f mp4 "%~nf-360p.mp4"

它可以正常工作,但我想添加一个带有以下选项的水印:

-i watermark.png -filter_complex "overlay=10:10"

添加以下选项后:

for %f in (*.mp4) do ffmpeg -i "%f" -i watermark.png -filter_complex "overlay=10:10" -vcodec libx264 -s 352x240 -acodec copy -f mp4 "%~nf-240p.mp4" -vcodec libx264 -s 480x360 -acodec copy -f mp4 "%~nf-360p.mp4"

它只是在240p.mp4上添加了水印。如何将此过滤器应用于所有文件?

感谢。

1 个答案:

答案 0 :(得分:0)

使用

for %f in (*.mp4) do
    ffmpeg -i "%f" -vf "movie=watermark.png[wm];[in][wm]overlay=10:10"
           -vcodec libx264 -s 352x240 -acodec copy -f mp4 "%~nf-240p.mp4"
                  -vf "movie=watermark.png[wm];[in][wm]overlay=10:10"
           -vcodec libx264 -s 480x360 -acodec copy -f mp4 "%~nf-360p.mp4"