Преобразование потока файлов JPG в поток FLV - PullRequest
2 голосов
/ 15 апреля 2009

Я работаю с камерой Panasonic hcm280a, которой можно управлять с помощью моего программного обеспечения. Она генерирует поток огромных файлов JPEG, и я хочу преобразовать этот поток в поток FLV, предпочтительно с хорошим коэффициентом сжатия

FFMpeg это делает? Я в основном ищу готовое программное обеспечение с открытым исходным кодом (или коммерческое программное обеспечение), которое может генерировать потоковое мультимедиа для меня. Опять же, мой ввод - это поток файлов jpg, которые приходят с сервера камеры.

Любое понимание или комментарий будет принята с благодарностью Спасибо

Ответы [ 4 ]

3 голосов
/ 15 апреля 2009

Ответы на на этот вопрос подтверждают, что FFmpeg может создавать видео из последовательности изображений. Тем не менее, там нет подробностей.

В FFmpeg FAQ вы можете найти:

3.2 Как кодировать отдельные изображения в фильмы?

Во-первых, переименуйте свои фотографии, следуя числовой последовательности. Например, img1.jpg, img2.jpg, img3.jpg, ... Тогда вы можете выполнить:

ffmpeg -f image2 -i img%d.jpg /tmp/a.mpg

Обратите внимание, что %d заменяется номером изображения.

img%03d.jpg означает последовательность img001.jpg, img002.jpg и т. Д. *

Та же логика используется для любого формата изображения, который читает ffmpeg.

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

Движение выводит FLV-файлы, используя ffmpeg: http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome Вы можете отключить обнаружение движения и заставить его выводить непрерывно (см. 'output_all on' 'ffmpeg_video_codec flv').

1 голос
/ 15 апреля 2009

Чтобы сделать это с ffmpeg. Я предполагаю, что ваши кадры имеют имена frame0000.jpg, frame0001.jpg, ...

ffmpeg -f image2 -r 1 -i frame%04d.jpg  -s 320x240 -y -an -r 24 out.flv

-r 1 говорит, что входной поток - один кадр в секунду (одно изображение в секунду), выберите тот, который вам нравится -s 320x240 масштабирует все кадры -y -an для перезаписи выходного файла и отключения записи звука -r 24 чтобы иметь 24 кадра в секунду в выходном потоке

Вы также можете рассмотреть возможность размещения -sameq посередине, чтобы максимально сохранить качество.

Чтобы правильно переименовать все ваши кадры, вы можете использовать этот bash на один вкладыш:

i=0 ; for f in *.jpg ; do mv "$f" $(printf "frame%04d.jpg" $i) ; i=$((i+1)) ; done
1 голос
/ 15 апреля 2009

Это не совсем ответ на ваш вопрос, но www.doom9.org является отличным источником информации, связанной с видео, стоит ознакомиться с загрузками и руководствами

...