Come impostare un server di streaming video utilizzando Nginx-RTMP su Ubuntu 22.04

Come impostare un server di streaming video utilizzando Nginx-RTMP su Ubuntu 22.04

Introduzione

Lo streaming video è diventato una parte integrante dell’esperienza online moderna. Sia che si tratti di guardare film, video musicali o trasmissioni in diretta, lo streaming video offre un modo conveniente e coinvolgente per accedere ai contenuti. Mentre ci sono molte piattaforme di streaming video disponibili, impostare il proprio server di streaming può fornire maggiore controllo, flessibilità e costi inferiori.

In questo articolo, ti guideremo attraverso il processo di impostazione di un server di streaming video utilizzando Nginx-RTMP su Ubuntu 22.04. Nginx-RTMP è un server di streaming multimediale open source ad alte prestazioni che può gestire video in diretta e on-demand. È noto per la sua stabilità, scalabilità e basso utilizzo delle risorse.

Prerequisiti

* Un server Ubuntu 22.04 configurato con un indirizzo IP statico
* Un nome di dominio registrato
* Root o accesso sudo

Installazione di Nginx-RTMP

1. Aggiorna l’elenco dei pacchetti:

sudo apt update

2. Installa Nginx-RTMP:

sudo apt install nginx-rtmp

3. Abilita il modulo RTMP:

sudo a2enmod rtmp

4. Ricarica Nginx:

sudo systemctl restart nginx

Configurazione del server RTMP

1. Crea un file di configurazione per il server RTMP in /etc/nginx/conf.d/rtmp.conf:

sudo nano /etc/nginx/conf.d/rtmp.conf

2. Aggiungi la seguente configurazione al file:

server {
listen 1935;
rtmp {
server {
listen play;
allow publish all;
application live {
live on;
}
}
}
}

3. Salva e chiudi il file.

Configurazione del firewall

Consentiamo ora il traffico attraverso la porta 1935, utilizzata dal server RTMP:

sudo ufw allow 1935/tcp

Creazione di un certificato SSL

Per proteggere lo streaming video, generiamo un certificato SSL:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/rtmp.key -out /etc/nginx/ssl/rtmp.crt

Configurazione di Nginx per utilizzare SSL

Modifichiamo la configurazione di Nginx per utilizzare il certificato SSL:

sudo nano /etc/nginx/sites-available/default

2. Aggiungi la seguente configurazione al file:

server {

...

listen 443 ssl;
ssl_certificate /etc/nginx/ssl/rtmp.crt;
ssl_certificate_key /etc/nginx/ssl/rtmp.key;

...

}

3. Salva e chiudi il file.

Ricarica Nginx

Ricarichiamo Nginx per applicare le modifiche:

sudo systemctl reload nginx

Configurazione del client di streaming

Utilizziamo OBS Studio come client di streaming:

1. Scarica e installa OBS Studio:
Windows
macOS
Linux

2. Configura OBS Studio per connettersi al server RTMP:
– Apri OBS Studio e vai a Impostazioni -> Trasmissione.
– Seleziona “Personalizzato” come servizio di streaming e inserisci le seguenti informazioni:
– URL del server: rtmp://[tuo dominio]:1935/live
– Chiave stream: live
– Fai clic su “Applica” e “OK”.

3. Avvia la trasmissione da OBS Studio e dovresti vedere il tuo video in streaming sul tuo sito web utilizzando il seguente URL:
– https://[tuo dominio]/live

Conclusione

In questo articolo, abbiamo fornito una guida passo passo su come impostare un server di streaming video utilizzando Nginx-RTMP su Ubuntu 22.04. Seguendo questi passaggi, puoi creare il tuo sistema di streaming personalizzato, che ti consente di trasmettere video in diretta e on-demand ai tuoi spettatori.

Utilizzando Nginx-RTMP, puoi beneficiare di prestazioni elevate, scalabilità e basso utilizzo delle risorse. Inoltre, l’implementazione di un certificato SSL garantisce che i tuoi stream siano protetti e accessibili in modo sicuro. Che tu stia eseguendo lo streaming di eventi live, film o video didattici, questa configurazione ti fornisce una soluzione affidabile e personalizzabile.

FAQ

1. Posso utilizzare un nome di dominio diverso per il mio sito web e il server di streaming?
Sì, puoi utilizzare nomi di dominio diversi, purché puntino allo stesso server.

2. Devo utilizzare OBS Studio per lo streaming?
No, puoi utilizzare qualsiasi client di streaming compatibile con RTMP.

3. Come posso proteggere il mio streaming da accessi non autorizzati?
Puoi utilizzare l’autenticazione nel file di configurazione RTMP.

4. Posso trasmettere video ad alta risoluzione utilizzando Nginx-RTMP?
Sì, Nginx-RTMP supporta lo streaming video ad alta risoluzione.

5. Come posso configurare il transito RTMP su una porta diversa?
Modifica la porta di ascolto nel file di configurazione RTMP.

6. Perché non riesco a connettermi al mio server di streaming?
Controlla se la porta del firewall è aperta e verifica le impostazioni di configurazione.

7. Come posso monitorare il mio server di streaming?
Puoi utilizzare strumenti come Nginx-RTMP-Inspector o Zabbix.

8. Posso trasmettere video live e on-demand utilizzando Nginx-RTMP?
Sì, puoi configurare applicazioni distinte per lo streaming live e on-demand.