Sett opp Nginx-RTMP på Ubuntu 14.04

RTMP er flott for å vise live-innhold. Når RTMP er sammenkoblet med FFmpeg, kan strømmer konverteres til ulike kvaliteter. Vultr er flott for disse applikasjonene da de gir rask og dedikert CPU-ytelse. Vultrs globale nettverk sikrer også at du kan levere høykvalitets liveinnhold med minimal forsinkelse. La oss komme i gang!

Installerer Nginx og Nginx-RTMP

Installer verktøyene som kreves for å kompilere Nginx og Nginx-RTMP fra kilden.

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

Lag en arbeidskatalog og bytt til den.

mkdir ~/working
cd ~/working

Last ned 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

Pakk ut Nginx- og Nginx-RTMP-kilden.

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

Bytt til Nginx-katalogen.

cd nginx-1.7.5

Legg til moduler som Nginx vil bli kompilert med. Nginx-RTMP er inkludert.

./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-skriptene.

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 stopp Nginx for å generere konfigurasjonsfiler.

sudo service nginx start
sudo service nginx stop

Installerer FFmpeg

Legg til FFmpeg PPA.

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

Oppdater pakkelistene.

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.

Konfigurere Nginx-RTMP og FFmpeg

Åpne Nginx-konfigurasjonsfilen.

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

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

Etter at du har lagt til ovenstående, kan du tilpasse innstillinger som videobithastighet, lydbithastighet og oppløsning. Disse endringene vil bare bli brukt på strømmen av lavere kvalitet. For å legge til flere kvaliteter, kopier og lim inn exec ffmpeg-linjen og endre innstillingene. Du må også opprette en ny applikasjon. Du kan gjøre dette ved å kopiere og lime inn live360-eksemplet som er inkludert. Ikke glem å oppdatere exec ffmpeg-linjen med adressen til den nye applikasjonen. Du kan gjøre dette ved å endre den endelige RTMP-adressen 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.

Lagre filen ved å trykke Ctrl og X samtidig. Start Nginx på nytt.

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.

Sikkerhetsmerknad

Hvis du bruker en brannmur, må du sørge for at TCP 1935 er tillatt.

Den nåværende konfigurasjonen lar hvem som helst streame til serveren din. Vi kan fikse dette ved å bare gi visse IP-adresser tillatelse til å publisere. Åpne Nginx-konfigurasjonen.

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

Se etter følgende linjer.

                live on;
                record off;

Legg til følgende til hvert sett av linjene ovenfor. Endre 0.0.0.0 til din IP-adresse.

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

Konfigurasjonen skal nå se omtrent slik ut.

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

Lagre filen ved å trykke Ctrl og X samtidig. Start Nginx på nytt.

sudo service nginx restart

Konfigurere programvare for å fungere med Nginx-RTMP

Strømmeapplikasjoner har vanligvis to felt for tilkoblingsinformasjon. Det første feltet er vanligvis for serverinformasjon og det andre feltet er vanligvis for strømnavnet eller nøkkelen. Informasjonen du bør legge inn i hvert felt er oppført. Strømnavnet eller nøkkelen kan settes til hva som helst.

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

For å se strømmer, åpne følgende lenker i en spiller som støtter RTMP.

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

Å sette opp en spiller for å vise live video på et nettsted er utenfor denne veiledningens omfang. Det kan hjelpe deg å søke etter begrepet 'RTMP web player'.

Legg igjen 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 akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer