Come configurare nginx rtmp

Come configurare nginx rtmp
Nell'ultimo decennio, lo streaming live è diventato sempre più popolare man mano che gli utenti comunicano con la famiglia e gli amici, guardano i contenuti online ed eseguono operazioni aziendali. Sebbene ci siano servizi e piattaforme popolari per eseguire flussi live, può essere impegnativo e costoso per creare una sessione privata.

Questo tutorial cerca di risolverlo mostrando come impostare un server di streaming live personale che sfrutta Nginx, un server Web potente e leggero e il proxy inverso e il protocollo RTMP.

Prima di procedere, assicurati:

  • Stai eseguendo Ubuntu o Debian Server
  • Avere accesso al tuo server tramite SSH
  • Root utente o privilegi sudo

Iniziamo.

Cos'è nginx

Come accennato in precedenza, Nginx è un server Web open source rapido e leggero e il proxy inverso utilizzato per servire semplici siti Web statici o applicazioni enormi. Nginx è un server Web ad alte prestazioni con velocità e sicurezza incredibili. Grazie alla sua natura leggera, è una scelta molto efficiente per i servizi di streaming e il traffico con traffico enorme.

Puoi saperne di più su Nginx dalla risorsa fornita di seguito:

https: // nginx.org/en/docs/

Cos'è nginx rtmp

Nginx RTMP è un modulo open source e potente per il server Web Nginx. Abilita il protocollo RTMP, lo streaming live HTTP (HLS) e lo streaming adattivo dinamico su HTTP (DASH).

Puoi saperne di più su HLS e Dash dalla pagina delle risorse:

https: // www.cloudflare.com/apprendimento/video/what-is-mpeg-dash/

Ora che sai cosa sono Nginx e Nginx RTMP, impostiamo il server:

Configurare al server

Il primo passo è ottenere l'accesso al server. Assicurati che SSH sul server sia abilitato e che si aggiungono le chiavi per l'accesso più semplice.

ssh [email protected]
Debian@streaming: ~ $

Una volta che abbiamo accesso al server, possiamo iniziare a installare i pacchetti e le librerie richiesti. Innanzitutto, assicurati che il tuo server sia aggiornato:

Sudo Apt-get Aggiornamento
SUDO APT -EGT Aggiornamento -y

Installazione del software richiesto

Per impostare il server di streaming, dovremo creare NGINX dalla sorgente e abilitare il modulo RTMP. Per questo, useremo Build-Essentials e altri pacchetti. Utilizzare il comando APT di seguito per installare tutte le dipendenze.

sudo apt-get install -y build-essenziale libpcre3 libpcre3-dev libsssl-dev git zlib1g-dev

Il prossimo passo è compilare e installare NGINX con il modulo RTMP abilitato. Per rimanere organizzato, crea una directory per il processo.

mkdir ~/make
cd ~/make/

Successivamente, clona il modulo Nginx-RTMP:

Git clone git: // github.com/arut/nginx-rtmp-module.idiota

Ora dobbiamo scaricare nginx.

Vai su http: // nginx.org/en/download.html e seleziona l'opzione di download.

wget http: // nginx.org/download/nginx-1.19.8.catrame.Gz
TAR XZF NGINX-1.19.8.catrame.Gz
CD NGINX-1.19.8

Il passaggio finale in questa sezione è compilare NGINX con il modulo RMTP abilitato. Usa i comandi di seguito:

sudo ./Configura--With-HTTP_SSL_MODULE --Add-Module =… /NGINX-RTMP-Module
sudo make
sudo fare installazione

Impostazione dello streaming live

Per abilitare il supporto RTMP, dobbiamo modificare il file di configurazione Nginx e specificare il blocco RTMP.

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

Immettere il blocco di supporto RTMP come:

rtmp
server
Ascolta il 1935;
ping 30s;
applicazione live
vivere;
interleave;
hls on;
HLS_PATH /TMP /HLS;
hls_sync 100ms;
hls_fragment 15s;



http
DEFAULT_TYPE APPLICAZIONE/OTTET-STREAM;
server
Ascolta 80;
Posizione /TV
root /tmp /hls;


Tipi
applicazione/vnd.mela.mpegurl M3U8;
video/mp2t ts;
text/html html;

Nella configurazione sopra, abilitiamo il modulo RTMP e HLS. Considera la documentazione per imparare a abilitare Dash.

Una volta che hai la configurazione, salva il file e avvia il servizio NGINX.

sudo/usr/local/nginx/sbin/nginx

Inizia in streaming

Una volta che hai tutto configurato correttamente, puoi iniziare lo streaming utilizzando ffmpeg-it il più semplice. Puoi anche configurare altri strumenti come Ob Studio, ma non lo coprirò in questo tutorial.

Usa il comando ffmpeg come:

sudo ffmpeg -re -i campione -mp4 -file.mp4 -c copia -f hls rtmp: // localhost/live/stream

Riproduci il flusso usando FFPlay o VLC Media Player sulla risorsa.

ffplay rtmp: // ip/live/stream

Una volta che hai il flusso in esecuzione, puoi esporre il servizio a una rete esterna.

NOTA: Assicurati di aver assicurato il tuo server prima di consentire l'accesso al pubblico.

Conclusione

Questo tutorial ha coperto come impostare un server di streaming utilizzando NGINX e il modulo NGINX RTMP. Tieni presente che ci sono molti ingranaggi coinvolti nella creazione di un servizio di streaming e puoi personalizzarlo in base alle tue esigenze.

Considera le seguenti risorse per esplorare di più.

  • https: // ffmpeg.org/ffmpeg.html
  • https: // ffmpeg.org/ffplay.html
  • https: // ffmpeg.Org/FFMPEG-Formats.html
  • https: // exproject.com/docs/
  • https: // wiki.Videolan.org/documentazione: streaming_howto