折腾了几天,问题却是解决了。如今把相关命令行写下,作个记录: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截图:linux
output.avi截图:shell
能够看到视频的作上角出现了我须要的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,致使添加水印失败,还好,失败是会有以下的提示信息:命令行
[overlay @ 02115140] main w:352 h:288 fmt:yuv420p overlay x:10 y:10 w:372 h:353
codefmt:yuva420p
[overlay @ 02115140] Overlay area (10,10)<->(382,363) not within the main area (
0,0)<->(352,288) or zero-sized
Error opening filters!