Configura Nginx-RTMP a CentOS 7

RTMP és ideal per mostrar contingut en directe. Quan RTMP es combina amb FFmpeg, els fluxos es poden convertir en diverses qualitats. Vultr és ideal per a aquestes aplicacions, ja que ofereixen un rendiment de CPU ràpid i dedicat. La xarxa global de Vultr també garanteix que podeu oferir contingut en directe d'alta qualitat amb un retard mínim. Comencem!

Instal·lant Nginx i Nginx-RTMP

Instal·leu les eines necessàries per compilar Nginx i Nginx-RTMP des de la font.

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

Feu un directori de treball i canvieu-hi.

mkdir ~/working
cd ~/working

Baixeu les fonts Nginx i Nginx-RTMP.

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

Instal·leu el paquet descomprimit.

sudo yum install unzip

Extraieu la font Nginx i Nginx-RTMP.

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

Canvia al directori Nginx.

cd nginx-1.9.7

Afegiu mòduls per compilar a Nginx. Nginx-RTMP està inclòs.

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

Compileu i instal·leu Nginx amb Nginx-RTMP.

make
sudo make install

Creeu un fitxer d'unitat SystemD per a Nginx.

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

Omple el fitxer amb el contingut següent.

[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

Inicieu i activeu el servei Nginx.

sudo systemctl start nginx.service

Digueu a SystemD que iniciï els serveis Nginx automàticament a l'arrencada.

systemctl enable nginx.service

Instal·lant FFmpeg

Instal·leu epel-releasei actualitzeu el sistema.

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

Instal·leu el repositori 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

Instal·leu FFmpeg i els seus paquets de desenvolupament.

sudo yum install ffmpeg ffmpeg-devel -y

Configuració de Nginx-RTMP i FFmpeg

Obriu el fitxer de configuració de Nginx.

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

Afegiu el següent a la configuració.

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

Després d'haver afegit aquest text de configuració, podeu personalitzar la configuració, com ara la taxa de bits de vídeo, la taxa de bits d'àudio i la resolució. Aquests canvis només s'aplicaran al flux de qualitat inferior. Per afegir més qualitats, copieu i enganxeu la línia exec FFmpeg i canvieu la configuració. També haureu de crear una aplicació nova. Podeu fer-ho copiant i enganxant l'exemple de live360 que s'ha inclòs. No oblideu actualitzar la línia exec FFmpeg amb l'adreça de la nova aplicació. Podeu fer-ho canviant l'adreça RTMP final a la línia exec FFmpeg.

Nota: canviar el valor després -b:vcanviarà la taxa de bits del vídeo. Això es mesura en quilobits per segon. Si canvieu el valor després -b:a, canviarà la taxa de bits d'àudio. Això es mesura en quilobits per segon. Si canvieu el valor després -s, canviarà la resolució.

Deseu el fitxer prement CTRL+ X.

Reinicieu Nginx.

sudo service nginx restart

Nota: per obtenir el millor rendiment, cada flux que s'està convertint hauria de tenir el seu propi nucli de CPU. Per exemple, si es creen dues qualitats, 360P i 480P, a partir d'un flux de 720P, s'hauria d'utilitzar una instància Vultr amb almenys dos nuclis de CPU.

Nota de seguretat

Si utilitzeu un tallafoc, haureu d'assegurar-vos que TCP 1935està permès.

La configuració actual permet que qualsevol pugui reproduir el vostre servidor. Podem solucionar-ho només donant permís de publicació a determinades adreces IP. Obriu la configuració de Nginx.

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

Busca les següents línies.

live on;
record off;

Afegiu el següent a cada conjunt de les línies anteriors. Canvia 0.0.0.0a la teva adreça IP real.

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

La configuració ara semblarà a la següent.

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

Deseu el fitxer prement CTRL+ X.

Reinicieu Nginx.

sudo service nginx restart

Configuració del programari per treballar amb Nginx-RTMP

Les aplicacions de streaming solen tenir dos camps per a la informació de connexió. El primer camp sol ser per a la informació del servidor i el segon camp sol ser per al nom o la clau del flux. Es mostra la informació que heu de col·locar a cada camp. El nom o la clau del flux es pot definir amb qualsevol cosa.

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

Per veure els fluxos, obriu els enllaços següents en un reproductor que admeti RTMP.

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

Deixa un comentari

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació