Tento kurz se to snaží vyřešit tím, že vám ukáže, jak nastavit osobní server pro živé vysílání, který využívá Nginx, výkonný a lehký webový server a reverzní proxy a protokol RTMP.
Než budeme pokračovat, zajistěte:
- Používáte server Ubuntu nebo Debian
- Mějte přístup k vašemu serveru přes SSH
- Kořenová oprávnění uživatele nebo sudo
Pojďme začít.
Co je Nginx
Jak již bylo zmíněno výše, Nginx je rychlý a lehký webový server s otevřeným zdrojovým kódem a reverzní proxy server používaný k poskytování jednoduchých statických webových stránek nebo masivních aplikací. Nginx je vysoce výkonný webový server s neuvěřitelnou rychlostí a zabezpečením. Díky své lehké povaze je velmi efektivní volbou pro streamingové služby a provoz s velkým provozem.
Další informace o Nginxu můžete získat z níže uvedeného zdroje:
https: // nginx.org / en / docs /
Co je Nginx RTMP
Nginx RTMP je open-source a výkonný modul pro webový server Nginx. Umožňuje protokol RTMP, HTTP Live Streaming (HLS) a Dynamic Adaptive Streaming over HTTP (DASH).
Další informace o HLS a DASH najdete na stránce zdrojů:
https: // www.vzplanutí mraku.com / learning / video / what-is-mpeg-dash /
Nyní, když víte, co jsou Nginx a Nginx RTMP, nastavíme server:
Nakonfigurujte na server
Prvním krokem je získání přístupu k serveru. Ujistěte se, že je povolen SSH na vašem serveru a že máte přidané klíče pro snazší přihlášení.
ssh debian @ 34.73.160.42[chráněno e-mailem]: ~ $
Jakmile budeme mít přístup na server, můžeme začít instalovat požadované balíčky a knihovny. Nejprve se ujistěte, že je váš server aktuální:
sudo apt-get aktualizacesudo apt-get upgrade -y
Instalace požadovaného softwaru
Chcete-li nastavit streamovací server, budeme muset vytvořit Nginx ze zdroje a povolit modul RTMP. K tomu použijeme build-essentials a další balíčky. Pomocí níže uvedeného příkazu apt nainstalujte všechny závislosti.
sudo apt-get install -y build-essential libpcre3 libpcre3-dev libssl-dev git zlib1g-devDalším krokem je kompilace a instalace Nginx s povoleným modulem RTMP. Chcete-li zůstat organizovaní, vytvořte adresář procesu.
mkdir ~ / Vytvořitcd ~ / Make /
Dále klonujte modul nginx-RTMP:
git clone git: // github.com / arut / nginx-rtmp-modul.sakraNyní si musíme stáhnout nginx.
Přejděte na http: // nginx.org / en / stáhnout.html a vyberte možnost stahování.
wget http: // nginx.org / download / nginx-1.19.8.dehet.gztar xzf nginx-1.19.8.dehet.gz
cd nginx-1.19.8
Posledním krokem v této části je kompilace Nginx s povoleným modulem RMTP. Použijte následující příkazy:
sudo ./ configure --with-http_ssl_module --add-module =… / nginx-rtmp-modulesudo udělat
sudo provést instalaci
Nastavení živého přenosu
Chcete-li povolit podporu RTMP, musíme upravit konfigurační soubor nginx a určit blok RTMP.
sudo nano / usr / local / nginx / conf / nginx.konfZadejte blok podpory RTMP jako:
rtmpserver
poslouchat 1935;
ping 30s;
živá aplikace
žít dál;
prokládat;
hls dále;
hls_path / tmp / hls;
hls_sync 100ms;
hls_fragment 15 s;
http
default_type aplikace / octet-stream;
server
poslouchat 80;
umístění / tv
root / tmp / hl;
typy
aplikace / vnd.jablko.mpegurl m3u8;
video / mp2t ts;
text / html html;
Ve výše uvedené konfiguraci povolíme modul RTMP a HLS. V dokumentaci se dozvíte, jak povolit DASH.
Jakmile máte konfiguraci, uložte soubor a spusťte službu Nginx.
sudo / usr / local / nginx / sbin / nginxZahajte streamování
Jakmile máte vše správně nakonfigurované, můžete začít streamovat pomocí FFmpeg - je to nejjednodušší. Můžete také nakonfigurovat další nástroje, jako je OBS studio, ale v tomto tutoriálu to nebudu popisovat.
Použijte příkaz FFmpeg jako:
sudo ffmpeg -re -i sample-mp4-file.mp4 -c copy -f hls rtmp: // localhost / live / streamPřehrajte stream pomocí přehrávače FFplay nebo VLC Media Player na zdroji.
ffplay rtmp: // IP / live / streamJakmile máte stream spuštěný, můžete vystavit službu vnější síti.
POZNÁMKA: Před povolením veřejného přístupu se ujistěte, že jste zabezpečili svůj server.
Závěr
V tomto kurzu se dozvíte, jak nastavit streamovací server pomocí Nginx a modulu Nginx RTMP. Mějte na paměti, že při nastavování streamovací služby je zapojeno mnoho rychlostních stupňů a můžete si ji přizpůsobit podle svých potřeb.
Zvažte následující zdroje a prozkoumejte více.
- https: // ffmpeg.org / ffmpeg.html
- https: // ffmpeg.org / ffplay.html
- https: // ffmpeg.formáty org / ffmpeg.html
- https: // obsproject.com / dokumenty /
- https: // wiki.videolan.org / Dokumentace: Streaming_HowTo