на лету кодирование файлов изображений TGA в видео с помощью ffmpeg

1

Программное обеспечение, которое мы используем, генерирует 60 файлов TGA в секунду, и мы хотим создать видео из этих файлов. На данный момент мы делаем это с помощью домашнего решения, но я чувствую, что ffmpeg сделает это намного лучше. Действительно, видео, созданные из тех же файлов TGA, меньше, несмотря на использование тех же параметров кодека.

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

Как использовать ffmpeg для кодирования видео из файлов, созданных программным обеспечением на лету?

Proviste
источник

Ответы:

1

Похоже, вы можете использовать трубу. Пример использования cat в качестве замены вашего генератора TGA:

cat *.tga | ffmpeg -y -f image2pipe -c:v targa -pixel_format bgr24 -video_size 320x240 -framerate 24 -frame_size 38781 -i - output.mkv

К сожалению, вам придется знать размер в байтах каждого кадра заранее из-за отсутствия парсера TARGA, как упоминалось в Ошибка FFmpeg # 3614: Targa не работает с image2pipe , Я предполагаю, что каждый кадр будет одинакового размера, поэтому просто сделайте тестовый прогон, чтобы получить правильное значение.

llogan
источник
1
При использовании этого метода убедитесь, что ваше программное обеспечение не применяет RLE к выходу Targa, иначе размеры кадра будут другими.
Gyan
Может ли это работать с окнами? Я нашел очень мало документации для ffmpeg и труб под окнами
Proviste
@Proviste Да, это должно работать в Windows.
llogan