ffmpeg水印

原文:http://www.dewen.org/q/7905


折腾了几天,问题倒是解决了。现在把相关命令行写下,做个记录:

 
   
  1. 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截图:

output.avi截图:

可以看到视频的做上角出现了我需要的logo。
若是要在其他位置添加logo需要做如下修改即可:
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:main_h-overlay_h-10 [out]" outputvideo.flv
参考链接:How to watermark a video using FFmpeg

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

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

 
   
  1. [overlay @ 02115140] main w:352 h:288 fmt:yuv420p overlay x:10 y:10 w:372 h:353
  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

你可能感兴趣的:(ffmpeg水印)