Un server RTMP è un server che trasmette dati audio e video in tempo reale su internet, so­prat­tut­to per gli streaming live. Riceve il flusso e lo inoltra a piat­ta­for­me di streaming o di­ret­ta­men­te alle persone che guardano. I server di streaming personali offrono una serie di vantaggi rispetto ai fornitori online.

Novità: offerta VPS
Il tuo server virtuale a prezzi im­bat­ti­bi­li

Prova il nostro VPS. I primi 30 giorni sono in omaggio e se allo scadere del periodo di prova non sarai convinto, ti rim­bor­se­re­mo tutte le spese sostenute.

Cos’è un server RTMP?

I servizi di streaming sono ormai am­pia­men­te diffusi. In par­ti­co­la­re, la piat­ta­for­ma Twitch è diventata parte in­te­gran­te della routine quo­ti­dia­na di molti gamer. Tuttavia, gli streaming live stanno gua­da­gnan­do po­po­la­ri­tà anche in altri ambiti, come musica, arte o cucina.

Un server RTMP permette di creare un server di streaming personale senza ricorrere a piat­ta­for­me come Twitch. Questo è reso possibile dal Real Time Messaging Protocol (RTMP), un pro­to­col­lo di rete svi­lup­pa­to da Adobe Inc., che permette di tra­smet­te­re contenuti audio e video a un lettore Flash per la ri­pro­du­zio­ne in tempo reale.

Sebbene Adobe abbia in­ter­rot­to il supporto per Flash Player alla fine del 2020 il pro­to­col­lo RTMP continua a essere am­pia­men­te uti­liz­za­to. Anche se non è più possibile vi­sua­liz­za­re i flussi di­ret­ta­men­te in un browser, le ap­pli­ca­zio­ni video come VLC Player o altre al­ter­na­ti­ve possono ancora riceverli tramite RTMP.

Nelle con­fi­gu­ra­zio­ni moderne di streaming, il pro­to­col­lo RTMP di solito non viene usato per la consegna diretta alle persone che guardano. Viene invece uti­liz­za­to come pro­to­col­lo di ingest, tramite il quale lo streaming viene inviato da un encoder (ad esempio OBS) al server. La di­stri­bu­zio­ne effettiva ai di­spo­si­ti­vi finali avviene poi tramite pro­to­col­li come HLS (HTTP Live Streaming), DASH o WebRTC, sup­por­ta­ti da tutti i browser e di­spo­si­ti­vi più diffusi.

Quali vantaggi offre un server RTMP?

Un server di streaming personale consente di tra­smet­te­re contenuti a propria di­scre­zio­ne senza alcuna li­mi­ta­zio­ne. Inoltre, non vengono inseriti annunci pub­bli­ci­ta­ri, a dif­fe­ren­za di molte piat­ta­for­me tra­di­zio­na­li. Per questo motivo, i server di streaming live sono par­ti­co­lar­men­te ap­prez­za­ti nella community del gaming.

Un server di streaming personale può rivelarsi van­tag­gio­so anche in altri ambiti. Ad esempio, consente di tra­smet­te­re streaming live o contenuti video di­ret­ta­men­te dal server senza passare per piat­ta­for­me esterne come YouTube. Questa soluzione è par­ti­co­lar­men­te in­te­res­san­te per i webinar.

I requisiti per con­fi­gu­ra­re un server RTMP

Prima di avviare la con­fi­gu­ra­zio­ne del tuo server di streaming, è ne­ces­sa­rio sod­di­sfa­re alcuni requisiti. La prima scelta da fare riguarda una soluzione server adeguata. Poiché è es­sen­zia­le garantire uno streaming fluido, è scon­si­glia­bi­le affidarsi alla capacità di ela­bo­ra­zio­ne di un PC o computer portatile personale, so­prat­tut­to se è lo stesso che viene uti­liz­za­to per giocare. Tra i vari requisiti fon­da­men­ta­li, la larghezza di banda della con­nes­sio­ne internet risulta de­ter­mi­nan­te.

Pre­sta­zio­ni del pro­ces­so­re (CPU)

Un server RTMP non è par­ti­co­lar­men­te esigente in termini di potenza di calcolo. Un singolo core della CPU può essere suf­fi­cien­te per progetti di piccole di­men­sio­ni senza trans­co­di­fi­ca. Tuttavia, se il server deve gestire anche la trans­co­di­fi­ca, i requisiti possono aumentare.

Memoria RAM

Anche dal punto di vista della memoria RAM un server RTMP non presenta quasi mai grandi requisiti. Già 4 GB possono essere suf­fi­cien­ti per progetti più piccoli. Se hai piani più ambiziosi, è meglio orien­tar­si su 8 GB.

Spazio su disco

I file di in­stal­la­zio­ne del software NGINX non occupano molto spazio. Tuttavia, è im­por­tan­te con­si­de­ra­re lo spazio di­spo­ni­bi­le se si prevede di salvare gli streaming di­ret­ta­men­te sul server. Questo dipende dalla lunghezza e dalla qualità dello streaming.

