我使用 FFmpeg 导出到动画 gif 中的一些动画在帧相同的地方有较长的停顿。FFmpeg 有没有办法检测到这种情况并将它们编码为具有较长停顿时间的单个帧?换句话说,合并相同的帧。我目前使用
-vf palettegen=stats_mode=full
-f gif -lavfi paletteuse=diff_mode=rectangle:dither=none -loop -1
因此文件大小非常大。使用 ezgif 优化后,通过合并帧可以使文件大小大大减小。
答案1
虽然不使用ffmpeg
,你可以尝试用另一个流行的命令行工具来实现这一点图像魔术师。
该工具更适合于图像处理/操作ffmpeg
(用于视频处理),并且似乎是 ezgif 网站在后台最有可能使用的工具。
查看他们的删除重复帧选项(以及那里的所有其他优化):
https://imagemagick.org/Usage/anim_opt/#removedups