RTMP: Real Time Messaging Protocol in sintesi
Grazie a RTMP è possibile eseguire uno streaming stabile di contenuti audio e video. Il protocollo di rete è essenziale per la trasmissione di segnali codificati all’interno di una Content Delivery Network (CDN).
Grazie a un credito iniziale, puoi provare gratuitamente il Server Cloud di IONOS per 1 mese (o fino all’esaurimento del credito) e beneficiare del giusto mix di prestazioni e sicurezza!
Storia del protocollo RTMP
Il protocollo RTMP è stato creato da Adobe Inc. In un primo momento, la sua funzione era quella di trasmettere i dati tra un server e Flash Player di Adobe. Dato che quest’ultimo era molto diffuso, anche Real Time Messaging Protocol aveva trovato largo impiego. Sebbene Adobe Flash Player sia stato dismesso alla fine del 2020, RTMP gode ancora di grande popolarità ed è il protocollo di rete più utilizzato per lo streaming. Per trasmettere in streaming a terminali moderni, i quali generalmente non supportano più RTMP in virtù dell’uso di HTML5, ora si ricorre a una combinazione di RTMP e HLS.
Come funziona Real Time Messaging Protocol?
Innanzitutto, la trasmissione di contenuti audio o video in streaming su Internet è possibile previa codifica del segnale. Per questo motivo esistono i cosiddetti streaming encoder (in italiano: “codificatori di streaming”), dispositivi atti alla codificazione dello streaming. Il segnale codificato sarà in seguito inviato a un server RTMP mediante RTMP. Inoltre, il protocollo ha anche il compito di inoltrare i segnali codificati a una Content Delivery Network o a una piattaforma video online. Le modalità esatte di questa trasmissione variano a seconda della variante RTMP in uso.
La versione standard del protocollo di rete prevede l’uso di TCP come protocollo di trasporto mediante la porta 1935. Per prima cosa, avviene lo scambio di blocchi di dati tra client e server: questo processo è altrimenti noto come “handshake” (dall’inglese: “stretta di mano”). Di conseguenza, il server riceve informazioni sulla versione del protocollo impiegata. A questo punto, al server sarà inviata una marca temporale. Una volta che il server conferma di aver ricevuto i due blocchi di dati, può essere stabilita la connessione.
A tale scopo, il client invia al server una richiesta di connessione sotto forma di action message, dopodiché attende una conferma da parte del server. Quando l’ha ricevuta, il client può avviare lo streaming in tempo reale.
Si stabilisce così una connessione stabile grazie alla quale i dati possono essere trasmessi in tempo reale. I dati in streaming sono veicolati in blocchi di diverse dimensioni. La dimensione del blocco per i dati video è di 128 byte, mentre per i dati audio è di 64 byte. A causa dell’uso di TCP, la latenza di RTMP è relativamente bassa.
Esiste un’altra variante di Real Time Messaging Protocol: si tratta di RTMPT, il quale è basato su HTTP e prevede l’utilizzo di una tecnica di tunneling per aggirare i firewall. In maniera simile funziona anche RTMPS basato su HTTPS.
Partendo da un server RTMP, la trasmissione dello streaming può avvenire anche direttamente sui dispositivi mediante HLS.
Campi di applicazione del protocollo RTMP
Solitamente, sono due gli ambiti in cui è utilizzato Real Time Messaging Protocol. Il primo caso d’uso di RTMP è la trasmissione di dati tra un codificatore e un server. In questo caso si tratta di uno scenario d’uso noto anche come “First Mile Delivery” (lett. “consegna del primo miglio”).
Non esistendo più Flash Player, non è possibile ricorrere a RTMP per la trasmissione diretta di dati agli utenti finali. Di conseguenza, nel secondo caso d’uso, è necessario utilizzare una Content Delivery Network o una piattaforma video online. Il protocollo RTMP viene quindi utilizzato per inoltrare i dati del server a questi ultimi.
Se desiderate creare un vostro server RTMP, dovete prima di tutto scegliere il sistema operativo del server: a vostra disposizione c’è Windows, ma anche diverse distribuzioni Linux per server.