Installazione di Nginx-RTMP su CentOS 7

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 ti assicura anche di poter 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 yum install pcre pcre-devel openssl openssl-devel zlib zlib-devel -y

Crea una directory di lavoro e passa ad essa.

mkdir ~/working
cd ~/working

Scarica le fonti Nginx e Nginx-RTMP.

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

Installa il pacchetto di decompressione.

sudo yum install unzip

Estrarre la sorgente Nginx e Nginx-RTMP.

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

Passa alla directory Nginx.

cd nginx-1.9.7

Aggiungi moduli da compilare in Nginx. Nginx-RTMP è incluso.

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

Compilare e installare Nginx con Nginx-RTMP.

make
sudo make install

Creare un file di unità SystemD per Nginx.

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

Popolare il file con il seguente contenuto.

[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

Avviare e abilitare il servizio Nginx.

sudo systemctl start nginx.service

Di 'a SystemD di avviare automaticamente i servizi Nginx all'avvio.

systemctl enable nginx.service

Installazione di FFmpeg

Installa epel-releasee aggiorna il sistema.

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

Installa il repository Nux.

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

Installa FFmpeg e i suoi pacchetti di sviluppo.

sudo yum install ffmpeg ffmpeg-devel -y

Configurazione di Nginx-RTMP e FFmpeg

Apri il file di configurazione di Nginx.

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

Aggiungi quanto segue alla configurazione.

    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 il testo di configurazione, è possibile personalizzare impostazioni quali 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 cambiando 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 CTRL+ X.

Riavvia Nginx.

sudo service nginx restart

Nota: per prestazioni ottimali, ogni flusso convertito dovrebbe avere il proprio core della CPU. Ad esempio, se 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 1935sia consentito.

La configurazione corrente consente a chiunque di eseguire lo streaming sul tuo server. Possiamo risolvere questo problema concedendo a determinati indirizzi IP l'autorizzazione alla pubblicazione. 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. Passa 0.0.0.0al tuo attuale indirizzo IP.

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

La configurazione ora avrà un aspetto simile al seguente.

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 CTRL+ X.

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, apri 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


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.