Есть ли более быстрый способ генерировать видео из пиксельных массивов, используя python и ffmpeg? - PullRequest
0 голосов
/ 06 мая 2019

Я нашел несколько источников, которые используют python и ffmpeg для генерации видео из массивов пикселей, передавая флаг -f rawvideo 1 2 .Тем не менее, это очень медленно для видео высокой четкости, поскольку каждый отдельный пиксель должен передаваться в ffmpeg.

На самом деле это доказуемо расточительно, так как я обнаружил, что 2,5 ГБ пиксельных массивов генерируют около 80 КБ видео,Я также случайно натолкнулся на некоторые примеры, когда javascript может воспроизводить высококачественные анимации в почти реальном времени 1 , что делает меня еще более подозрительным, что я делаю что-то не так.

Есть лиспособ сделать это более эффективно, возможно, путем передачи различий между массивами пикселей в ffmpeg, а не в сами пиксели?

(edit) Эта строка , которую я использую.Большинство казней используют следующий путь else.

1 Ответ

0 голосов
/ 07 мая 2019

Сырое, несжатое видео требует много памяти, поэтому оно должно быть сжато как можно раньше.Но самое раннее в вашем случае, когда он достиг ffmpeg - вы не хотите разрабатывать видеокодер.По сути, конвейерная передача - это передача буферов памяти между процессами, поэтому при правильной работе (например, передача полных кадров вместо небольших буферов) не будет больших накладных расходов.

Рендеринг анимации - это другая задачачем сжатие видео, поэтому нет смысла сравнивать.

Какие параметры сжатия видео вы используете?Покажите нам полную командную строку ffmpeg.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...