Предавания на живо с помощта на Ngnix-rtmp-module - IT и мултимедия

Медийни сървъри
Към днешна дата има няколко популярни медийни сървъра, за които можете да прочетете повече в една от предишните ми статии. Медийните сървъри са необходими за създаване на онлайн излъчвания в реално време.
Има както платени, така и безплатни медийни сървъри, които включват различни функции. Днес ще говорим за едно безплатно и доста добро решение.
Основната функционалност на медийния сървър може да бъде реализирана и с помощта на безплатен софтуер - модула Ngnix-rtmp-module, който в момента поддържа стрийминг протоколи като RTMP и HLS.
Онлайн излъчване чрез HLS протокол

- wgethttp://nginx.org/download/nginx-1.4.1.tar.gz
Извличане на файлове от архив.
Изтеглете zip архива с изходните файлове на nginx-rtmp-module и извлечете файловете от архива.
- wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
Сега трябва да компилираме nginx с модулаnginx-rtmp-module, за това, когато конфигурирате nginx, трябва да посочите местоположението на изходните файловеnginx-rtmp-module в опцията—add-module и също така трябва да посочите допълнителната опцияwith-http_ssl_module.
./configure --add-module=/home/nginx/nginx-rtmp-module-master --with-http_ssl_module
- тест1 с битрейт от 256 kbps,
- test2 с побитова скорост от 512 kbps,
- test3 с побитова скорост от 1024 kbps.
Нашата задача е да позволим на клиент, използващ протокола HLS (устройства: Mac, iPad, iPhone), да може динамично да превключва между потоци в зависимост от качеството на интернет връзката. За да направим това, трябва да създадем файл в директорията/usr/local/nginx/html с разширениеm3u8, напримерplaylist.m3u8, със следното съдържание: