2017-08-30 122 views
1

我已經使用ffmpeg將mp4視頻分解爲多個幀,並使用OpenCV向這些幀中添加不可見水印,但提取的水印無法抵抗有損壓縮方式。因此,我發現無法直接在mp4視頻中嵌入隱形水印,因爲失真太大,所以我使用基於DCT的水印方法。如何爲mp4視頻添加水印?

我試圖使用ffmpeg將mp4視頻轉換爲yuv,以便對Y分量進行水印處理,但似乎產生的YUV文件無法正常播放。

有什麼辦法可以將隱形水印嵌入到mp4文件中嗎?

我的意思是不要嵌入透明水印(不需要水印來調整其透明度),而是嵌入可見水印,使水印圖像看起來不含任何水印,換句話說,這被稱爲不可見水印。

+0

答案中添加的水印不透明。 – md612

+0

[如何使用ffmpeg在視頻中心添加透明水印?](https://stackoverflow.com/questions/10918907/how-to-ad-transparent-watermark-in-center-of-a-視頻與-的ffmpeg) –

回答

0

水印應該是一個帶有ALPHA通道(透明度)的PNG圖像。您必須創建具有所需數量Alpha通道的徽標。數值越低,不透明度越低。

水印可以用一個簡單的ffmpeg命令是在answer

ffmpeg -i input.mp4 -i logo.png -filter_complex \ 
"overlay=(W-w)/2:(H-h)/2" \ 
-codec:a copy output.mp4 

其中W, H指視頻的大小和w, h指徽標的尺寸來添加。如果徽標具有Alpha通道,則會保留在結果中。