Konfigurer Nginx-RTMP på Ubuntu 14.04

RTMP er fantastisk til at servere live indhold. Når RTMP er parret med FFmpeg, kan streams konverteres til forskellige kvaliteter. Vultr er fantastisk til disse applikationer, da de giver hurtig og dedikeret CPU-ydeevne. Vultrs globale netværk sikrer også, at du kan levere liveindhold af høj kvalitet med minimal forsinkelse. Lad os komme igang!

Installation af Nginx og Nginx-RTMP

Installer de nødvendige værktøjer til at kompilere Nginx og Nginx-RTMP fra kilden.

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

Lav en arbejdsmappe og skift til den.

mkdir ~/working
cd ~/working

Download Nginx- og Nginx-RTMP-kilden.

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

Installer Unzip-pakken.

sudo apt-get install unzip

Udpak Nginx- og Nginx-RTMP-kilden.

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

Skift til Nginx-biblioteket.

cd nginx-1.7.5

Tilføj moduler, som Nginx vil blive kompileret med. Nginx-RTMP er inkluderet.

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

Kompiler og installer Nginx med Nginx-RTMP.

make
sudo make install

Installer Nginx init-scripts.

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

Start og stop Nginx for at generere konfigurationsfiler.

sudo service nginx start
sudo service nginx stop

Installerer FFmpeg

Tilføj FFmpeg PPA.

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

Opdater pakkelisterne.

sudo apt-get update

Installer 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.

Konfiguration af Nginx-RTMP og FFmpeg

Åbn Nginx-konfigurationsfilen.

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

Tilføj følgende.

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

Når du har tilføjet ovenstående, kan du tilpasse indstillinger såsom video bitrate, audio bitrate og opløsning. Disse ændringer vil kun blive anvendt på streamen af ​​lavere kvalitet. For at tilføje flere kvaliteter skal du kopiere og indsætte exec ffmpeg-linjen og ændre indstillingerne. Du skal også oprette en ny applikation. Du kan gøre dette ved at kopiere og indsætte live360-eksemplet, der er inkluderet. Glem ikke at opdatere exec ffmpeg-linjen med adressen på den nye applikation. Du kan gøre dette ved at ændre den endelige RTMP-adresse i exec ffmpeg-linjen.

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.

Gem filen ved at trykke på Control og X samtidig. Genstart 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.

Sikkerhedsnotat

Hvis du bruger en firewall, skal du sørge for, at TCP 1935 er tilladt.

Den aktuelle konfiguration tillader enhver at streame til din server. Vi kan rette op på dette ved kun at tillade visse IP-adresser publiceringstilladelsen. Åbn Nginx-konfigurationen.

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

Se efter følgende linjer.

                live on;
                record off;

Tilføj følgende til hvert sæt af ovenstående linjer. Skift 0.0.0.0 til din IP-adresse.

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

Konfigurationen skulle nu se nogenlunde sådan ud.

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

Gem filen ved at trykke på Control og X samtidig. Genstart Nginx.

sudo service nginx restart

Konfiguration af software til at arbejde med Nginx-RTMP

Streamingapplikationer har typisk to felter til forbindelsesoplysninger. Det første felt er normalt til serverinformationen, og det andet felt er normalt til streamnavnet eller nøglen. De oplysninger, du skal placere i hvert felt, er angivet. Streamnavnet eller nøglen kan indstilles til hvad som helst.

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

For at se streams skal du åbne følgende links i en afspiller, der understøtter RTMP.

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

Opsætning af en afspiller til at vise live video på et websted ligger uden for denne vejlednings omfang. At søge efter udtrykket 'RTMP-webafspiller' kan måske hjælpe dig.

Linux-vejledninger, Ubuntu, webservere

Efterlad en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere