使用 ffmpeg 将 GIF 转换为 MP4 时指定背景颜色

使用 ffmpeg 将 GIF 转换为 MP4 时指定背景颜色

我有一个带透明度的动画 GIF。我想将其转换为 MP4。当我这样做时,透明区域将填充完全不透明的白色。我想指定用于替换这些透明像素的颜色。我该怎么做?

  • 请不要建议使用需要单独操作convertgifsicle。速度是首要考虑的。解决方案只需要使用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 的透明区域内,背景会透过来显示。

相关内容