如何用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
而不是被重新编码。 您可能需要重新编码,具体取决于您的输出容器格式。 -
有关更多信息和示例,请参阅
overlay
videofilter上的文档。 -
有关获得高质量输出的更多信息,请参见FFmpeg H.264video编码指南 。
-
如果您的图像被覆盖的是RGB色彩空间(如大多数PNG图像),那么如果将
format=rbg
添加到叠加层,则可能会看到视觉上的改进。 请注意,如果你这样做,如果你输出H.264,那么你将不得不添加format=yuv420p
(这是另一个文件pipe理器 – 它不同于覆盖filter中类似命名的选项)。 所以它可能看起来像这样:overlay=5:Hh-5:format=rgb,format=yuv420p