Този урок се стреми да реши това, като ви покаже как да настроите личен сървър за поточно предаване на живо, който се възползва от Nginx, мощен и лек уеб сървър и обратен прокси сървър и протокол RTMP.
Преди да продължим, осигурете:
- Използвате сървър Ubuntu или Debian
- Имате достъп до вашия сървър чрез SSH
- Привилегии на root или sudo
Нека започнем.
Какво е Nginx
Както бе споменато по-горе, Nginx е бърз и лек уеб сървър с отворен код и обратен прокси сървър, използван за обслужване на прости статични уеб сайтове или масивни приложения. Nginx е високопроизводителен уеб сървър с невероятна скорост и сигурност. Благодарение на лекия си характер, той е много ефективен избор за стрийминг услуги и трафик с огромен трафик.
Можете да научите повече за Nginx от ресурса, предоставен по-долу:
https: // nginx.org / en / docs /
Какво е Nginx RTMP
Nginx RTMP е мощен модул с отворен код за уеб сървъра на Nginx. Той позволява RTMP протокол, HTTP поточно предаване на живо (HLS) и динамично адаптивно поточно предаване през HTTP (DASH).
Можете да научите повече за HLS и DASH от страницата с ресурси:
https: // www.облак.com / learning / video / what-is-mpeg-dash /
Сега, след като знаете какво са Nginx и Nginx RTMP, нека настроим сървъра:
Конфигуриране на сървър
Първата стъпка е да получите достъп до сървъра. Уверете се, че SSH към вашия сървър е активиран и имате добавени ключове за по-лесно влизане.
ssh debian @ 34.73.160.42[имейл защитен]: ~ $
След като имаме достъп до сървъра, можем да започнем да инсталираме необходимите пакети и библиотеки. Първо се уверете, че сървърът ви е актуален:
sudo apt-get updatesudo apt-get upgrade -y
Инсталиране на необходимия софтуер
За да настроим сървъра за стрийминг, ще трябва да изградим Nginx от източника и да активираме модула RTMP. За целта ще използваме основни компоненти и други пакети. Използвайте командата apt по-долу, за да инсталирате всички зависимости.
sudo apt-get install -y build-essential libpcre3 libpcre3-dev libssl-dev git zlib1g-devСледващата стъпка е да компилирате и инсталирате Nginx с активиран модул RTMP. За да останете организирани, създайте директория за процеса.
mkdir ~ / Направетеcd ~ / Направи /
След това клонирайте модула nginx-RTMP:
git clone git: // github.com / arut / nginx-rtmp-module.gitСега трябва да изтеглим nginx.
Преминете към http: // nginx.org / en / изтегляне.html и изберете опцията за изтегляне.
wget http: // nginx.org / download / nginx-1.19.8.катран.gztar xzf nginx-1.19.8.катран.gz
cd nginx-1.19.8
Последната стъпка в този раздел е компилирането на Nginx с активиран RMTP модул. Използвайте командите по-долу:
Судо ./ configure --with-http_ssl_module --add-module = ... / nginx-rtmp-modulesudo make
sudo make install
Настройване на поточно предаване на живо
За да активираме поддръжката на RTMP, трябва да редактираме конфигурационния файл nginx и да посочим RTMP блока.
sudo nano / usr / local / nginx / conf / nginx.конфВъведете блока за поддръжка на RTMP като:
rtmpсървър
слушайте 1935;
пинг 30s;
приложение на живо
живейте нататък;
преплитане на;
hls на;
hls_path / tmp / hls;
hls_sync 100ms;
hls_fragment 15s;
http
default_type приложение / октет-поток;
сървър
слушайте 80;
местоположение / телевизор
root / tmp / hls;
типове
заявление / vnd.ябълка.mpegurl m3u8;
видео / mp2t ts;
текст / html html;
В горната конфигурация активираме RTMP модула и HLS. Помислете за документацията, за да научите как да активирате DASH.
След като имате конфигурацията, запазете файла и стартирайте услугата Nginx.
sudo / usr / local / nginx / sbin / nginxЗапочнете поточно предаване
След като конфигурирате всичко правилно, можете да започнете стрийминг с FFmpeg - това е най-лесното. Можете също да конфигурирате други инструменти като OBS studio, но няма да разглеждам това в този урок.
Използвайте командата FFmpeg като:
sudo ffmpeg -re -i sample-mp4-файл.mp4 -c copy -f hls rtmp: // localhost / live / streamПуснете потока, като използвате FFplay или VLC Media player на ресурса.
ffplay rtmp: // IP / на живо / потокСлед като пуснете потока, можете да изложите услугата на външна мрежа.
ЗАБЕЛЕЖКА: Уверете се, че сте защитили сървъра си, преди да разрешите публичен достъп.
Заключение
Този урок разглежда как да настроите стрийминг сървър с помощта на Nginx и Nginx RTMP модула. Имайте предвид, че в настройването на услуга за стрийминг участват много предавки и можете да я персонализирате според вашите нужди.
Обмислете следните ресурси, за да проучите повече.
- https: // ffmpeg.org / ffmpeg.html
- https: // ffmpeg.org / ffplay.html
- https: // ffmpeg.org / ffmpeg-формати.html
- https: // obsproject.com / docs /
- https: // wiki.видеолан.org / Документация: Streaming_HowTo