Node.js ImageMagick识别报告不正确的GIF帧计数

Node.js ImageMagick识别报告不正确的GIF帧计数,node.js,imagemagick,gif,node-imagemagick,imagemagick-identify,Node.js,Imagemagick,Gif,Node Imagemagick,Imagemagick Identify,我正在使用ImageMagick处理GIF图像 我的一个步骤是确定图像中的帧数。 我通过以下方式(及更高版本)呼叫identification: identify -format '%T,%w,%h ' test.gif 大多数情况下,我正确地获得53帧的53个空间分隔值。 但是,有时我会对同一个GIF图像得到47或50帧(有53帧) 这怎么可能发生 我正在同时运行convert-coalesce-append test.gif other.gif,但它不应该触及原始图像,对吗?此外,我检查了

我正在使用ImageMagick处理GIF图像

我的一个步骤是确定图像中的帧数。
我通过以下方式(及更高版本)呼叫
identification

identify -format '%T,%w,%h ' test.gif
大多数情况下,我正确地获得53帧的53个空间分隔值。
但是,有时我会对同一个GIF图像得到47或50帧(有53帧)

这怎么可能发生

我正在同时运行
convert-coalesce-append test.gif other.gif
,但它不应该触及原始图像,对吗?此外,我检查了原始图像,即使报告了错误的帧数,原始图像也很好

我甚至不能始终如一地复制这个。我在哪里寻找问题

当我同时运行多个ImageMagick进程(在不同的文件上)时,似乎会发生这种情况

我使用的是ImageMagick 6.8.7-9 Q16 x86_64 2013-12-11

有关图像:


(但我在其他图像上也遇到过这种情况。)

这根本不是ImageMagick的问题。
我将图像下载到服务器的代码有错误,总是跳过最后50个字节左右


这很容易被忽略,因为它不会严重影响GIF的质量。

你能为你的图像建立一个链接吗?@dlemstra:当然,刚刚添加了它。但是,我在另一幅图像上也遇到了这个问题。在格式字符串中添加一个
%s
,以获取帧编号(“场景”)。也许您可以确定一个帧是在解码过程中被丢弃的,是从前端丢弃的,还是在结尾丢弃的。使用
-verbose
也会转储大量信息,包括每帧的“X/Y”字符串。@Charles:你比我强!请继续关注,我正在发布一个解释。