Программно генерируйте видео или анимированный GIF в Python?

str = '/create   channel welcome message, hello there, any words you like...'

str.split(/\s+/,3).drop(1)
  #=> ["channel", "welcome message, hello there, any words you like..."]

См. String # split , в частности, использование необязательного второго аргумента, limit.

188
задан FogleBird 15 April 2009 в 08:59
поделиться

5 ответов

Ну, теперь я использую ImageMagick. Я сохраняю свои кадры в виде файлов PNG, а затем запускаю ImageMagick convert.exe из Python для создания анимированного GIF-файла. Хорошая вещь об этом подходе - я могу указать длительность кадра для каждого кадра отдельно. К сожалению, это зависит от того, какой ImageMagick установлен на машине. У них есть оболочка Python, но это выглядит довольно дрянно и не поддерживается. По-прежнему открыты для других предложений.

42
ответ дан FogleBird 23 November 2019 в 05:42
поделиться

Это не библиотека Python, но Mencoder может сделать это: Кодирование из нескольких файлов входных изображений , Вы можете выполнить mencoder из python следующим образом:

import os

os.system("mencoder ...")
5
ответ дан willurd 23 November 2019 в 05:42
поделиться

Вы пробовали PyMedia ? Я не уверен на 100%, но похоже, что этот учебный пример нацелен на вашу проблему.

4
ответ дан 23 November 2019 в 05:42
поделиться

Для создания видео вы можете использовать opencv ,

#load your frames
frames = ...
#create a video writer
writer = cvCreateVideoWriter(filename, -1, fps, frame_size, is_color=1)
#and write your frames in a loop if you want
cvWriteFrame(writer, frames[i])
18
ответ дан 23 November 2019 в 05:42
поделиться

По состоянию на июнь 2009 года в первоначально процитированной записи блога в комментариях появился метод создания анимированных GIF. Скачайте скрипт images2gif.py (ранее images2gif.py, обновление любезно предоставлено @geographika).

Затем, чтобы поменять местами кадры в gif, например:

#!/usr/bin/env python

from PIL import Image, ImageSequence
import sys, os
filename = sys.argv[1]
im = Image.open(filename)
original_duration = im.info['duration']
frames = [frame.copy() for frame in ImageSequence.Iterator(im)]    
frames.reverse()

from images2gif import writeGif
writeGif("reverse_" + os.path.basename(filename), frames, duration=original_duration/1000.0, dither=0)
42
ответ дан 23 November 2019 в 05:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: