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:
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ù.