Perl видео выход - PullRequest
0 голосов
/ 05 июля 2010

Каков наилучший способ сделать видео как вывод программы Perl?

Ответы [ 3 ]

1 голос
/ 06 июля 2010

Если вы можете выяснить, как создать поток данных, который может обрабатывать модуль ввода yuvmpeg4pipe в ffmpeg, то вы можете отправить свои данные в fifo, чтобы избежать попадания на диск с промежуточными данными.Поскольку yuvmpeg4pipe кажется просто потоком данных без заголовка, его довольно легко скопировать.

Эта ссылка может дать вам несколько идей: http://kylecordes.com/2007/pipe-ffmpeg

Вы также можете попробовать установитьили файл с отображенной памятью или ramdisk для записи.Но даже система с 16 гигабайтами оперативной памяти очень быстро заполняется при работе с несжатым видео.

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

Кроме того, работа с последовательностями изображений открывает возможность параллельной обработки на нескольких ядрах или даже на нескольких компьютерах.,Именно так многие коммерческие системы рендеринга видео достигают большей скорости.

1 голос
/ 05 июля 2010

видео что?Вы всегда можете использовать простую графическую библиотеку, такую ​​как GD, и множество ffmpeg , чтобы делать то, что вы хотите.

0 голосов
/ 05 июля 2010

НЕ РАБОТАЕТ !!!

ОБНОВЛЕНИЕ: Пожалуйста, игнорируйте приведенный ниже ответ - при чтении исходного кода FFmpeg ввод URL-адреса не транслируется - он просто загружается целиком в файли затем выполняется обычная обработка файлов: (

Я все еще оставляю ответ на тот случай, если кто-то, посмотрев позже, найдет наличие FFMpeg полезной информацией для обработки видео Perl, даже если это не поможет в этом конкретном случае.case.

ОРИГИНАЛЬНЫЙ ОТВЕТ FFmpeg не позволяет (на основе POD) разрешать источники в оперативной памяти, но разрешает источники, основанные на URL.По крайней мере, вы можете обойтись без необходимости выполнения дискового ввода-вывода путем потоковой передачи необработанных данных через Apache или некоторый веб-сервер меньшего размера и использования ввода URL-адреса FFmpeg для извлечения этих данных из http://localhost:yourport. Необработанные данные будут естественным образомзайти на веб-сервер из Perl-программы, работающей под mod_perl / FCGI

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