只需一步即可完成裁剪和水印

时间:2018-06-04 07:24:53

标签: ffmpeg

我们正在处理短视频。其中大多数是640x480,由手机录制。他们中的许多人左右都有黑框。 我想为视频加水印,目前正在使用此命令。

ffmpeg -i IN.mp4 -i WATERMARK.png -filter_complex "overlay=main_w-overlay_w-10:main_h-overlay_h-10" OUT.mp4

问题在于,如果有一个帧,部分水印就会出现在帧上,只有一部分出现在实际内容上。想要将水印放在实际内容的右下角。

这些是否可能或其他任何想法?

a,动态检测黑框并相应调整水印位置。

b,裁剪黑框并在同一步骤中正确加水印内容。

非常感谢你的帮助!

修改

我发现一步到位是不可能的。

1,我可以获得裁剪尺寸

ffmpeg -i INPUT.mp4 -t 2 -vf cropdetect -f null - 2>&1 | awk '/crop/ { print $NF }' | tail -1

2,然后裁剪视频

ffmpeg -i INPUT.mp4 -filter:v "crop=352:480:144:0" -c:a copy OUTPUT.mp4

3,然后给它添加水印

ffmpeg -i INPUT VIDEO.mp4 -i INPUT IMAGE.png -filter_complex "overlay=main_w-overlay_w-10:main_h-overlay_h-10" OUTPUT VIDEO.mp4

有没有办法将2和3合并为一个步骤?

1 个答案:

答案 0 :(得分:0)

  

有没有办法将2和3合并为一个步骤?

您可以使用分号加入单个过滤链

ffmpeg -i video.mp4 -i image.png -filter_complex "[0]crop=352:480:144:0[bg];[bg][1]overlay=main_w-overlay_w-10:main_h-overlay_h-10[v]" -map "[v]" -map 0:a -c:a copy output.mp4

有关其他信息,请参阅FFmpeg filter documentation