折騰了幾天,問題卻是解決了。如今把相關命令行寫下,作個記錄: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!