Как обнаружить тики анимированного GIF в секунду? - PullRequest
6 голосов
/ 28 августа 2010

Я ищу способ определения (средней) частоты кадров анимированного GIF в Linux.Класс PHP Imagick, кажется, предоставляет эту функциональность, но я скорее избегаю установки тонны библиотек, чтобы заставить его работать.

http://www.php.net/manual/en/function.imagick-getimagetickspersecond.php

Есть ли простой способ сделать это?

Ответы [ 2 ]

8 голосов
/ 28 августа 2010

Я думаю, ImageMagick - действительно ваша лучшая ставка.

Вот как выглядит identify filename.gif на анимированном GIF:

gif.gif[1] GIF 350x350 350x350+0+0 8-bit PseudoClass 256c 145KB 0.000u 0:00.003
gif.gif[2] GIF 350x350 350x350+0+0 8-bit PseudoClass 256c 145KB 0.000u 0:00.006
gif.gif[3] GIF 350x350 350x350+0+0 8-bit PseudoClass 256c 145KB 0.000u 0:00.010

это не дает вам частоту кадров- что хорошо , потому что анимированные GIF-изображения не имеют глобальной частоты кадров, они имеют индивидуальную частоту кадров между кадрами.

5 голосов
/ 06 июля 2012

Вы можете настроить информационный формат того, что должен отображать identify в ImageMagick:

identify \
      -format "%T ticks:  %f: Frame[%s]  %m %wx%h %P%O %r %z-bit\n" \
       anim.gif

Это должно помочь.

Пример вывода:

 50 ticks:  anim.gif: Frame[0]  GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit
 10 ticks:  anim.gif: Frame[1]  GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit
 10 ticks:  anim.gif: Frame[2]  GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit
 10 ticks:  anim.gif: Frame[3]  GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit
 10 ticks:  anim.gif: Frame[4]  GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit
 50 ticks:  anim.gif: Frame[5]  GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit
 10 ticks:  anim.gif: Frame[6]  GIF 1x1 128x128+0+0 PseudoClass sRGB Matte 8-bit
 10 ticks:  anim.gif: Frame[7]  GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit
 10 ticks:  anim.gif: Frame[8]  GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit
 10 ticks:  anim.gif: Frame[9]  GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit
 10 ticks:  anim.gif: Frame[10]  GIF 128x128 128x128+0+0 PseudoClass sRGB Matte 8-bit
...