Iestatiet Nginx-RTMP operētājsistēmā CentOS 7

RTMP ir lieliski piemērota tiešraides satura apkalpošanai. Kad RTMP ir savienots pārī ar FFmpeg, straumes var pārvērst dažādās kvalitātēs. Vultr ir lieliski piemērots šīm lietojumprogrammām, jo ​​tās nodrošina ātru un īpašu CPU veiktspēju. Vultr globālais tīkls arī nodrošina, ka varat nodrošināt augstas kvalitātes tiešraides saturu ar minimālu kavēšanos. Sāksim!

Nginx un Nginx-RTMP instalēšana

Instalējiet rīkus, kas nepieciešami Nginx un Nginx-RTMP kompilēšanai no avota.

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

Izveidojiet darba direktoriju un pārslēdzieties uz to.

mkdir ~/working
cd ~/working

Lejupielādējiet Nginx un Nginx-RTMP avotus.

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

Instalējiet unzip pakotni.

sudo yum install unzip

Izņemiet Nginx un Nginx-RTMP avotu.

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

Pārslēdzieties uz Nginx direktoriju.

cd nginx-1.9.7

Pievienojiet moduļus, lai kompilētu Nginx. Nginx-RTMP ir iekļauts.

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

Kompilējiet un instalējiet Nginx ar Nginx-RTMP.

make
sudo make install

Izveidojiet SystemD vienības failu Nginx.

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

Aizpildiet failu ar šādu saturu.

[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

Sāciet un iespējojiet Nginx pakalpojumu.

sudo systemctl start nginx.service

Pastāstiet SystemD, lai sāknēšanas laikā automātiski palaistu Nginx pakalpojumus.

systemctl enable nginx.service

FFmpeg instalēšana

Instalējiet epel-releaseun atjauniniet sistēmu.

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

Instalējiet Nux repozitoriju.

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

Instalējiet FFmpeg un tā izstrādes pakotnes.

sudo yum install ffmpeg ffmpeg-devel -y

Nginx-RTMP un FFmpeg konfigurēšana

Atveriet Nginx konfigurācijas failu.

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

Konfigurācijai pievienojiet tālāk norādīto.

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

Kad esat pievienojis šo konfigurācijas tekstu, varat pielāgot iestatījumus, piemēram, video bitu pārraides ātrumu, audio bitu pārraides ātrumu un izšķirtspēju. Šīs izmaiņas tiks piemērotas tikai zemākas kvalitātes straumei. Lai pievienotu citas īpašības, kopējiet un ielīmējiet exec FFmpeg rindiņu un mainiet iestatījumus. Jums būs arī jāizveido jauna lietojumprogramma. To var izdarīt, kopējot un ielīmējot iekļauto live360 piemēru. Neaizmirstiet atjaunināt exec FFmpeg rindiņu ar jaunās lietojumprogrammas adresi. To var izdarīt, mainot galīgo RTMP adresi exec FFmpeg rindā.

Piezīme. Mainot vērtību pēc tam, -b:vtiks mainīts video bitu pārraides ātrums. To mēra kilobitos sekundē. Mainot vērtību pēc tam, -b:atiks mainīts audio bitu pārraides ātrums. To mēra kilobitos sekundē. Mainot vērtību pēc tam, -stiks mainīta izšķirtspēja.

Saglabājiet failu, nospiežot CTRL+ X.

Restartējiet Nginx.

sudo service nginx restart

Piezīme. Lai nodrošinātu vislabāko veiktspēju, katrai konvertējamai straumei ir jābūt savam CPU kodolam. Piemēram, ja no 720P straumes tiek izveidotas divas kvalitātes — 360P un 480P, ir jāizmanto Vultr instance ar vismaz diviem CPU kodoliem.

Drošības piezīme

Ja izmantojat ugunsmūri, jums jāpārliecinās, vai tas TCP 1935ir atļauts.

Pašreizējā konfigurācija ļauj ikvienam straumēt uz jūsu serveri. Mēs varam to novērst, tikai noteiktām IP adresēm piešķirot publicēšanas atļauju. Atveriet Nginx konfigurāciju.

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

Meklējiet šādas rindas.

live on;
record off;

Katrai iepriekš minēto rindu kopai pievienojiet tālāk norādīto. Mainiet 0.0.0.0uz savu faktisko IP adresi.

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

Konfigurācija tagad izskatīsies šādi.

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

Saglabājiet failu, nospiežot CTRL+ X.

Restartējiet Nginx.

sudo service nginx restart

Programmatūras konfigurēšana darbam ar Nginx-RTMP

Straumēšanas lietojumprogrammām parasti ir divi savienojuma informācijas lauki. Pirmais lauks parasti ir paredzēts servera informācijai, bet otrais lauks parasti ir paredzēts straumes nosaukumam vai atslēgai. Ir norādīta informācija, kas jāievieto katrā laukā. Straumes nosaukumu vai atslēgu var iestatīt uz jebko.

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

Lai skatītu straumes, atveriet šīs saites atskaņotājā, kas atbalsta RTMP.

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

Atstājiet komentāru

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk