它可以是图像水印或文本水印。但我更喜欢文本水印。我无法找到上述问题的好解决方案。请帮助我。视频格式主要是 MP4 H.264 文件。文件的分辨率可能有所不同。如果我可以批量执行此操作,那就太好了,但截至目前,我对单个视频文件执行此操作没有问题。谢谢
答案1
我找到了两个选项:
使用
ffmpeg
:ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=1500:1000" output.mp4
使用
avconv
:avconv -i input.mp4 -i watermark.png -filter_complex 'overlay=x=main_w-overlay_w-10:y=main_h-overlay_h-10' output.mp4
信息:
ffmpeg
overlay= option
允许我指定图像左上角在视频上出现的位置。因此,请根据水印和视频的分辨率调整这些数字。以像素为单位指定覆盖层的特定位置 - 10:10 将视频置于距顶部 10 个像素和距左侧 10 个像素的位置。(x:y 坐标)avconv 的语法更复杂。可以使用 指定绝对位置,
overlay=x=1500:y=1000
也可以使用 指定相对位置overlay=x=main_w-overlay_w-10:y=main_h-overlay_h-10
。
来源:
https://shkspr.mobi/blog/2016/08/easy-ways-to-add-watermarks-to-images-and-videos-in-linux/
http://ksloan.net/watermarking-videos-from-the-command-line-using-ffmpeg-filters/