我目前正在使用这些命令:
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
如何放置视频的水印中心?
答案 0 :(得分:133)
在视频上叠加/水印图像的示例:
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=(W-w)/2:(H-h)/2
这很简单,因为默认情况下,如果您不提供叠加选项,则将图像放在左上角。
此示例添加5个像素的填充,因此图像不会触及边缘:
overlay=5:5
使用5个像素的填充:
overlay=main_w-overlay_w-5:5
或使用缩短的选项:
overlay=W-w-5:5
使用5个像素的填充:
overlay=main_w-overlay_w-5:main_h-overlay_h-5
或使用缩短的选项:
overlay=W-w-5:H-h-5
使用5个像素的填充:
overlay=5:main_h-overlay_h
或使用缩短的选项:
overlay=5:H-h-5
在此示例中,音频只是stream copied(重新加载)-codec:a copy
而不是重新编码。您可能需要根据输出容器格式重新编码。
有关详细信息和示例,请参阅overlay
视频过滤器上的文档。
有关获得高质量输出的详情,请参阅FFmpeg H.264 Video Encoding Guide。
如果覆盖的图像是RGB色彩空间(例如大多数PNG图像),如果将format=rbg
添加到叠加层,则可能会看到视觉上的改善。请注意,如果您执行此操作和,如果您正在输出H.264,那么您将必须添加format=yuv420p
(这是另一个文件管理器 - 它与之类似命名的选项不同叠加滤镜)。所以它可能看起来像这样:
overlay=5:H-h-5:format=rgb,format=yuv420p