Acest tutorial încearcă să rezolve acest lucru, arătându-vă cum să configurați un server de streaming live personal care profită de Nginx, un server web puternic și ușor și proxy invers și protocolul RTMP.
Înainte de a continua, asigurați-vă:
- Rulați serverul Ubuntu sau Debian
- Aveți acces la serverul dvs. prin SSH
- Privilegiile utilizator rădăcină sau sudo
Să începem.
Ce este Nginx
Așa cum s-a menționat mai sus, Nginx este un server web și un server proxy inversat rapid și ușor, utilizat pentru a servi site-uri web statice simple sau aplicații masive. Nginx este un server web performant, cu viteză și securitate incredibile. Datorită naturii sale ușoare, este o alegere foarte eficientă pentru servicii de streaming și trafic cu trafic masiv.
Puteți afla mai multe despre Nginx din resursa furnizată mai jos:
https: // nginx.org / ro / docs /
Ce este Nginx RTMP
Nginx RTMP este un modul open-source și puternic pentru serverul web Nginx. Permite protocolul RTMP, HTTP Live Streaming (HLS) și Dynamic Adaptive Streaming over HTTP (DASH).
Puteți afla mai multe despre HLS și DASH din pagina resurselor:
https: // www.cloudflare.com / learning / video / what-is-mpeg-dash /
Acum, că știți ce sunt Nginx și Nginx RTMP, permiteți-ne să configurăm serverul:
Configurați la server
Primul pas este să obțineți acces la server. Asigurați-vă că SSH pe serverul dvs. este activat și că aveți cheile adăugate pentru o conectare mai ușoară.
ssh debian @ 34.73.160.42[e-mail protejat]: ~ $
Odată ce avem acces la server, putem începe instalarea pachetelor și bibliotecilor necesare. Mai întâi, asigurați-vă că serverul dvs. este actualizat:
sudo apt-get updatesudo apt-get upgrade -y
Instalarea software-ului necesar
Pentru a configura serverul de streaming, va trebui să construim Nginx din sursă și să activăm modulul RTMP. Pentru aceasta, vom folosi esențialele de construcție și alte pachete. Utilizați comanda apt de mai jos pentru a instala toate dependențele.
sudo apt-get install -y build-essential libpcre3 libpcre3-dev libssl-dev git zlib1g-devUrmătorul pas este să compilați și să instalați Nginx cu modulul RTMP activat. Pentru a rămâne organizat, creați un director pentru proces.
mkdir ~ / Makecd ~ / Make /
Apoi, clonați modulul nginx-RTMP:
git clone git: // github.com / arut / nginx-rtmp-module.gitAcum trebuie să descărcăm nginx.
Accesați http: // nginx.org / ro / download.html și selectați opțiunea de descărcare.
wget http: // nginx.org / download / nginx-1.19.8.gudron.gztar xzf nginx-1.19.8.gudron.gz
cd nginx-1.19.8
Ultimul pas din această secțiune este de a compila Nginx cu modulul RMTP activat. Utilizați comenzile de mai jos:
sudo ./ configure --with-http_ssl_module --add-module =… / nginx-rtmp-modulesudo make
sudo make install
Configurarea fluxului live
Pentru a activa suportul RTMP, trebuie să edităm fișierul de configurare nginx și să specificăm blocul RTMP.
sudo nano / usr / local / nginx / conf / nginx.confIntroduceți blocul de asistență RTMP ca:
rtmpServer
asculta 1935;
ping 30s;
aplicație live
trăiește mai departe;
intercalează pe;
hls on;
hls_path / tmp / hls;
hls_sync 100ms;
hls_fragment 15s;
http
default_type application / octet-stream;
Server
ascultă 80;
locație / tv
rădăcină / tmp / hls;
tipuri
aplicație / vnd.măr.mpegurl m3u8;
video / mp2t ts;
text / html html;
În configurația de mai sus, activăm modulul RTMP și HLS. Luați în considerare documentația pentru a afla cum să activați DASH.
Odată ce ați configurat, salvați fișierul și porniți serviciul Nginx.
sudo / usr / local / nginx / sbin / nginxPorniți Streaming
După ce aveți totul configurat corect, puteți începe streamingul folosind FFmpeg - este cel mai ușor. De asemenea, puteți configura alte instrumente, cum ar fi OBS studio, dar nu voi acoperi acest lucru în acest tutorial.
Folosiți comanda FFmpeg ca:
sudo ffmpeg -re -i sample-mp4-file.mp4 -c copy -f hls rtmp: // localhost / live / streamRedați fluxul utilizând FFplay sau VLC Media player pe resursă.
ffplay rtmp: // IP / live / streamOdată ce fluxul rulează, puteți expune serviciul la o rețea externă.
NOTĂ: Asigurați-vă că ați securizat serverul înainte de a permite accesul public.
Concluzie
Acest tutorial a prezentat modul de configurare a unui server de streaming utilizând Nginx și modulul Nginx RTMP. Rețineți că există multe unelte implicate în configurarea unui serviciu de streaming și îl puteți personaliza în funcție de nevoile dvs.
Luați în considerare următoarele resurse pentru a explora mai multe.
- https: // ffmpeg.org / ffmpeg.html
- https: // ffmpeg.org / ffplay.html
- https: // ffmpeg.org / ffmpeg-formats.html
- https: // obsproject.com / docs /
- https: // wiki.videolan.org / Documentație: Streaming_HowTo