我在试着把水印渲染成视频。当水印的图像文件(.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作为水印,我会得到图像,但它完全是不透明的。
有什么线索吗?
发布于 2013-07-04 21:32:03
我的问题的答案很简单,尽管我花了一天时间才找到它。
我的Ubuntu发行版的存储库附带的“正常”libx264抱怨"c: v ffmpeg“参数。avconv知道这个参数,但它有错误;它只是不能渲染透明的图像。
解决方案非常简单,只需安装最新的ffmpeg版本(我选择了静态版本)。现在它就像一个护身符一样起作用。:)
发布于 2013-09-22 04:30:57
这就是我是如何用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希望这能帮助到别人。
发布于 2014-02-22 03:15:33
如果您碰巧使用的是ffmpeg-1.2而不是avconv,那么该命令是相当简单的:
ffmpeg -i source.mp4 -i logo.png -filter_complex 'overlay' -strict -2 outputmovie.mp4这对我来说工作得很好,因为透明度被烘焙到了logo.png文件中。只要确保那里有一个alpha就行了。这还假设logo.png文件与参考材质的大小相同。
https://stackoverflow.com/questions/17410394
复制相似问题