Installa Nginx-RTMP su Ubuntu 14.04

RTMP è ottimo per pubblicare contenuti live. Quando RTMP è associato a FFmpeg, i flussi possono essere convertiti in varie qualità. Vultr è eccezionale per queste applicazioni in quanto forniscono prestazioni della CPU veloci e dedicate. La rete globale di Vultr garantisce inoltre la possibilità di fornire contenuti live di alta qualità con il minimo ritardo. Iniziamo!

Installazione di Nginx e Nginx-RTMP

Installa gli strumenti necessari per compilare Nginx e Nginx-RTMP dal sorgente.

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

Crea una directory di lavoro e passa ad essa.

mkdir ~/working
cd ~/working

Scarica la sorgente Nginx e Nginx-RTMP.

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

Installa il pacchetto Unzip.

sudo apt-get install unzip

Estrarre la sorgente Nginx e Nginx-RTMP.

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

Passa alla directory Nginx.

cd nginx-1.7.5

Aggiungi moduli con cui verrà compilato Nginx. Nginx-RTMP è incluso.

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

Compilare e installare Nginx con Nginx-RTMP.

make
sudo make install

Installa gli script init di Nginx.

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

Avvia e arresta Nginx per generare file di configurazione.

sudo service nginx start
sudo service nginx stop

Installazione di FFmpeg

Aggiungi il PPA FFmpeg.

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

Aggiorna gli elenchi dei pacchetti.

sudo apt-get update

Installa FFmpeg.

sudo apt-get install ffmpeg

Nota: il comando apt-add-repository potrebbe non essere installato in alcuni casi. Per installarlo eseguire sudo apt-get install software-properties-common.

Configurazione di Nginx-RTMP e FFmpeg

Apri il file di configurazione di Nginx.

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

Aggiungi quanto segue.

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

Dopo aver aggiunto quanto sopra, puoi personalizzare le impostazioni come bitrate video, bitrate audio e risoluzione. Queste modifiche verranno applicate solo al flusso di qualità inferiore. Per aggiungere più qualità, copia e incolla la riga exec ffmpeg e modifica le impostazioni. Dovrai anche creare una nuova applicazione. Puoi farlo copiando e incollando l'esempio live360 che è stato incluso. Non dimenticare di aggiornare la riga exec ffmpeg con l'indirizzo della nuova applicazione. Puoi farlo modificando l'indirizzo RTMP finale nella riga exec ffmpeg.

Nota: la modifica del valore dopo -b:vmodifica il bitrate del video. Questo è misurato in kilobit al secondo. La modifica del valore dopo -b:amodifica il bitrate audio. Questo è misurato in kilobit al secondo. La modifica del valore dopo -smodifica la risoluzione.

Salvare il file premendo Control e X insieme. Riavvia Nginx.

sudo service nginx restart

Nota: per prestazioni ottimali, ogni flusso convertito dovrebbe avere il proprio core della CPU. Ad esempio due qualità, 360P e 480P vengono create da un flusso 720P. È necessario utilizzare un'istanza Vultr con almeno due core della CPU.

Nota sulla sicurezza

Se si utilizza un firewall, è necessario assicurarsi che TCP 1935 sia consentito.

L'attuale configurazione consente a chiunque di eseguire lo streaming sul tuo server. Possiamo risolvere questo problema autorizzando la pubblicazione solo per determinati indirizzi IP. Apri la configurazione di Nginx.

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

Cerca le seguenti righe.

                live on;
                record off;

Aggiungi quanto segue a ciascun set delle righe sopra. Cambia 0.0.0.0 nel tuo indirizzo IP.

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

La configurazione ora dovrebbe assomigliare a questa.

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

Salvare il file premendo Control e X insieme. Riavvia Nginx.

sudo service nginx restart

Configurazione del software per l'utilizzo con Nginx-RTMP

Le applicazioni di streaming in genere hanno due campi per le informazioni sulla connessione. Il primo campo è in genere per le informazioni sul server e il secondo campo è in genere per il nome o la chiave del flusso. Vengono elencate le informazioni che è necessario inserire in ciascun campo. Il nome o la chiave dello stream può essere impostato su qualsiasi cosa.

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

Per visualizzare i flussi, aprire i seguenti collegamenti in un lettore che supporta RTMP.

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

La configurazione di un lettore per la visualizzazione di video in diretta su un sito Web non rientra nell'ambito di questa guida. La ricerca del termine "RTMP web player" potrebbe aiutarti.



Leave a Comment

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.