Я установил ffmpeg и mjpeg-streamer. Последний читает файл .jpg из /tmp/stream и выводит его через http на веб-сайт, поэтому я могу транслировать все, что находится в этой папке, через веб-браузер.
Я написал bash-скрипт, который непрерывно захватывает кадр с веб-камеры и помещает его в /tmp/stream:
while true
do
ffmpeg -f video4linux2 -i /dev/v4l/by-id/usb-Microsoft_Microsoft_LifeCam_VX-5000-video-index0 -vframes 1 /tmp/stream/pic.jpg
done
Это прекрасно работает, но очень медленно (~ 1 кадр/с). В надежде ускорить его, я хочу использовать одну команду ffmpeg, которая постоянно обновляет .jpg, скажем, со скоростью 10 кадров в секунду. Я пробовал следующее:
ffmpeg -f video4linux2 -r 10 -i /dev/v4l/by-id/usb-Microsoft_Microsoft_LifeCam_VX-5000-video-index0 /tmp/stream/pic.jpg
Однако это, по понятным причинам, приводит к сообщению об ошибке:
[image2 @ 0x1f6c0c0] Could not get frame filename number 2 from pattern '/tmp/stream/pic.jpg'
av_interleaved_write_frame(): Input/output error
... потому что шаблон вывода не годится для непрерывного потока изображений.
Можно ли транслировать только один jpg с помощью ffmpeg?
Спасибо...
ffmpeg
для преобразования его в поток FLV и скормил егоffserver
2) Для камеры с высокой пропускной способностью (30mb/sec) Мне пришлось разделить поток MJPEG на сигнатуру JFIF на отдельные файлы JPEG, а затем собрать их в 1-минутные фрагменты файлов MP4. Дело в том, что обновление JPEG на стороне клиента выглядит ужасно и раздражает, особенно когда он достаточно большой. - person David Jashi   schedule 14.07.2013./mjpg_streamer -i "input_uvc.so -r 1280×1024 -d /dev/video0 -y" -o "output_http.so -w ./www"
из каталога mjpg, что дает мне четкий вывод при высокой частоте кадров... ура! Спасибо за помощь. - person Germanunkol   schedule 18.07.2013