首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >怎样才能保持透明?

怎样才能保持透明?
EN

Stack Overflow用户
提问于 2017-09-11 03:01:37
回答 3查看 5K关注 0票数 3

我们知道ffmpeg可以帮助我们在视频上叠加图像。我的目标是用背景为transparent的图像包装视频。

代码语言:javascript
运行
复制
ffmpeg -i device/nexus5_portrait.png -i device/input.mp4\
-filter_complex "overlay=(W-w)/2:(H-h)/2:enable='between(t,0,5)'"\
-b:v 16M -bufsize 16M device/output.mp4;

Output.mp4的背景是黑色的。那么有什么方法可以保留alpha 频道吗?

提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-16 03:31:24

一个新的想法拯救了我。

  • 使用ffmpeg caonver input.mp4 to input.gif
  • 使用ImageMagickoverlay input.gif进行nexus5_portrait.png。 -i input.mp4 -b:v 16M input.gif magick image.png null:( input.gif -coalesce ) -gravity Center -layers -layers des.gif
票数 0
EN

Stack Overflow用户

发布于 2017-09-12 21:26:29

您需要使用支持透明性的视频编解码器。默认情况下,mp4使用不支持alpha的H.264 (使用x264)。你可以看看VP8或VP9,哪个支持α。您还可以使用支持alpha (例如PNG)的图像编解码器代替视频编解码器(-c:v png)作为输出(如果压缩不是那么关键的话)。

票数 2
EN

Stack Overflow用户

发布于 2022-09-20 04:34:32

ffv1是一种很好的视频处理格式,它是无损的,并且保留了alpha通道。您可以覆盖到ffv1,然后转换为h264。这是一个相对较快的编解码器,唯一的缺点是临时文件将非常大。这种格式也给你切割时的帧精度。更多信息在这里:lossless-video-codec-supporting-alpha-channels

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46147613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档