Larghezza di banda

Uno degli aspetti più critici è la larghezza di banda. La quantità di dati trasmessi dallo streaming dipende dalla qualità video e audio, dal numero di spet­ta­to­ri e dalla quantità di streaming ef­fet­tua­ti. Se il server deve tra­smet­te­re più streaming allo stesso tempo, sarà ne­ces­sa­ria una larghezza di banda più elevata.

Hosting di un server RTMP con IONOS

IONOS offre tre diverse soluzioni per l’hosting del tuo server:

  • Server dedicato: hardware dedicato esclu­si­va­men­te per il tuo server, con fat­tu­ra­zio­ne al minuto.
  • Server virtuale (VPS): un Virtual Private Server (VPS) che utilizza un ambiente vir­tua­liz­za­to su hardware dedicato.
  • Server cloud: la soluzione fles­si­bi­le che ti consente di ag­giun­ge­re o rimuovere risorse fa­cil­men­te e ve­lo­ce­men­te.

Le soluzioni server si dif­fe­ren­zia­no per fles­si­bi­li­tà e modello di fat­tu­ra­zio­ne. I server cloud e i server dedicati vengono ad­de­bi­ta­ti al minuto. Non appena rilasci le risorse, ovvero elimini il server, i costi si azzerano. Un server virtuale (VPS), invece, richiede un budget mensile fisso. Un server cloud offre inoltre un’elevata fles­si­bi­li­tà: con pochi clic puoi ag­giun­ge­re o rimuovere risorse come spazio di ar­chi­via­zio­ne, memoria RAM e core del pro­ces­so­re.

Con­fi­gu­ra­re un server RTMP: guida completa

Di seguito ti mo­stre­re­mo come impostare fa­cil­men­te un server RTMP. Nell’esempio uti­liz­ze­re­mo un server cloud di IONOS con Windows. Se utilizzi una di­stri­bu­zio­ne Linux come sistema operativo del server, dovrai adattare alcuni passaggi della guida.

Primo passaggio: col­le­gar­si al server

Per prima cosa, devi con­net­ter­ti al tuo server. Accedi alla tua area cliente IONOS e vai alla sezione “Server & Cloud”. Dopo aver se­le­zio­na­to il contratto cor­ri­spon­den­te, accederai al Cloud Panel. Tra le cre­den­zia­li di accesso trovi la voce “Con­nes­sio­ne desktop remoto”. Facendo clic sul col­le­ga­men­to, il browser sca­ri­che­rà un file che con­fi­gu­re­rà au­to­ma­ti­ca­men­te le im­po­sta­zio­ni corrette per lo strumento di con­nes­sio­ne remota di Windows. A questo punto, per accedere al desktop del server devi solo inserire la password (visibile nel Cloud Panel) e stabilire la con­nes­sio­ne.

Immagine: Schermata del Cloud Panel di IONOS per il server RTMP
Puoi trovare il file ne­ces­sa­rio per la con­nes­sio­ne remota al tuo server RTMP nelle im­po­sta­zio­ni del server nel Cloud Panel.

Anche se usi un sistema operativo diverso da Windows, puoi comunque stabilire una con­nes­sio­ne remota. Ti basterà scaricare un apposito software per il desktop remoto e uti­liz­za­re le cre­den­zia­li fornite nel Cloud Panel per accedere al server.

Secondo passaggio: in­stal­la­re NGINX con il modulo RTMP

Per il server RTMP uti­liz­zia­mo NGINX, un server web che, grazie a un modulo ag­giun­ti­vo, permette anche lo streaming tramite RTMP.

N.B.

Il pacchetto ufficiale NGINX per Windows non include per im­po­sta­zio­ne pre­de­fi­ni­ta il modulo RTMP. Per uti­liz­za­re RTMP ti serve una versione di NGINX compilata con il modulo di terze parti nginx-rtmp-module. Con il comando nginx -V puoi ve­ri­fi­ca­re se il modulo RTMP è presente nella tua versione. Nell’output dovrebbe comparire un ri­fe­ri­men­to a “nginx-rtmp-module”.

Scarica l’ultima versione pre­com­pi­la­ta del software che include già il modulo RTMP. Un esempio è la variante di build nginx-rtmp-win32, che viene messa a di­spo­si­zio­ne come binario per Windows su GitHub. Versioni di questo tipo con­ten­go­no già il modulo RTMP compilato evi­tan­do­ti una complessa com­pi­la­zio­ne manuale. Con l’aiuto del prompt dei comandi puoi quindi avviare NGINX. A questo scopo, nella riga di comando vai alla cartella estratta e avvia il server web con un solo comando:

start NGINX
bash

Non verrà aperta alcuna finestra, in quanto il server sarà eseguito in back­ground. Per ve­ri­fi­ca­re il fun­zio­na­men­to, apri nel browser l’indirizzo IP del server. Ora dovresti vi­sua­liz­za­re una pagina con un messaggio di conferma di NGINX.

