Denne opplæringen søker å løse det ved å vise deg hvordan du konfigurerer en personlig live streaming-server som utnytter Nginx, en kraftig og lett webserver og omvendt proxy og RTMP-protokollen.
Før du fortsetter, må du sørge for:
- Du kjører Ubuntu eller Debian-server
- Har tilgang til serveren din via SSH
- Rotbruker- eller sudoprivilegier
La oss komme i gang.
Hva er Nginx
Som nevnt ovenfor er Nginx en rask og lett åpen kildekode-webserver og omvendt proxy som brukes til å betjene enkle statiske nettsteder eller massive applikasjoner. Nginx er en høyytelses webserver med utrolig hastighet og sikkerhet. Takket være den lette vekten, er det et veldig effektivt valg for streamingtjenester og trafikk med massiv trafikk.
Du kan lære mer om Nginx fra ressursen nedenfor:
https: // nginx.org / no / docs /
Hva er Nginx RTMP
Nginx RTMP er en åpen kildekode og kraftig modul for Nginx-webserveren. Det muliggjør RTMP-protokoll, HTTP Live Streaming (HLS) og Dynamic Adaptive Streaming over HTTP (DASH).
Du kan lære mer om HLS og DASH fra ressurssiden:
https: // www.skyflare.no / læring / video / hva-er-mpeg-dash /
Nå som du vet hva Nginx og Nginx RTMP er, la oss sette opp serveren:
Konfigurer til server
Det første trinnet er å få tilgang til serveren. Sørg for at SSH til serveren din er aktivert, og at du har nøklene lagt til for enklere pålogging.
ssh debian @ 34.73.160.42[e-postbeskyttet]: ~ $
Når vi har tilgang til serveren, kan vi begynne å installere nødvendige pakker og biblioteker. Forsikre deg først om at serveren din er oppdatert:
sudo apt-get oppdateringsudo apt-få oppgradering -y
Installere nødvendig programvare
For å sette opp streaming-serveren, må vi bygge Nginx fra kilden og aktivere RTMP-modulen. For dette skal vi bruke grunnleggende nødvendigheter og andre pakker. Bruk apt-kommandoen nedenfor for å installere alle avhengigheter.
sudo apt-get install -y build-essential libpcre3 libpcre3-dev libssl-dev git zlib1g-devDet neste trinnet er å kompilere og installere Nginx med RTMP-modulen aktivert. For å holde orden, opprett en katalog for prosessen.
mkdir ~ / Makecd ~ / Lag /
Deretter kloner du nginx-RTMP-modulen:
git klon git: // github.com / arut / nginx-rtmp-modul.gitNå må vi laste ned nginx.
Gå over til http: // nginx.org / no / nedlasting.html og velg alternativet for nedlasting.
wget http: // nginx.org / nedlasting / nginx-1.19.8.tjære.gztjære xzf nginx-1.19.8.tjære.gz
cd nginx-1.19.8
Det siste trinnet i denne delen er å kompilere Nginx med RMTP-modulen aktivert. Bruk kommandoene nedenfor:
sudo ./ configure --with-http_ssl_module --add-module = ... / nginx-rtmp-modulesudo lage
sudo lage installasjon
Sette opp live streaming
For å aktivere RTMP-støtte, må vi redigere nginx-konfigurasjonsfilen og spesifisere RTMP-blokken.
sudo nano / usr / local / nginx / conf / nginx.konfSkriv inn RTMP-støtteblokken som:
rtmpserver
hør 1935;
ping 30-tallet;
søknad live
lev videre;
interleave på;
hls på;
hls_path / tmp / hls;
hls_sync 100ms;
hls_fragment 15s;
http
default_type applikasjon / oktett-stream;
server
hør 80;
plassering / tv
rot / tmp / hls;
typer
søknad / vnd.eple.mpegurl m3u8;
video / mp2t ts;
tekst / html html;
I konfigurasjonen ovenfor aktiverer vi RTMP-modulen og HLS. Vurder dokumentasjonen for å lære hvordan du aktiverer DASH.
Når du har konfigurert, lagrer du filen og starter Nginx-tjenesten.
sudo / usr / local / nginx / sbin / nginxStart streaming
Når du har konfigurert alt riktig, kan du begynne å streame med FFmpeg, det er det enkleste. Du kan også konfigurere andre verktøy som OBS studio, men jeg vil ikke dekke det i denne opplæringen.
Bruk FFmpeg-kommandoen som:
sudo ffmpeg -re -i eksempel-mp4-fil.mp4 -c kopi -f hls rtmp: // localhost / live / streamSpill strømmen med FFplay eller VLC Media Player på ressursen.
ffplay rtmp: // IP / live / streamNår du har strømmen i gang, kan du eksponere tjenesten for et utenforliggende nettverk.
MERK: Forsikre deg om at du har sikret serveren din før du gir offentlig tilgang.
Konklusjon
Denne opplæringen har dekket hvordan du konfigurerer en streaming-server ved hjelp av Nginx og Nginx RTMP-modulen. Husk at det er mange gir involvert i å konfigurere en streamingtjeneste, og du kan tilpasse den etter dine behov.
Vurder følgende ressurser for å utforske mer.
- https: // ffmpeg.org / ffmpeg.html
- https: // ffmpeg.org / ffplay.html
- https: // ffmpeg.org / ffmpeg-formater.html
- https: // obsproject.com / docs /
- https: // wiki.videolan.org / Dokumentasjon: Streaming_HowTo