我使用OpenCV将mp4视频分解成若干帧,并在这些帧中添加一个不可见的水印,但提取的水印无法抵抗有损压缩方式。因此,我发现直接在mp4视频中嵌入不可见水印是不可能的,因为失真太大,所以我使用了基于离散余弦变换的水印方法。
我试着使用ffmpeg将mp4视频转换为yuv,以便在Y分量上添加水印,但似乎生成的YUV文件无法正常播放。
有没有办法在mp4文件中嵌入一个看不见的水印?
我的意思不是嵌入一个透明的水印(水印不需要调整它的透明度),而是嵌入一个可见的水印,使带水印的图像看起来不包含任何水印,换句话说,这就是所谓的不可见水印。
发布于 2017-08-30 17:50:30
水印应该是具有ALPHA通道(透明度)的PNG图像。您必须使用所需数量的alpha通道创建徽标。该值越低,不透明度越低。
可以使用answer中的简单ffmpeg命令添加水印
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通道,则它将保留在结果中。
https://stackoverflow.com/questions/45955360
复制相似问题