На сегодняшний день потоковое вещание получило широкое распространение в сети интернет. Существует множество готовых сервисов, позволяющих организовывать свои видеотрансляции через сеть интернет. Данная статься открывает цикл статей о том, как построить свою систему вещания в сети. На сегодняшний день существует несколько решений для организации видеовещания, но все они не подходят по каким-либо причинам, либо это проприетарное программное обеспечение от Adobe, либо это плохо оптимизированное свободное программное обеспечение.
Сегодняшний рассказ пойдет о модуле RTMP для Nginx сервера, данный модуль не входит стандартный веб-сервер и должен быть собран самим пользователем. Модуль позволяет организовывать вещание в разных форматах, производить кодирование на лету, производить балансирование нагрузки на сервер. Модуль показал отличные результаты в нагрузочных тестах.
Текущее руководство опишет сборку Nginx с RTMP модулем, сборка будет производиться на сервере Debian.
Произведем установку необходимых библиотек и средств сборки.
aptitude install build-essential checkinstall wget git libpcre++-dev libssl-dev install libgeoip-dev install libxslt1-dev
Nginx зависим от некоторых дополнительных библиотек, однако если не предполагается их использовать, то можно исключить библиотеки из сборки сервера.
Загрузим свежие исходники стабильной версии Nginx
mkdir –p /usr/build && cd /usr/build wget http://nginx.org/download/nginx-1.8.0.tar.gz tar -zxf nginx-1.8.0.tar.gz
Получим исходники RTMP модуля с гитхаба
git clone git://github.com/arut/nginx-rtmp-module.git
Сконфигурируем Nginx на использование модуля
cd ./nginx-1.8.0/ ./configure --add-module=/usr/build/nginx-rtmp-module --prefix=/usr/sbin --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/cache/nginx --http-fastcgi-temp-path=/var/cache/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/cache/nginx/proxy --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid
Соберем и установим Nginx
make && make install
Если же предполагается в дальнейшем использовать собранный Nginx на других серверах, то правильнее создать пакет вместо установки сервера.
make && checkinstall
После данный операций будет создан пакет, который можно будет установить на других серверах.
Осталось настроить сервер для вещания, но об этом пойдет речь в других частях.
Если Вам понравилась заметка, обязательно делитесь ее со своими друзьями, если же есть пожелания или замечания – сообщите о них.
Использование материалов на сторонних ресурсах, без разрешения автора, запрещено.