Используя ваш пример, я определил проблему:
В вашем GIF последний (пустой) кадр имеет продолжительность 10370ms
. Кажется, это игнорируется ffmpeg
, создавая разницу.
Если я изменю формат вывода на .mp4
, продолжительность станет правильной. Смена кодера не имеет никакого эффекта.
Итак, это ошибка в ffmpeg
. Это может быть связано с ограничением формата вывода, что очень маловероятно (проблема также существует .mkv
), но в этом случае следует, по крайней мере, напечатать предупреждение. Просматривая их баг-трекер, я обнаружил, что # 4235 (преобразование GIF в MP4 с использованием FFmpeg дает видео, которое не соответствует времени кадров GIF.) - похоже, это было исправлено для .mp4
формата, но не для других.