我有一个带透明度的动画 GIF。我想将其转换为 MP4。当我这样做时,透明区域将填充完全不透明的白色。我想指定用于替换这些透明像素的颜色。我该怎么做?
- 请不要建议使用需要单独操作
convert
的gifsicle
。速度是首要考虑的。解决方案只需要使用ffmpeg
。谢谢。
答案1
使用
ffmpeg -f lavfi -i color=RRGGBB -i in.gif
-filter_complex "[0][1]scale2ref[bg][gif];[bg]setsar=1[bg];[bg][gif]overlay=shortest=1"
out.mp4
如果未指定颜色(十六进制),则将创建一个黑色的画布。在过滤器组合中,画布的大小被调整为与 GIF 大小相同,然后将 GIF 覆盖在其上。在 GIF 的透明区域内,背景会透过来显示。