Az Nginx és az Nginx-RTMP telepítése
FFmpeg telepítése
Az Nginx-RTMP és az FFmpeg konfigurálása
Biztonsági megjegyzés
Szoftver konfigurálása az Nginx-RTMP használatához
Az RTMP kiválóan alkalmas élő tartalom kiszolgálására. Ha az RTMP és az FFmpeg párosítva van, az adatfolyamok különféle minőségekké alakíthatók. A Vultr nagyszerű ezekhez az alkalmazásokhoz, mivel gyors és dedikált CPU-teljesítményt biztosítanak. A Vultr globális hálózata azt is biztosítja, hogy Ön minimális késleltetéssel kiváló minőségű élő tartalmat biztosítson. Lássunk neki!
Az Nginx és az Nginx-RTMP telepítése
Telepítse az Nginx és az Nginx-RTMP forrásból történő fordításához szükséges eszközöket.
sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev
Hozzon létre egy munkakönyvtárat, és váltson rá.
mkdir ~/working
cd ~/working
Töltse le az Nginx és Nginx-RTMP forrást.
wget http://nginx.org/download/nginx-1.7.5.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
Telepítse az Unzip csomagot.
sudo apt-get install unzip
Bontsa ki az Nginx és Nginx-RTMP forrást.
tar -zxvf nginx-1.7.5.tar.gz
unzip master.zip
Váltson az Nginx könyvtárra.
cd nginx-1.7.5
Adjon hozzá olyan modulokat, amelyekkel az Nginx le lesz fordítva. Az Nginx-RTMP tartalmazza.
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
Fordítsa le és telepítse az Nginx-et az Nginx-RTMP-vel.
make
sudo make install
Telepítse az Nginx init szkripteket.
sudo wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx
sudo chmod +x /etc/init.d/nginx
sudo update-rc.d nginx defaults
Indítsa el és állítsa le az Nginx-et a konfigurációs fájlok létrehozásához.
sudo service nginx start
sudo service nginx stop
FFmpeg telepítése
Adja hozzá az FFmpeg PPA-t.
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
Frissítse a csomaglistákat.
sudo apt-get update
Telepítse az FFmpeg-et.
sudo apt-get install ffmpeg
Note:
The apt-add-repository command may not be installed in some cases. To install it run sudo apt-get install software-properties-common.
Az Nginx-RTMP és az FFmpeg konfigurálása
Nyissa meg az Nginx konfigurációs fájlt.
sudo nano /usr/local/nginx/conf/nginx.conf
Csatolja a következőket.
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
exec ffmpeg -i rtmp://localhost/live/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://localhost/live360p/$name;
}
application live360p {
live on;
record off;
}
}
}
Miután hozzáadta a fentieket, testreszabhatja a beállításokat, például a videó bitsebességét, a hang bitsebességét és a felbontást. Ezek a változtatások csak a gyengébb minőségű adatfolyamra vonatkoznak. További minőségek hozzáadásához másolja ki és illessze be az exec ffmpeg sort, és módosítsa a beállításokat. Új alkalmazást is létre kell hoznia. Ezt a mellékelt live360 példa másolásával és beillesztésével teheti meg. Ne felejtse el frissíteni az exec ffmpeg sort az új alkalmazás címével. Ezt úgy teheti meg, hogy módosítja a végső RTMP-címet az exec ffmpeg sorban.
Note:
Changing the value after -b:v will change the video bitrate. This is measured in kilobits per second.
Changing the value after -b:a will change the audio bitrate. This is measured in kilobits per second.
Changing the value after -s will change the resolution.
Mentse el a fájlt a Control és az X együttes lenyomásával. Indítsa újra az Nginxet.
sudo service nginx restart
Note:
For best performance, each stream being converted should have its own CPU core. For example two qualities, 360P and 480P are being created from a 720P stream. A Vultr instance with at least two CPU cores should be used.
Biztonsági megjegyzés
Ha tűzfalat használ, meg kell győződnie arról, hogy a TCP 1935 engedélyezett.
A jelenlegi konfiguráció lehetővé teszi, hogy bárki streameljen a szerverére. Ezt úgy tudjuk megoldani, hogy csak bizonyos IP-címeknek engedélyezzük a közzétételi engedélyt. Nyissa meg az Nginx konfigurációját.
sudo nano /usr/local/nginx/conf/nginx.conf
Keresse meg a következő sorokat.
live on;
record off;
Adja hozzá a következőket a fenti sorok mindegyikéhez. Módosítsa a 0.0.0.0-t az IP-címére.
allow publish 127.0.0.1;
allow publish 0.0.0.0;
deny publish all;
A konfigurációnak most valahogy így kell kinéznie.
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
allow publish 127.0.0.1;
allow publish 0.0.0.0;
deny publish all;
exec ffmpeg -i rtmp://localhost/live/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://localhost/live360p/$name;
}
application live360p {
live on;
record off;
allow publish 127.0.0.1;
allow publish 0.0.0.0;
deny publish all;
}
}
}
Mentse el a fájlt a Control és az X együttes lenyomásával. Indítsa újra az Nginxet.
sudo service nginx restart
Szoftver konfigurálása az Nginx-RTMP használatához
A streaming alkalmazásoknak általában két mezője van a kapcsolati információk számára. Az első mező általában a kiszolgáló információit tartalmazza, a második mező pedig általában az adatfolyam nevét vagy kulcsát. Az egyes mezőkbe elhelyezendő információk listája. A stream neve vagy kulcsa bármire beállítható.
Field 1: rtmp://your.vultr.ip/live/
Field 2: stream-key-you-set
A streamek megtekintéséhez nyissa meg a következő hivatkozásokat egy RTMP-t támogató lejátszóban.
rtmp://your.vultr.ip/live/stream-key-you-set
rtmp://your.vultr.ip/live360p/stream-key-you-set
A lejátszó beállítása élő videó megjelenítésére a webhelyen nem tartozik ennek az útmutatónak a körébe. Az „RTMP weblejátszó” kifejezés keresése segíthet.