如何用ffmpeg在video中心添加透明水印?

我正在使用这些命令:

Top left corner ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]" outputvideo.flv Top right corner ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out]" outputvideo.flv Bottom left corner ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" outputvideo.flv Bottom right corner ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=(main_w-overlay_w-10)/2:(main_h-overlay_h-10)/2 [out]" outputvideo.flv 

如何放置video的水印中心?

在video上叠加/水印图像的示例:

中心

在这里输入图像描述

 ffmpeg -i input.mp4 -i logo.png -filter_complex \ "overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" \ -codec:a copy output.mp4 

或缩短的覆盖选项:

 overlay=(Ww)/2:(Hh)/2 

左上angular

这是很容易的,因为默认情况下,如果不提供重叠选项,则将图像放在左上angular。

此示例添加了5个填充像素,以便图像不会触及边缘:

 overlay=5:5 

右上

有5个像素的填充:

 overlay=main_w-overlay_w-5:5 

或缩短选项:

 overlay=Ww-5:5 

底部右侧

有5个像素的填充:

 overlay=main_w-overlay_w-5:main_h-overlay_h-5 

或缩短选项:

 overlay=Ww-5:Hh-5 

左下方

有5个像素的填充:

 overlay=5:main_h-overlay_h 

或缩短选项:

 overlay=5:Hh-5 

笔记

  • 在这个例子中,audio被简单地stream式复制 (remuxed) -codec:a copy而不是被重新编码。 您可能需要重新编码,具体取决于您的输出容器格式。

  • 有关更多信息和示例,请参阅overlayvideofilter上的文档。

  • 有关获得高质量输出的更多信息,请参见FFmpeg H.264video编码指南 。

  • 如果您的图像被覆盖的是RGB色彩空间(如大多数PNG图像),那么如果将format=rbg添加到叠加层,则可能会看到视觉上的改进。 请注意,如果你这样做如果你输出H.264,那么你将不得不添加format=yuv420p (这是另一个文件pipe理器 – 它不同于覆盖filter中类似命名的选项)。 所以它可能看起来像这样:

     overlay=5:Hh-5:format=rgb,format=yuv420p