RTMP для браузера - PullRequest
       39

RTMP для браузера

0 голосов
/ 15 сентября 2018

Я ищу очень простой способ конвертировать поток RTMP (с IP-камеры) в то, что я могу использовать в браузере. В идеале этот сервер должен считывать URL-адрес rtmp:// моей камеры, перекодировать поток, а затем отправлять поток на сервер в формате, который я могу использовать в теге <video> на веб-странице.

Однако я понимаю, что HTML5 и тег <video> не поддерживают потоковую передачу в реальном времени. Поэтому я остался, используя HLS или DASH. Насколько я понимаю, HLS поддерживается практически всеми устройствами (меня интересует только браузер Chrome на рабочем столе Linux и на устройстве Android).

Так какой же самый простой способ преобразовать поток rtmp:// в HLS? Я пытался использовать nginx-rtmp-module (https://github.com/ut0mt8/nginx-rtmp-module),, но после перекомпиляции Nginx я не могу заставить файл конфигурации работать правильно. Я также столкнулся с проблемой, что мой rtmp:// URL, похоже, не соответствует «стандартному» шаблону rtmp://localhost/$app/$name, который я вижу в большей части документации. Мой выглядит следующим образом: rtmp://192.168.1.103:1935/flash/1:YWRtaW46YWRtaW4=, где последняя часть представляет собой имя пользователя и пароль (admin / admin), закодированные в Base64.

В конечном счете, у меня есть несколько камер, и я хочу сделать простую страницу, на которой я могу отобразить их все. Какой самый простой способ сделать это в Linux?

1 Ответ

0 голосов
/ 18 сентября 2018

Для тех, кто может искать что-то подобное, я смог использовать ZoneMinder . Он настраивает сервер, который делает точно , что я хочу: преобразовать поток RTSP во что-то, что может быть отображено в браузере с помощью тега img. Вы можете выяснить URL-адрес источника изображения, просто проверив элемент в браузере.

Код для сервера ZoneMinder находится на GitHub: https://github.com/ZoneMinder/zoneminder Было бы неплохо, если бы можно было легко извлечь всего сервер, который переводит RTSP в данные изображения, но самый простой Чтобы начать работу, нужно просто настроить весь сервис.

...