我目前正在使用以下命令:
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
如何在视频中放置水印中心?
发布于 2012-06-07 03:29:56
使用overlay过滤器在视频上添加水印/徽标图像的示例。
居中
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
透明度/不透明度/ alpha
使用format和colorchannelmixer过滤器使水印50%透明的示例:
ffmpeg -i input.mp4 -i watermark.jpg -filter_complex "[1]format=rgba,colorchannelmixer=aa=0.5[logo];[0][logo]overlay=(W-w)/2:(H-h)/2:format=auto,format=yuv420p" -c:a copy output.mp4
提高了质量
在overlay过滤器中使用PNG选项可以使PNG水印看起来更好:
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=5:H-h-5:format=auto,format=yuv420p" -c:a copy output.mp4
注意添加了format过滤器(是的,与选项同名,但是一个独立的过滤器),将其重置为MP4输出所需的YUV4:2:0。如果不输出MP4,请删除,format=yuv420p
。
与主视频相关的缩放水印
使用scale2ref过滤器:
将logo设置为主视频大小的10% (1/10)的示例:
ffmpeg -i input.mp4 -i watermark.png -filter_complex "[1][0]scale2ref=w=oh*mdar:h=ih*0.1[logo][video];[video][logo]overlay=5:H-h-5" -c:a copy output.mp4
https://stackoverflow.com/questions/10918907
复制相似问题