如何使用ffmpeg在视频中心添加透明水印?


75

我目前正在使用以下命令:

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

如何放置视频的水印中心?


2
右下角是事实:ffmpeg –i inputvideo.avi -vf“ movie = watermarklogo.png [水印]; [in] [水印] overlay = main_w-overlay_w-10:main_h-overlay_h-10 [out]” outputvideo.flv
塞巴斯蒂安·帕滕2014年

Answers:


180

使用覆盖滤镜在视频上添加水印/徽标图像的示例。

居中

在此处输入图片说明

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

使用formatcolorchannelmixer过滤器使水印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

品质提升

使用覆盖滤镜中的format=auto选项可以使PNG水印看起来更好:

ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=5:H-h-5:format=auto,format=yuv420p" -c:a copy output.mp4

请注意,添加了格式过滤器(是,名称与该选件相同,但是是一个独立的过滤器),以将其重置为YUV 4:2:0,这是MP4输出所必需的。,format=yuv420p如果您不输出MP4,请删除。

相对于主视频缩放水印

使用scale2ref过滤器:

将徽标的大小设为主视频大小的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

@HarishKumar将flv替换为mp4。
llogan'1

3
我们如何将水印缩放为视频宽度的2/3并保持水印的比例,您能帮忙

1
我正在尝试使用FFMPEG版本n2.4.2在Android上运行此程序,并且收到错误消息:没有这样的过滤器:““ overlay”,有什么想法吗?
Hungry Androider 16'Apr 4'19

3
@LordNeckbeard驴图片发生了什么:D
mirza

1
@AarifAli如果您没有提供实际错误,我将无济于事。
洛根
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.