Denne opplæringen søker å løse det ved å vise deg hvordan du setter opp en personlig live streaming -server som drar nytte av Nginx, en kraftig og lett webserver og omvendt proxy og RTMP -protokollen.
Før vi fortsetter, må du forsikre deg om:
La oss komme i gang.
Hva er nginx
Som nevnt ovenfor, er Nginx en rask og lett åpen kildekode-web-server 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 naturen, er det et veldig effektivt valg for streamingtjenester og trafikk med massiv trafikk.
Du kan lære mer om Nginx fra ressursen som er gitt nedenfor:
https: // nginx.org/en/dokumenter/
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 dynamisk adaptiv streaming over HTTP (DASH).
Du kan lære mer om HLS og Dash fra ressurssiden:
https: // www.Cloudflare.com/læring/video/hva-er-mpeg-dash/
Nå som du vet hva Nginx og Nginx RTMP er, la oss sette opp serveren:
Konfigurer til serveren
Det første trinnet er å få tilgang til serveren. Forsikre deg om at SSH til serveren din er aktivert, og du har tastene lagt til for enklere pålogging.
Ssh [email protected]
debian@streaming: ~ $
Når vi har tilgang til serveren, kan vi begynne å installere de nødvendige pakkene og bibliotekene. Først må du sørge for at serveren din er oppdatert:
sudo apt-get oppdatering
sudo apt -get 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 build-essensielle og andre pakker. Bruk APT -kommandoen nedenfor for å installere alle avhengigheter.
sudo apt-get install -y build-essensial libpcre3 libpcre3-dev libsl-dev git zlib1g-dev
Neste trinn er å kompilere og installere Nginx med RTMP -modulen aktivert. For å holde deg organisert, lage en katalog for prosessen.
mkdir ~/make
CD ~/Make/
Deretter kloner du Nginx-RTMP-modulen:
git klone git: // github.com/arut/nginx-rtmp-modul.git
Nå må vi laste ned nginx.
Gå over til http: // nginx.org/no/last ned.HTML og velg nedlastingsalternativet.
wget http: // nginx.org/nedlasting/nginx-1.19.8.tjære.gz
TAR 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 ./konfigurere-med-http_ssl_module-addd-module =… /nginx-rtmp-modul
sudo make
sudo lage installasjon
Sette opp live streaming
For å aktivere RTMP -støtten, må vi redigere Nginx -konfigurasjonsfilen og spesifisere RTMP -blokken.
sudo nano/usr/local/nginx/conf/nginx.konf
Skriv inn RTMP -støtteblokken som:
rtmp
server
Lytt 1935;
Ping 30 -tallet;
applikasjon live
lev videre;
fletter på;
HLS på;
HLS_PATH /TMP /HLS;
HLS_SYNC 100MS;
HLS_FRAGMENT 15S;
http
Standard_type Applikasjon/Octet-Stream;
server
Lytt 80;
Sted /TV
root /tmp /hls;
typer
applikasjon/vnd.eple.mpegurl m3u8;
video/mp2t ts;
tekst/html html;
I konfigurasjonen ovenfor, aktiverer vi RTMP -modulen og HLS. Tenk på dokumentasjonen for å lære hvordan du aktiverer Dash.
Når du har konfigurasjonen, lagrer du filen og starter Nginx -tjenesten.
sudo/usr/local/nginx/sbin/nginx
Begynn streaming
Når du har alt konfigurert riktig, kan du begynne å streame ved hjelp av 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 prøve -mp4 -fil.mp4 -c kopi -f hls rtmp: // localhost/live/stream
Spill strømmen ved hjelp av ffplay eller VLC Media Player på ressursen.
ffplay rtmp: // ip/live/stream
Når du har kjørt strømmen, kan du eksponere tjenesten for et utvendig nettverk.
MERK: Forsikre deg om at du har sikret serveren din før du tillater offentlig tilgang.
Konklusjon
Denne opplæringen har dekket hvordan du konfigurerer en streamingserver ved hjelp av Nginx og Nginx RTMP -modulen. Husk at det er mange gir involvert i å sette opp en streamingtjeneste, og du kan tilpasse den i henhold til dine behov.
Vurder følgende ressurser for å utforske mer.