Я ищу простое программное обеспечение с открытым исходным кодом, которое позволит мне это сделать:
Публикация видеопотока через RTMP с локального компьютера за NAT на сервер (Linux).
Сервер должен обслуживать этот поток через http и / или rtmp. Там нет необходимости сервера более чем одного клиента на данный момент.
Я пробовал crtmpserver
или rtmpd
, но для него нет документации, и я не знаю, как настроить эту конкретную конфигурацию. Однако я попытался, но безуспешно. Мне удалось опубликовать стрим с OBS (или по крайней мере так казалось), но не смог найти способ воспроизвести его. Если вы можете помочь мне настроить его, что было бы хорошо решение.
Я пробовал rtmplite
но это не работает. Не удалось опубликовать стрим.
Я пробовал ant media server
(на основе red5) и удалось, но это кажется довольно медленно, глюки все время с 50 Мбит загрузки и скачивания и низкое качество видео. И мне не нравится, что версия HTTP stream сначала обслуживает список m3u8. Если у вас есть советы как решить эти проблемы, которые были бы в порядке решения.
Я посмотрел на nginx with rtmp module
, но не удалось найти способ настроить HTTP-загрузку потока, опубликованного через RTMP. Если вы можете направить меня, как это сделать, это было бы хорошо решение.
любой другой сервер, может быть?
спасибо!
EDIT:
мне удалось сделать это с помощью модуля nginx и BLSS (rtmp), чтобы принять опубликованный поток и передать его дальше в VLC. VLC принимает поток RTMP и обслуживает его дальше клиентам, использующим HTTP. Это то, что я хотел, однако, VLC вводит здесь 6 секунд задержки, и это более сложным, чем с одной части программного обеспечения делает это.
nginx вообще не вводит задержку, и я был бы счастлив, если бы смог уменьшить задержку VLC хотя бы до 3 секунд.
Команда VLC я использую:
cvlc "rtmp://address:port/stream" --sout "#standard{access=http,mux=ts,dst=address:port}"
задержка больше, чем сложность. Я пробовал nginx с HLS, но он представил задержку в 15 секунд и служил .m3u8, который я пытаюсь избегать по определенным причинам.
спасибо.