GIF 尺寸太大?

GIF 尺寸太大?

我正在尝试从 MP4 视频文件中提取 GIF。

现在我有两种方法可以实现这个功能:

1) 常规的:

ffmpeg -t 7.7 -ss 00:22:53 -i video.mp4 -i palette.png -s 320x174 -filter_complex "fps=15" output.gif

它会产生一个大小为 1.6MB 的文件。

2)

ffmpeg -t 7.7 -ss 00:22:53 -i video.mp4 -i palette.png -filter_complex "fps=15,scale=320:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif

这会得到一个更好看的文件,但文件大小为 4.5MB(增加了 181%)。它使用一个 16x16 调色板文件,我用

ffmpeg -y -t 7.7 -ss 00:22:53 -i video.mp4 -vf fps=15,scale=320:-1:flags=lanczos,palettegen palette.png

现在我不太明白为什么 2 个具有相同 fps、持续时间和分辨率的 GIF 的大小会有如此大的差异。我的直觉是,它们应该是相同的。为什么会有这种差异?有没有办法在不损失质量的情况下将 2) 的大小缩小到 1) 的大小?

谢谢

答案1

由于 GIF 的工作方式,调色板越复杂,生成的 gif 就会很快变得更大。

我将使用 GIMP 来优化#2 生成的 GIF - 不是 100% 确定它是如何工作的,但我认为它基本上会从一帧到下一帧删除重复的信息。

GIMP 截图

相关内容