Проксирование RTMP-потока через Nginx
Date July 2nd, 2014 Author Vitaly Agapov
— Это не техника дошла, а я сама сюда дошла, на лыжах.
Ещё одна коротенькая заметка про Nginx. На этот раз про то, как спроксировать RTMP-стриминг. Обсуждение того, зачем это может понадобиться, оставим на… никогда. Ну, например, для того, чтобы спрятать реальный источник потока.
Никаких велосипедов изобретать не надо, тем более, что существует модуль для Nginx https://github.com/arut/nginx-rtmp-module, написанный Романом Арутюняном, который поможет нам сделать то, что мы хотим, и даже намного-намного больше.
Сам автор хорошо осветил принципы работы со своим модулем в статье на Хабре, так что на этом в общем-то заметку можно было бы и заканчивать, но я всё-таки продолжу.
Во-первых, нужно собрать Nginx с поддержкой модуля.
./configure --add-module=/path/to/nginx-rtmp-module
Конечно, вместо make && make install лучше собирать пакет, но это на усмотрение.
Дальше в корень конфига nginx.conf останется добавить примерно такие строки:
rtmp { server { listen 1935; application live { live on; pull rtmp://www.planeta-online.tv:1936; } } }
В результате поток с rtmp://www.planeta-online.tv:1936/live/channel_2 (взят совершенно для примера), можно будет смотреть на rtmp://localhost:1935/live/channel_2. При появлении первого клиента Nginx установит соединение с www.planeta-online.tv для ретрансляции потока и после пропадания последнего клиента завершит соединение.
Tags: Nginx
Category:
Nginx |
No comments »