3

我正在尝试将水印渲染到视频中。当水印的图像文件 (.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

4 回答 4

1

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

我的 Ubuntu 发行版存储库附带的“正常”ffmpeg 抱怨“c:v libx264”参数。avconv 知道那个参数但是有问题;它只是不渲染透明图像。

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

于 2013-07-04T13:32:03.263 回答
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

希望它可以帮助某人。

于 2013-09-21T20:30:56.730 回答
0

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

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

这对我来说很好,logo.png文件中包含透明度。只要确保那里有一个阿尔法。这也假设logo.png文件与参考材料的大小相同。

于 2014-02-21T19:15:32.580 回答
0

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

于 2015-06-25T09:10:51.690 回答