Можете ли вы «передавать» изображения в ffmpeg для создания видео вместо сохранения их на диск?

Моя работа в последнее время заключается в программном создании видео. В python типичный рабочий процесс выглядит примерно так:

import subprocess, Image, ImageDraw

for i in range(frames_per_second * video_duration_seconds):
    img = createFrame(i)
    img.save("%07d.png" % i)

subprocess.call(["ffmpeg","-y","-r",str(frames_per_second),"-i", "%07d.png","-vcodec","mpeg4", "-qscale","5", "-r", str(frames_per_second), "video.avi"])

Этот рабочий процесс создает изображение для каждого кадра в видео и сохраняет его на диск. После того, как все изображения были сохранены, вызывается ffmpeg для создания видео из всех изображений.

Сохранение изображений на диск (а не создание изображений в памяти) занимает здесь большую часть циклов и не является необходимым. Есть ли способ выполнить ту же функцию, но без сохранения изображений на диск? Таким образом, будет вызван ffmpeg, и изображения будут созданы и переданы в ffmpeg сразу после создания.

Ответы на вопрос(1)

Ваш ответ на вопрос