Tento tutoriál sa to snaží vyriešiť tým, že vám ukáže, ako nastaviť osobný server so živým vysielaním, ktorý využíva výhody Nginx, výkonného a ľahkého webového servera a reverzného proxy a protokolu RTMP.
Než budeme pokračovať, uistite sa, že:
- Používate server Ubuntu alebo Debian
- Majte prístup na svoj server cez SSH
- Root oprávnenie užívateľa alebo sudo
Začnime.
Čo je Nginx
Ako už bolo spomenuté vyššie, Nginx je rýchly a ľahký webový server s otvoreným zdrojovým kódom a reverzný proxy server používaný na poskytovanie jednoduchých statických webových stránok alebo rozsiahlych aplikácií. Nginx je vysoko výkonný webový server s neuveriteľnou rýchlosťou a bezpečnosťou. Vďaka svojej ľahkej povahe je veľmi efektívnou voľbou pre streamovacie služby a prenos s veľkým objemom prenosu.
Viac informácií o Nginxe sa dozviete z nižšie uvedeného zdroja:
https: // nginx.org / en / docs /
Čo je Nginx RTMP
Nginx RTMP je open-source a výkonný modul pre webový server Nginx. Umožňuje protokol RTMP, HTTP Live Streaming (HLS) a Dynamic Adaptive Streaming over HTTP (DASH).
Viac informácií o HLS a DASH sa môžete dozvedieť na stránke zdrojov:
https: // www.oblak oblaku.com / learning / video / what-is-mpeg-dash /
Teraz, keď viete, čo sú Nginx a Nginx RTMP, nastavíme server:
Konfigurovať na server
Prvým krokom je získanie prístupu na server. Uistite sa, že je server SSH povolený a že máte pridané kľúče pre jednoduchšie prihlásenie.
ssh debian @ 34.73.160.42[chránené e-mailom]: ~ $
Keď máme prístup na server, môžeme začať inštalovať požadované balíky a knižnice. Najskôr sa uistite, že je váš server aktuálny:
sudo apt-get aktualizáciasudo apt-get upgrade -y
Inštalácia požadovaného softvéru
Na nastavenie streamovacieho servera budeme musieť postaviť Nginx zo zdroja a povoliť modul RTMP. Použijeme na to build-essentials a ďalšie balíky. Na inštaláciu všetkých závislostí použite nižšie uvedený príkaz apt.
sudo apt-get install -y build-essential libpcre3 libpcre3-dev libssl-dev git zlib1g-devĎalším krokom je kompilácia a inštalácia Nginxu s povoleným modulom RTMP. Aby ste zostali organizovaní, vytvorte adresár procesu.
mkdir ~ / Makecd ~ / Make /
Ďalej klonujte modul nginx-RTMP:
git klon git: // github.com / arut / nginx-rtmp-modul.gitTeraz si musíme stiahnuť nginx.
Prejdite na adresu http: // nginx.org / en / download.html a vyberte možnosť sťahovania.
wget http: // nginx.org / download / nginx-1.19.8.decht.gztar xzf nginx-1.19.8.decht.gz
cd nginx-1.19.8
Posledným krokom v tejto časti je kompilácia Nginxu s povoleným modulom RMTP. Použite nižšie uvedené príkazy:
sudo ./ configure --with-http_ssl_module --add-module =… / nginx-rtmp-modulesudo urobiť
sudo urobiť inštaláciu
Nastavuje sa živé vysielanie
Aby sme povolili podporu RTMP, musíme upraviť konfiguračný súbor nginx a určiť blok RTMP.
sudo nano / usr / local / nginx / conf / nginx.konfZadajte blok podpory RTMP ako:
rtmpserver
počúvať 1935;
ping 30s;
prihláška naživo
ži ďalej;
prekladať ďalej;
hls na;
hls_path / tmp / hls;
hls_sync 100ms;
hls_fragment 15s;
http
default_type application / octet-stream;
server
počúvať 80;
poloha / tv
root / tmp / hl;
typy
prihláška / vnd.jablko.mpegurl m3u8;
video / mp2t ts;
text / html html;
Vo vyššie uvedenej konfigurácii povoľujeme modul RTMP a HLS. V dokumentácii sa dozviete, ako povoliť DASH.
Po dokončení konfigurácie uložte súbor a spustite službu Nginx.
sudo / usr / local / nginx / sbin / nginxSpustiť streamovanie
Keď máte všetko správne nakonfigurované, môžete začať streamovať pomocou FFmpeg - je to najjednoduchšie. Môžete tiež nakonfigurovať ďalšie nástroje, ako je OBS studio, ale v tomto tutoriále sa tým nebudem zaoberať.
Príkaz FFmpeg použite ako:
sudo ffmpeg -re -i sample-mp4-file.mp4 -c copy -f hls rtmp: // localhost / live / streamPrehrajte stream pomocou prehrávača FFplay alebo VLC Media Player na zdroji.
ffplay rtmp: // IP / live / streamPo spustení streamu môžete službu vystaviť vonkajšej sieti.
POZNÁMKA: Pred povolením verejného prístupu sa ubezpečte, že ste zabezpečili svoj server.
Záver
V tomto výučbe sa dozviete, ako nastaviť streamovací server pomocou Nginx a Nginx RTMP modulu. Majte na pamäti, že pri nastavovaní streamovacej služby je zapojených veľa prevodových stupňov a môžete si ich prispôsobiť podľa svojich potrieb.
Zvážte nasledujúce zdroje a preskúmajte viac.
- https: // ffmpeg.org / ffmpeg.html
- https: // ffmpeg.org / ffplay.html
- https: // ffmpeg.formáty org / ffmpeg.html
- https: // obsproject.com / docs /
- https: // wiki.videolan.org / Dokumentácia: Streaming_HowTo