为什么这个gif似乎有0ms的持续时间?我怎样才能找到真实的持续时间?

时间:2014-02-14 23:00:54

标签: image-processing gif animated-gif

我正在尝试从动画gif文件中获取持续时间和帧数,以便我可以计算gif的平均帧速率,然后将其转换为视频。

我最近在测试期间遇到过这张图片,似乎让所有人都相信它的持续时间为0毫秒。

enter image description here

为什么呢?我怎样才能找到真实的持续时间?

到目前为止,我已经尝试过:

  • exiftool

    exiftool -v image.gif

  • ImageMagick

    识别-verbose -format“Frame%s:%Tcs \ n”image.gif

  • This Python script使用Python Imaging Library

  • 还有其他几个用于动画gif动画的程序,如Microsoft Gif Animator

1 个答案:

答案 0 :(得分:6)

此GIF动画的实际持续时间确实为零秒。它有41帧,每帧的帧持续时间为零。 (它也有一个格式错误的XMP记录,但这与此无关。)

无限帧速率显然是非常愚蠢的,并且没有理由为什么你的浏览器甚至不愿意尝试显示它。事实上,你的浏览器减慢了这样的GIF动画的帧速率,这样它们实际上可以合理地显示,而不会占用你的处理器或给你癫痫发作。

没有特定的标准行为,但通常任何帧延迟小于0.05或每帧0.06秒的GIF都可能被网络浏览器放慢速度。

<强>参考文献:

http://blogs.msdn.com/b/ieinternals/archive/2010/06/08/animated-gifs-slow-down-to-under-20-frames-per-second.aspx

http://forums.mozillazine.org/viewtopic.php?t=108528