Создание фильма из Python без сохранения отдельных кадров в файлы

Я хотел бы создать фильм в формате h264 или divx из кадров, которые я генерирую в скрипте python в matplotlib. В этом фильме около 100 тыс. Кадров.

В примерах в сети [например. 1], я видел только метод сохранения каждого кадра в формате png и последующего запуска mencoder или ffmpeg для этих файлов. В моем случае сохранение каждого кадра нецелесообразно. Есть ли способ взять график, сгенерированный из matplotlib, и передать его непосредственно в ffmpeg, не создает промежуточных файлов?

Программирование с помощью C-api ffmpeg для меня слишком сложно [например. 2]. Кроме того, мне нужна кодировка с хорошим сжатием, например x264, поскольку в противном случае файл фильма будет слишком большим для следующего шага. Так что было бы здорово придерживаться mencoder / ffmpeg / x264.

Есть ли что-то, что можно сделать с помощью каналов [3]?

[1] http://matplotlib.sourceforge.net/examples/animation/movie_demo.html

[2] Как с помощью x264 C API кодировать серию изображений в H264?

[3] http://www.ffmpeg.org/ffmpeg-doc.html#SEC41

68
задан Community 23 May 2017 в 12:26
поделиться