Postavite Nginx-RTMP na Ubuntu 14.04

RTMP je izvrstan za posluživanje sadržaja uživo. Kada je RTMP uparen s FFmpeg, streamovi se mogu pretvoriti u različite kvalitete. Vultr je izvrstan za ove aplikacije jer pružaju brze i namjenske CPU performanse. Vultrova globalna mreža također osigurava da možete isporučiti visokokvalitetni sadržaj uživo s minimalnim kašnjenjem. Započnimo!

Instalacija Nginxa i Nginx-RTMP

Instalirajte alate potrebne za prevođenje Nginxa i Nginx-RTMP iz izvora.

sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev

Napravite radni direktorij i prijeđite na njega.

mkdir ~/working
cd ~/working

Preuzmite Nginx i Nginx-RTMP izvor.

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

Instalirajte Unzip paket.

sudo apt-get install unzip

Izdvojite Nginx i Nginx-RTMP izvor.

tar -zxvf nginx-1.7.5.tar.gz
unzip master.zip

Prijeđite na Nginx direktorij.

cd nginx-1.7.5

Dodajte module s kojima će Nginx biti preveden. Nginx-RTMP je uključen.

./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master

Prevedite i instalirajte Nginx s Nginx-RTMP.

make
sudo make install

Instalirajte Nginx init skripte.

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

Pokrenite i zaustavite Nginx za generiranje konfiguracijskih datoteka.

sudo service nginx start
sudo service nginx stop

Instalacija FFmpeg

Dodajte FFmpeg PPA.

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next

Ažurirajte popise paketa.

sudo apt-get update

Instalirajte FFmpeg.

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.

Konfiguriranje Nginx-RTMP i FFmpeg

Otvorite Nginx konfiguracijsku datoteku.

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

Dodajte sljedeće.

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

Nakon što dodate gore navedeno, možete prilagoditi postavke kao što su brzina prijenosa videa, brzina prijenosa zvuka i razlučivost. Ove promjene će se primijeniti samo na stream niže kvalitete. Da biste dodali više kvaliteta, kopirajte i zalijepite redak exec ffmpeg i promijenite postavke. Također ćete morati izraditi novu aplikaciju. To možete učiniti kopiranjem i lijepljenjem primjera live360 koji je uključen. Nemojte zaboraviti ažurirati redak exec ffmpeg adresom nove aplikacije. To možete učiniti promjenom konačne RTMP adrese u retku exec ffmpeg.

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.

Spremite datoteku pritiskom na Control i X zajedno. Ponovno pokrenite Nginx.

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.

Sigurnosna napomena

Ako koristite vatrozid, morat ćete provjeriti je li TCP 1935 dopušten.

Trenutna konfiguracija svakome dopušta strujanje na vaš poslužitelj. To možemo popraviti tako da samo određenim IP adresama dopuštamo dopuštenje za objavljivanje. Otvorite konfiguraciju Nginxa.

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

Potražite sljedeće retke.

                live on;
                record off;

Dodajte sljedeće u svaki skup gornjih redaka. Promijenite 0.0.0.0 u svoju IP adresu.

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

Konfiguracija bi sada trebala izgledati otprilike ovako.

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

Spremite datoteku pritiskom na Control i X zajedno. Ponovno pokrenite Nginx.

sudo service nginx restart

Konfiguriranje softvera za rad s Nginx-RTMP

Streaming aplikacije obično imaju dva polja za informacije o vezi. Prvo polje je obično za informacije o poslužitelju, a drugo polje je obično za naziv ili ključ streama. Navedene su informacije koje trebate staviti u svako polje. Naziv ili ključ streama može se postaviti na bilo što.

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

Za pregled streamova otvorite sljedeće veze u playeru koji podržava RTMP.

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

Postavljanje playera za prikazivanje videa uživo na web-mjestu je izvan dosega ovog vodiča. Pretraživanje pojma "RTMP web player" moglo bi vam pomoći.

Ostavite komentar

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više