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

相關文章
相關標籤/搜索