Terzo passaggio: con­fi­gu­ra­re RTMP

Per fare in modo che il tuo server sia pronto anche per RTMP, devi ora mo­di­fi­ca­re il file di con­fi­gu­ra­zio­ne. Cerca nella cartella di NGINX il file “nginx.conf”. Puoi aprirlo con un editor di testo. Alla fine del file inserisci il seguente codice:

rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
# Attivare HLS
hls on;
hls_path C:/nginx/hls;
hls_fragment 3s;
hls_playlist_length 30s;
}
}
}
http {
server {
listen 8080;
location /hls {
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root C:/nginx;
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
}
}
}
nginx

Questa con­fi­gu­ra­zio­ne fa sì che il tuo server riceva i flussi in ingresso tramite RTMP sulla porta 1935. All’interno dell’ap­pli­ca­zio­ne live il flusso viene elaborato e, con la funzione HLS attivata, viene inoltre con­ver­ti­to in piccoli file video e in un file playlist.

Il blocco http mette quindi a di­spo­si­zio­ne questi file HLS sulla porta 8080, in modo che possano essere ri­pro­dot­ti nel browser o in lettori com­pa­ti­bi­li. Mentre RTMP viene quindi uti­liz­za­to per l’im­mis­sio­ne (ingest) dello streaming, HLS si occupa della vera e propria di­stri­bu­zio­ne alle persone spet­ta­tri­ci.

Per applicare le modifiche, torna al prompt dei comandi e riavvia NGINX:

NGINX -s stop
start NGINX
bash
N.B.

Senza misure di pro­te­zio­ne ag­giun­ti­ve, chiunque conosca l’indirizzo del tuo server può, in linea di principio, pub­bli­ca­re in diretta un flusso sulla tua ap­pli­ca­zio­ne “live”. Questo può portare ad abusi o a streaming in­de­si­de­ra­ti. Per evitarlo puoi limitare l’accesso, ad esempio, a de­ter­mi­na­ti indirizzi IP o a una rete interna. A tale scopo, all’interno del blocco application live nel tuo file di con­fi­gu­ra­zio­ne, aggiungi le seguenti righe:

application live {
	live on;
allow publish 192.168.1.0/24;
deny publish all;
}
nginx

In questo esempio solo i di­spo­si­ti­vi della rete 192.168.1.x possono inviare uno streaming al server. Tutte le altre con­nes­sio­ni vengono bloccate au­to­ma­ti­ca­men­te.

Quarto passaggio: aprire la porta del server

Per abilitare l’accesso al tuo streaming, devi aprire la porta TCP cor­ri­spon­den­te nel firewall del server. Se sei un cliente IONOS, accedi al tuo account, apri il Cloud Panel e vai al menu “Rete”. Qui troverai l’im­po­sta­zio­ne del firewall, dove dovrai abilitare la porta TCP 1935.

Immagine: Cloud Panel: impostazione del firewall del server con porta condivisa per RTMP
Abilita la porta 1935 nel Cloud Panel in modo da poter accedere al tuo server di streaming.

Se utilizzi HLS, devi creare anche una regola cor­ri­spon­den­te per la porta 8080. Oltre al firewall nel Cloud Panel, deve essere adattato anche il firewall di Windows Server. A questo scopo, apri Microsoft Defender Firewall con fun­zio­na­li­tà avanzate di sicurezza e crea una nuova regola in ingresso per la porta TCP 1935 (RTMP) e, se ne­ces­sa­rio, per la porta 8080 (HLS).

In al­ter­na­ti­va puoi creare la regola anche tramite Po­wer­Shell con un semplice comando:

New-NetFirewallRule -DisplayName "RTMP Server" -Direction Inbound -Protocol TCP -LocalPort 1935 -Action Allow
bash
N.B.

In alcune reti aziendali o Wi-Fi pubbliche la porta RTMP pre­de­fi­ni­ta 1935 è bloccata. In questi casi RTMP può essere uti­liz­za­to in al­ter­na­ti­va sulla porta 443 (TCP), che di solito è aperta per le con­nes­sio­ni HTTPS. Tuttavia, questa con­fi­gu­ra­zio­ne richiede un’adeguata con­fi­gu­ra­zio­ne del server e di NGINX ed è quindi più indicata per utenti avanzati.

Quinto passaggio: avviare lo streaming

Ora il server è con­fi­gu­ra­to e puoi iniziare a tra­smet­te­re. Per farlo, ti serve un software adatto, come OBS. Inserisci l’URL del server nel software di streaming:

rtmp://<Indirizzo-IP>/live/stream
txt

Inserisci l’indirizzo IP corretto del tuo server. Puoi trovare questa in­for­ma­zio­ne anche nel Cloud Panel. Tramite questo URL lo streaming live viene inviato prima al server RTMP; la ri­pro­du­zio­ne effettiva per le persone che guardano avviene poi tramite un pro­to­col­lo di di­stri­bu­zio­ne separato, ad esempio HLS.

Vai al menu prin­ci­pa­le