ffmpeg如何给视频添加水印(watermark)

折腾了几天,问题却是解决了。如今把相关命令行写下,作个记录:php

G:\TOOLS\ffmpeg-0.8-win32-bin>ffmpeg -i input.avi -vf "movie=logo.png [logo]; [in][logo] overlay=10:10 [out]" output.avi

效果以下:
input.avi截图:
input.avilinux

output.avi截图:
output.avishell

能够看到视频的作上角出现了我须要的logo。
如果要在其余位置添加logo须要作以下修改便可:
Top left corner
ffmpeg -i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]" outputvideo.flvide

Top right corner
ffmpeg -i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out]" outputvideo.flvpost

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:main_h-overlay_h-10 [out]" outputvideo.flv
参考连接:How to watermark a video using FFmpegspa

以前一直有问题,是ffmpeg用的版本不对,老版本的ffmpeg用的-vhook,新版本用的-vf参数,这里须要注意区别。(我如今用的ffmpeg0.8版本).net

还有个问题就是logo的大小不能大于视频帧的大小,以前也是测试没有注意,随便整了一个比视频尺寸大的logo.jpg,致使添加水印失败,还好,失败是会有以下的提示信息:命令行


  1. [overlay @ 02115140] main w:352 h:288 fmt:yuv420p overlay x:10 y:10 w:372 h:353
    code

  2. fmt:yuva420p

  3. [overlay @ 02115140] Overlay area (10,10)<->(382,363) not within the main area (

  4. 0,0)<->(352,288) or zero-sized

  5. Error opening filters!

参考连接:ffmpeg - how to add watermark to a video via shell

相关文章
相关标签/搜索