我们知道ffmpeg可以帮助我们在视频上叠加图像。我的目标是用背景为transparent的图像包装视频。
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 频道吗?
提前感谢!
发布于 2017-09-16 03:31:24
一个新的想法拯救了我。
ffmpeg caonver input.mp4 to input.gifImageMagick对overlay 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发布于 2017-09-12 21:26:29
您需要使用支持透明性的视频编解码器。默认情况下,mp4使用不支持alpha的H.264 (使用x264)。你可以看看VP8或VP9,哪个支持α。您还可以使用支持alpha (例如PNG)的图像编解码器代替视频编解码器(-c:v png)作为输出(如果压缩不是那么关键的话)。
发布于 2022-09-20 04:34:32
ffv1是一种很好的视频处理格式,它是无损的,并且保留了alpha通道。您可以覆盖到ffv1,然后转换为h264。这是一个相对较快的编解码器,唯一的缺点是临时文件将非常大。这种格式也给你切割时的帧精度。更多信息在这里:lossless-video-codec-supporting-alpha-channels
https://stackoverflow.com/questions/46147613
复制相似问题