Принятый ответ не дает точного результата. Elapsed time
похоже на часы реального мира, в то время как ImageMagick запускает анимацию. Вам нужно поле Delay
для каждого кадра и суммировать их.
$ identify -verbose fail.gif | grep Delay
Delay: 10x100
Delay: 10x100
Delay: 10x100
Delay: 10x100
Delay: 15x100
Delay: 10x100
Delay: 10x100
Delay: 10x100
Delay: 10x100
Delay: 10x100
Delay: 10x100
Delay: 10x100
Delay: 10x100
Delay: 10x100
Delay: 10x100
Delay: 10x100
Delay: 10x100
Delay: 10x100
Delay: 10x100
Delay: 10x100
Delay: 10x100
Delay: 33x100
Delay: 10x100
Delay: 10x100
Delay: 10x100
Где 33x100
- задержка в 330 мс.
Под редакцией Марка Сетчелла
На самом деле вы можете извлечь параметр задержки несколько более хирургически (чем при использовании grep
) с помощью экранирования %T
:
identify -format "%T\n" animation.gif
8
8
8
8
8
8
8
8
8
8
11
11
11
11
11
11
11
26
И получите сумму с awk
вот так:
identify -format "%T\n" anomation.gif | awk '{t+=$0} END{print t " centiseconds"}'
183 centiseconds