如何将具有透明度的水印渲染到视频中

时间:2013-07-01 17:37:43

标签: transparency opacity watermark avconv

我正在尝试将水印渲染成视频。当水印的图像文件(.png)包含透明度时,图像不再被渲染到视频中。如果我将该图像转换为.jpg并返回.png,则效果很好。如果我创建一个没有透明度的新png,它也可以。但是,当我添加例如对该图像的图层不透明度不再渲染。

我使用以下命令使用avconv 0.8.6-4:0.8.6-0ubuntu0.12.04.1

avconv -y -i video.mp4 -f 'movie=watermark.png [watermark]; [in][watermark] overlay=10:10 [out]' -c:v libx264 -t 255 -strict experimental out.mp4

如果我使用.gif作为水印,我会得到图像,但它都是不透明的。

有任何线索吗?

4 个答案:

答案 0 :(得分:1)

我的问题的答案很简单,虽然我花了一天时间才找到它。

我的Ubuntu发行版存储库附带的“普通”ffmpeg抱怨“c:v libx264”参数。 avconv知道这个参数但是有缺陷;它只是不呈现透明图像。

解决方案就像安装最新的ffmpeg版本一样简单(我选择了静态版本)。现在它就像一个魅力。 :)

答案 1 :(得分:0)

这就是我设法使用 avconv 版本0.8.6-6:0.8.6-1ubuntu2在mp4文件(左上角)上添加水印。

avconv -y -i source.mp4 -vf "movie=watermark.png [watermark]; [in][watermark] overlay=10:10 [out]" -c:v libx264 target.mp4

希望它有所帮助。

答案 2 :(得分:0)

如果您碰巧使用的是 ffmpeg-1.2 而不是avconv,那么该命令是公平的 简单:

ffmpeg -i source.mp4 -i logo.png -filter_complex 'overlay' -strict -2 outputmovie.mp4

这对我来说很好,透明度已融入logo.png文件。只要确保那里有alpha。这也假设logo.png文件与参考材料的大小相同。

答案 3 :(得分:0)

我使用透明的png图像,它对我有用。现在我可以在视频中看到水印背后的场景,因为png水印图像是透明的。 因此,只需通过photoshop编辑图像,并在图像中添加50%不透明度(或任何您想要的值)。