Я занимаюсь разработкой программы на 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.