Nastavite Nginx-RTMP na CentOS 7

RTMP je odličen za prikazovanje vsebin v živo. Ko je RTMP seznanjen s FFmpeg, je mogoče tokove pretvoriti v različne kakovosti. Vultr je odličen za te aplikacije, saj zagotavljajo hitro in namensko zmogljivost CPU. Vultrova globalna mreža prav tako zagotavlja, da lahko z minimalno zamudo zagotovite visokokakovostne vsebine v živo. Začnimo!

Namestitev Nginx in Nginx-RTMP

Namestite orodja, potrebna za prevajanje Nginxa in Nginx-RTMP iz vira.

sudo yum install pcre pcre-devel openssl openssl-devel zlib zlib-devel -y

Naredite delovni imenik in preklopite nanj.

mkdir ~/working
cd ~/working

Prenesite vire Nginx in Nginx-RTMP.

wget http://nginx.org/download/nginx-1.9.7.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip

Namestite razpakiran paket.

sudo yum install unzip

Ekstrahirajte vir Nginx in Nginx-RTMP.

tar -xvf nginx-1.9.7.tar.gz
unzip v1.2.1.zip

Preklopite na imenik Nginx.

cd nginx-1.9.7

Dodajte module za prevajanje v Nginx. Nginx-RTMP je vključen.

./configure --add-module=../nginx-rtmp-module-1.2.1/

Prevedite in namestite Nginx z Nginx-RTMP.

make
sudo make install

Ustvarite datoteko enote SystemD za Nginx.

sudo nano /usr/lib/systemd/system/nginx.service

Napolnite datoteko z naslednjo vsebino.

[Unit]
Description=nginx - high performance web server
Documentation=https://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID

[Install]
WantedBy=multi-user.target

Zaženite in omogočite storitev Nginx.

sudo systemctl start nginx.service

Povejte SystemD, naj samodejno zažene storitve Nginx ob zagonu.

systemctl enable nginx.service

Namestitev FFmpeg

Namestite epel-releasein posodobite sistem.

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

Namestite skladišče Nux.

sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

Namestite FFmpeg in njegove razvojne pakete.

sudo yum install ffmpeg ffmpeg-devel -y

Konfiguriranje Nginx-RTMP in FFmpeg

Odprite konfiguracijsko datoteko Nginx.

sudo nano /usr/local/nginx/conf/nginx.conf

Konfiguraciji dodajte naslednje.

    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;
        }
    }
}

Ko dodate to konfiguracijsko besedilo, lahko prilagodite nastavitve, kot so bitna hitrost videa, bitna hitrost zvoka in ločljivost. Te spremembe bodo uporabljene samo za tok nižje kakovosti. Če želite dodati več kakovosti, kopirajte in prilepite vrstico exec FFmpeg in spremenite nastavitve. Prav tako boste morali ustvariti novo aplikacijo. To lahko storite tako, da kopirate in prilepite vključeni primer live360. Ne pozabite posodobiti vrstice exec FFmpeg z naslovom nove aplikacije. To lahko storite tako, da spremenite končni naslov RTMP v vrstici exec FFmpeg.

Opomba: Če spremenite vrednost po, -b:vse spremeni bitna hitrost videa. To se meri v kilobitih na sekundo. Če spremenite vrednost po, se -b:abo spremenila bitna hitrost zvoka. To se meri v kilobitih na sekundo. Če spremenite vrednost po, -sse spremeni ločljivost.

Shranite datoteko s pritiskom na CTRL+ X.

Znova zaženite Nginx.

sudo service nginx restart

Opomba: Za najboljšo zmogljivost mora imeti vsak tok, ki se pretvarja, svoje jedro CPE. Na primer, če se iz toka 720P ustvarita dve kakovosti, 360P in 480P, je treba uporabiti primerek Vultr z vsaj dvema jedroma CPU.

Varnostna opomba

Če uporabljate požarni zid, se morate prepričati, da TCP 1935je dovoljeno.

Trenutna konfiguracija omogoča vsakomur, da pretaka na vaš strežnik. To lahko popravimo tako, da samo določenim naslovom IP damo dovoljenje za objavo. Odprite konfiguracijo Nginx.

sudo nano /usr/local/nginx/conf/nginx.conf

Poiščite naslednje vrstice.

live on;
record off;

Vsakemu nizu zgornjih vrstic dodajte naslednje. Spremenite 0.0.0.0svoj dejanski naslov IP.

allow publish 127.0.0.1;
allow publish 0.0.0.0;
deny publish all;

Konfiguracija bo zdaj videti nekako takole.

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;
        }
    }
}

Shranite datoteko s pritiskom na CTRL+ X.

Znova zaženite Nginx.

sudo service nginx restart

Konfiguriranje programske opreme za delo z Nginx-RTMP

Pretočne aplikacije imajo običajno dve polji za informacije o povezavi. Prvo polje je običajno za informacije o strežniku, drugo polje pa je običajno za ime ali ključ toka. Navedene so informacije, ki jih morate vnesti v vsako polje. Ime ali ključ toka lahko nastavite na karkoli.

Field 1: rtmp://your.vultr.ip/live/
Field 2: stream-key-you-set

Za ogled tokov odprite naslednje povezave v predvajalniku, ki podpira RTMP.

rtmp://your.vultr.ip/live/stream-key-you-set
rtmp://your.vultr.ip/live360p/stream-key-you-set

Pusti komentar

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več