2017-08-30 172 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通道,则会保留在结果中。