LINUX.ORG.RU

Стриминг (в Ionic 2) и одновременная запись на встроенную SD с RPi + Camera module.

 , , , ,


1

2

Добрый день всем!

Передо мной стоит задача организации стриминга видео+аудио в RPi через Wi-Fi AP, с возможностью параллельной записи видео на SD карту (в идеале эти 2 процесса вообще не должны быть связаны).

Требования к стриму:

- Задержка < 500 ms (это самое главное требование, так как это будет камера заднего вида) - 720p 25fps со звуком (звук видимо пойдет с USB микрофона) - Видео должно нативно пониматься браузерами (включая safari). Так как для просмотра стрима используется Ionic 2 приложение (ios, android, chrome browser (another one RPi as viewer) ).

Требования к записи видео:

- 720p 25fps со звуком (либо лучше)

-----

За последние 5 дней я попробовал:

UV4L - пробовал его с USB камерой (в планах попробовать с Camera module), WebRTC с ней работать не стал. Зато стал работать MJPEG стрим, работал он плохо, отключался после 10 секунд и не работал в Safari вообще.

mjpeg-streamer - Круто работает, практически отсутствует задержка (не мерил но на глаз неощутима), при этом MJPEG успешно встроился в Ionic 2 приложения и отлично работает на iPhone и во всех браузерах.

В случае с MJPEG непонятно как передавать звук, пробовал настроить и оптимизировать darkice, не удалось побороть задержку (6 секунд!).

-----

Я понимаю что я только «капнул», и наверняка есть какие-то более продвинутые и простые решения, о чем и хотел у вас спросить.

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

----

Еще, насколько я понимаю что Camera module умеет кодировать в H264 аппаратно (без CPU затрат), тогда мне видится решение с ffmpeg / ffserver, только удастся ли добиться отсутствию задержки с ними? (раньше их пробовал, была задержка в несколько секунд при стриминге (опять же речь и USB камере без аппаратного кодирования)).

Наверное остался один вопрос: Можно ли сделать то что я хочу используя gstreamer пайплайны?

На данный момент это единственное решение котороя я вижу более или менее реальным.

Unmanner ()

На процессоре далеко не уедешь, либо 200 ваттный камень ставить, либо кодировать ASIC'ами, скажем, в H264.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.