Denna handledning syftar till att lösa det genom att visa dig hur du konfigurerar en personlig livestreamingserver som utnyttjar Nginx, en kraftfull och lätt webbserver och omvänd proxy och RTMP-protokoll.
Innan vi fortsätter, se till att:
- Du kör Ubuntu eller Debian-server
- Har tillgång till din server via SSH
- Root-användare eller sudo-behörigheter
Låt oss komma igång.
Vad är Nginx
Som nämnts ovan är Nginx en snabb och lätt öppen källkodsserver och omvänd proxy som används för att betjäna enkla statiska webbplatser eller massiva applikationer. Nginx är en högpresterande webbserver med otrolig hastighet och säkerhet. Tack vare dess lätta natur är det ett mycket effektivt val för streamingtjänster och trafik med massiv trafik.
Du kan lära dig mer om Nginx från resursen nedan:
https: // nginx.org / sv / docs /
Vad är Nginx RTMP
Nginx RTMP är en öppen källkod och kraftfull modul för Nginx-webbservern. Det möjliggör RTMP-protokoll, HTTP Live Streaming (HLS) och Dynamic Adaptive Streaming via HTTP (DASH).
Du kan lära dig mer om HLS och DASH från resursidan:
https: // www.molnflamma.com / lärande / video / vad-är-mpeg-streck /
Nu när du vet vad Nginx och Nginx RTMP är, låt oss ställa in servern:
Konfigurera till server
Det första steget är att få tillgång till servern. Se till att SSH till din server är aktiverad och att du har lagt till nycklarna för enklare inloggning.
ssh debian @ 34.73.160.42[e-postskyddad]: ~ $
När vi har tillgång till servern kan vi börja installera de nödvändiga paketen och biblioteken. Kontrollera först att din server är uppdaterad:
sudo apt-get-uppdateringsudo apt-get upgrade -y
Installera nödvändig programvara
För att ställa in streaming-servern måste vi bygga Nginx från källan och aktivera RTMP-modulen. För detta ska vi använda grundläggande nödvändigheter och andra paket. Använd apt-kommandot nedan för att installera alla beroenden.
sudo apt-get install -y build-essential libpcre3 libpcre3-dev libssl-dev git zlib1g-devNästa steg är att kompilera och installera Nginx med RTMP-modulen aktiverad. För att hålla ordning, skapa en katalog för processen.
mkdir ~ / Makecd ~ / Make /
Klona sedan nginx-RTMP-modulen:
git klon git: // github.com / arut / nginx-rtmp-modul.gitNu måste vi ladda ner nginx.
Gå över till http: // nginx.org / sv / nedladdning.html och välj ditt nedladdningsalternativ.
wget http: // nginx.org / nedladdning / nginx-1.19.8.tjära.gztjära xzf nginx-1.19.8.tjära.gz
cd nginx-1.19.8
Det sista steget i detta avsnitt är att kompilera Nginx med RMTP-modulen aktiverad. Använd kommandona nedan:
sudo ./ configure --with-http_ssl_module --add-module = ... / nginx-rtmp-modulesudo make
sudo gör installation
Ställa in livestreaming
För att aktivera RTMP-stödet måste vi redigera nginx-konfigurationsfilen och ange RTMP-blocket.
sudo nano / usr / local / nginx / conf / nginx.konfAnge RTMP-stödblocket som:
rtmpserver
lyssna 1935;
ping 30s;
applikation live
leva på;
interleave on;
hls på;
hls_path / tmp / hls;
hls_sync 100 ms;
hls_fragment 15s;
http
default_type application / octet-stream;
server
lyssna 80;
plats / tv
root / tmp / hls;
typer
ansökan / vnd.äpple.mpegurl m3u8;
video / mp2t ts;
text / html html;
I konfigurationen ovan aktiverar vi RTMP-modulen och HLS. Tänk på dokumentationen för att lära dig hur du aktiverar DASH.
När du har konfigurerat, spara filen och starta Nginx-tjänsten.
sudo / usr / local / nginx / sbin / nginxBörja strömma
När du har konfigurerat allt korrekt kan du börja strömma med FFmpeg-det är det enklaste. Du kan också konfigurera andra verktyg som OBS studio, men jag kommer inte att täcka det i denna handledning.
Använd FFmpeg-kommandot som:
sudo ffmpeg -re -i exempel-mp4-fil.mp4 -c kopia -f hls rtmp: // localhost / live / streamSpela strömmen med FFplay eller VLC Media Player på resursen.
ffplay rtmp: // IP / live / streamNär strömmen är igång kan du exponera tjänsten för ett externt nätverk.
NOTERA: Se till att du har säkrat din server innan du tillåter allmän tillgång.
Slutsats
Denna handledning har beskrivit hur man ställer in en streaming-server med Nginx och Nginx RTMP-modulen. Tänk på att det finns många redskap involverade i att ställa in en streamingtjänst, och du kan anpassa den efter dina behov.
Tänk på följande resurser för att utforska mer.
- https: // ffmpeg.org / ffmpeg.html
- https: // ffmpeg.org / ffplay.html
- https: // ffmpeg.org / ffmpeg-format.html
- https: // obsproject.com / docs /
- https: // wiki.videolan.org / Dokumentation: Streaming_HowTo