Ez az oktatóanyag azt próbálja megoldani, hogy bemutatja, hogyan állíthat be egy személyes élő streaming szervert, amely kihasználja az Nginx, egy nagy teljesítményű és könnyű webszerver, valamint a fordított proxy és az RTMP protokoll előnyeit.
Mielőtt folytatnánk, ellenőrizze:
- Ubuntu vagy Debian szervert futtat
- SSH-n keresztül férhet hozzá a szerveréhez
- Root felhasználói vagy sudo jogosultságok
Kezdjük.
Mi a Nginx
Mint fent említettük, az Nginx egy gyors és könnyű nyílt forráskódú webszerver és fordított proxy, amelyet egyszerű statikus weboldalak vagy hatalmas alkalmazások kiszolgálására használnak. A Nginx egy nagy teljesítményű webszerver, hihetetlen sebességgel és biztonsággal. Könnyű jellegének köszönhetően nagyon hatékony választás a streaming szolgáltatások és a hatalmas forgalmú forgalom számára.
Az Nginxről többet megtudhat az alábbi forrásból:
https: // nginx.org / hu / docs /
Mi az Nginx RTMP
Az Nginx RTMP egy nyílt forráskódú és hatékony modul az Nginx webkiszolgálóhoz. Lehetővé teszi az RTMP protokollt, a HTTP Live Streaming (HLS) és a dinamikus adaptív streaming HTTP-n keresztül (DASH).
A HLS-ről és a DASH-ról többet tudhat meg az erőforrás oldalon:
https: // www.felhő.com / learning / video / what-is-mpeg-dash /
Most, hogy tudja, mi az Nginx és az Nginx RTMP, állítsuk be a szervert:
Konfigurálás kiszolgálóra
Az első lépés a kiszolgálóhoz való hozzáférés. Győződjön meg róla, hogy az SSH a szerveren engedélyezve van, és a kulcsok hozzá vannak adva a könnyebb bejelentkezéshez.
ssh debian @ 34.73.160.42[e-mail védett]: ~ $
Miután hozzáférünk a szerverhez, elkezdhetjük a szükséges csomagok és könyvtárak telepítését. Először ellenőrizze, hogy a szerver naprakész-e:
sudo apt-get frissítéssudo apt-get upgrade -y
A szükséges szoftver telepítése
A streaming szerver beállításához fel kell építenünk az Nginx-et a forrásból, és engedélyeznünk kell az RTMP modult. Ehhez a build-essentials és egyéb csomagokat fogjuk használni. Használja az alábbi apt parancsot az összes függőség telepítéséhez.
sudo apt-get install -y build-essential libpcre3 libpcre3-dev libssl-dev git zlib1g-devA következő lépés az Nginx fordítása és telepítése az engedélyezett RTMP modullal. A szervezettség érdekében hozzon létre egy könyvtárat a folyamathoz.
mkdir ~ / Makecd ~ / Gyártás /
Ezután klónozza az nginx-RTMP modult:
git klón git: // github.com / arut / nginx-rtmp-module.gitMost le kell töltenünk az nginx fájlt.
Irány a http: // nginx.org / hu / letöltés.HTML-t, és válassza ki a letöltési lehetőséget.
wget http: // nginx.org / letöltés / nginx-1.19.8.kátrány.gztar xzf nginx-1.19.8.kátrány.gz
cd nginx-1.19.8
A szakasz utolsó lépése az Nginx fordítása az engedélyezett RMTP modullal. Használja az alábbi parancsokat:
sudo ./ configure --with-http_ssl_module --add-module =… / nginx-rtmp-modulesudo gyártmány
sudo make install
Élő közvetítés beállítása
Az RTMP támogatás engedélyezéséhez szerkesztenünk kell az nginx konfigurációs fájlt, és meg kell adnunk az RTMP blokkot.
sudo nano / usr / local / nginx / conf / nginx.konfÍrja be az RTMP támogatási blokkot:
rtmpszerver
hallgatni 1935;
30-as évek;
alkalmazás élőben
tovább élni;
közbeszól;
hls tovább;
hls_path / tmp / hls;
hls_sync 100ms;
hls_töredék 15s;
http
default_type alkalmazás / octet-stream;
szerver
hallgat 80;
hely / tv
root / tmp / hls;
típusok
alkalmazás / vnd.alma.mpegurl m3u8;
video / mp2t ts;
szöveg / html html;
A fenti konfigurációban engedélyezzük az RTMP modult és a HLS-t. A DASH engedélyezésének megismeréséhez tanulmányozza át a dokumentációt.
Miután konfigurálta, mentse el a fájlt, és indítsa el az Nginx szolgáltatást.
sudo / usr / local / nginx / sbin / nginxIndítsa el a közvetítést
Miután mindent megfelelően beállított, elkezdheti a streaminget az FFmpeg használatával - ez a legegyszerűbb. Beállíthat más eszközöket is, például az OBS stúdiót, de ebben a bemutatóban nem foglalkozom ezzel.
Használja az FFmpeg parancsot:
sudo ffmpeg -re -i minta-mp4-fájl.mp4 -c copy -f hls rtmp: // localhost / live / streamJátssza le a közvetítést az erőforrás FFplay vagy VLC Media lejátszójával.
ffplay rtmp: // IP / live / streamMiután elindult a folyam, kiszolgáltathatja a szolgáltatást egy külső hálózatnak.
JEGYZET: A nyilvános hozzáférés engedélyezése előtt győződjön meg arról, hogy biztonságban van-e a szerver.
Következtetés
Ez az oktatóanyag bemutatta, hogyan lehet egy streaming szervert beállítani az Nginx és az Nginx RTMP modul használatával. Ne felejtsük el, hogy a streaming szolgáltatás létrehozásában sok eszköz szerepel, és testre szabhatja az Ön igényeinek megfelelően.
Fontolja meg a következő forrásokat, hogy többet tudjon meg.
- https: // ffmpeg.org / ffmpeg.html
- https: // ffmpeg.org / ffplay.html
- https: // ffmpeg.org / ffmpeg-formátumok.html
- https: // obsproject.com / docs /
- https: // wiki.videolan.org / Dokumentáció: Streaming_HowTo