ffmpeg:為影片添加靜態水印

在ffmpeg中,添加水印需要用overlay濾鏡,這是一個複雜濾鏡,因為它需要兩個輸入,默認第一個輸入是主畫面,第二輸入為水印,先執行一個簡單的看看。
下面有兩個文件,一個是可愛的大雄兔,一個是可愛的doggie,咱們就把doggie加到大雄兔上面去
wm1
執行命令
ffmpeg -hide_banner -i big_buck_bunny.mp4 -i doggie2.png -filter_complex "overlay=x=0:y=0" out.mp4 -y
這個命令的作用是在影片的左上角添加水印,命令中的x和y表示水印在影片中的位置,影片左上角坐標為(0,0),向右向下延伸。

執行完成後,打開輸出文件,效果如下
wm2
是不是很簡單?huaji
簡單的看過了,下面來個稍微有一點點難度的

如果要把水印加到右上角,怎麼處理?

可能有的小夥伴會說,先看看影片和圖片的解析度啊,然後算一下x,不就可以了?
這樣當然是可以的,可是如果要批量處理不同解析度的影片呢?這時再用上面的方法恐怕會累死人吧。
為了解決上面問題,再引入四個參數:

  • main_w(W):主畫面的寬度
  • main_h(H):主畫面的高度
  • overlay_w(w):水印寬度
  • overlay_h(h):水印高度

有了這四個參數,再來看上面的問題
ffmpeg -hide_banner -i big_buck_bunny.mp4 -i doggie2.png -filter_complex "overlay=x=W-w:y=0" out.mp4 -y
上面的命令等效於
ffmpeg -hide_banner -i big_buck_bunny.mp4 -i doggie2.png -filter_complex "overlay=x=main_w-overlay_w:y=0" out.mp4 -y
執行後,看看輸出文件

wm3
咱們的小doggie跑到右上角去了。
有了上面的例子,那左下角、右下角怎麼放聰明的小夥伴肯定知道了吧,就不啰嗦了。

這篇只是添加一個圖片作為水印,現在的影片都不會這麼簡單了,通常都是動態的水印,或每隔一段時間出現一次,這種下篇再講吧,一步步來。

有問題請留言溝通,歡迎轉載,轉載請註明出處

部落格地址:暖寶寶官方認證鏟屎官

Tags: