Извлечь задержку между каждым GIF-кадром в Python - PullRequest
0 голосов
/ 20 ноября 2018

Я занимаюсь разработкой программы на Python, которая создает видео из файла HTML.Файл HTML может содержать один анимированный GIF, и мне нужно сохранить анимацию в окончательном видео.

Мне уже удалось извлечь каждый кадр из GIF, вдохновленный методом, представленным в следующем GitHub Gist:

https://gist.github.com/revolunet/848913

import os
from PIL import Image


def extractFrames(inGif, outFolder):
    frame = Image.open(inGif)
    nframes = 0
    while frame:
        frame.save( '%s/%s-%s.gif' % (outFolder, os.path.basename(inGif), nframes ) , 'GIF')
        nframes += 1
        try:
            frame.seek( nframes )
        except EOFError:
            break;
    return True


extractFrames('ban_ccccccccccc.gif', 'output')

Я заменил источник GIF в HTML на каждый из этих кадров и сгенерировал все кадры конечного видео с помощью PhantomJS.

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

Я не нашел способа достичь этого в Python.

...