- Max Wilbert
- Tabella dei contenuti
- Cos’è un protocollo di streaming video?
- Protocollo di streaming vs. Codec vs. Formato contenitore
- Protocolli comuni di streaming video
- Real-Time Messaging Protocol (RTMP)
- Chi dovrebbe usare RTMP?
- Real-Time Streaming Protocol (RTSP)
- Chi dovrebbe usare RTSP?
- RTMP vs RTSP
- Pro dell’uso di RTMP:
- Cons dell’uso di RTMP:
- Pro dell’uso di RTSP:
- Consigli di usare RTSP:
- Dynamic Adaptive Streaming over HTTP (MPEG-DASH): protocollo emergente
- Chi dovrebbe usare MPEG-DASH?
- Microsoft Smooth Streaming (MSS)
- Chi dovrebbe usare Smooth Streaming?
- HTTP Dynamic Streaming (HDS)
- Chi dovrebbe usare HDS?
- HTTP Live Streaming (HLS)
- Chi dovrebbe usare HLS?
- Protocolli video per il live streaming professionale
- Conclusione
Max Wilbert
Max Wilbert è uno scrittore appassionato, praticante di live streaming, e ha una forte esperienza nel settore dello streaming video.
Quando si inizia con lo streaming dal vivo, si nota un’abbondanza di acronimi che servono a molti scopi diversi. C’è RTMP, HLS, HDS e altro ancora.
Molti di questi acronimi si riferiscono a diversi protocolli di streaming video. Fondamentalmente, i protocolli sono processi tecnici che facilitano il trasferimento di dati da un programma all’altro. Nello streaming, questo significa il trasferimento dei tuoi file video da e verso il tuo encoder, l’host di streaming e, infine, il lettore video dove il tuo pubblico vede il tuo stream.
Oggi, identificheremo alcuni dei protocolli di streaming più comuni che incontrerai, cosa fanno e quando dovresti usarli. Al fine di fornire un po’ di background rilevante per aiutarvi a capire, spiegheremo anche la relazione tra un codec e un formato contenitore.
Sei pronto a tuffarti nei protocolli di streaming dal vivo?
Si prega di notare che questo post è stato aggiornato per riflettere gli ultimi sviluppi nei protocolli di streaming video a partire da novembre 2020.
Tabella dei contenuti
- Cos’è un protocollo di streaming video? Formato contenitore
- Protocolli comuni di streaming video
- Protocolli video per lo streaming live professionale
- Conclusione
Cos’è un protocollo di streaming video?
Prima di andare avanti, approfondiamo un po’ la definizione di un protocollo di streaming video. La maggior parte dei video digitali è progettata per due cose: la memorizzazione e la riproduzione. Questo porta a due considerazioni principali, vale a dire piccole dimensioni del file e riproduzione universale.
La maggior parte dei file video non sono progettati per lo streaming, il che significa che lo streaming di un video comporta prima la conversione in un file streamable. Questo implica la suddivisione in piccoli pezzi. Questi pezzi poi arrivano in sequenza e vengono riprodotti man mano che vengono ricevuti. Se stai trasmettendo video in diretta, il video sorgente arriva direttamente da una telecamera. Altrimenti, proviene da un file per contenuti VOD.
Un protocollo di streaming video è un metodo di consegna standardizzato per spezzare un video in pezzi, inviarlo allo spettatore e riassemblarlo.
I protocolli di streaming possono diventare molto più complessi. Molti sono protocolli “adaptive bitrate”, per esempio. Questa tecnologia fornirà la migliore qualità che uno spettatore può supportare in un dato momento.
Alcuni protocolli si concentrano sulla riduzione della latenza, o il ritardo tra un evento che accade nella vita reale e quando viene riprodotto sullo schermo dello spettatore. Alcuni protocolli funzionano solo su certi sistemi, e altri protocolli si concentrano sulla gestione dei diritti digitali (DRM).
Per quanto riguarda alcuni protocolli specifici, metteremo queste e altre caratteristiche in prospettiva.
Protocollo di streaming vs. Codec vs. Formato contenitore
Tra le altre, una fonte comune di confusione nel regno dello streaming video riguarda la differenza tra un protocollo e un codec.
In parole povere, il termine “codec” si riferisce alla tecnologia di compressione video. Logicamente, diversi codec di streaming sono usati per scopi diversi. Per esempio, Apple ProRes è spesso usato per l’editing video e H.264, il codec video più comune, è ampiamente usato per il video online.
Come per il codec, anche il termine “formato” può confondere nel contesto dei protocolli di streaming video. In molti casi, il formato si riferisce semplicemente al formato contenitore di un file video. I formati contenitore comuni includono .mp4, .m4v e .avi.
In sostanza, un formato contenitore funziona come una “scatola” che di solito contiene un file video, un file audio e metadati. Tuttavia, il formato contenitore non è un concetto così centrale per i live streamer.
Facciamo un confronto per rendere più facile capire la relazione tra un codec, un formato contenitore e un protocollo di streaming.
Immaginate di essere un commerciante, e di trasportare dei vestiti alla rinfusa (i vestiti rappresentano il contenuto video). Il codec di streaming è equivalente alla macchina che comprime i vestiti in un fascio per risparmiare spazio. Il formato del contenitore è il vagone che impacchetta questi fagotti. Il protocollo di streaming è analogo ai binari della ferrovia, ai segnali e agli autisti che lo consegnano a destinazione.
Come broadcaster, vuoi che il tuo contenuto video live funzioni di concerto con un codec, un formato contenitore e un protocollo di streaming.
È anche importante notare che la maggior parte dei protocolli di streaming supporta solo certi codec. Ne parleremo più avanti.
Protocolli comuni di streaming video
Ora che avete un’idea migliore dello scopo dei protocolli di streaming video, iniziamo il nostro confronto dei protocolli di streaming video più comuni oggi.
In questo confronto, offriremo anche casi d’uso per ogni protocollo quando possibile.
Real-Time Messaging Protocol (RTMP)
Il primo è il protocollo veterano: RTMP o Real-time messaging protocol. Originariamente sviluppato da Macromedia agli albori dello streaming, il protocollo RTMP è ancora ampiamente utilizzato.
Oggi RTMP è usato soprattutto per l’ingestione di stream dal vivo con l’aiuto di un encoder abilitato RTMP. In parole povere, quando imposti il tuo encoder per inviare il tuo feed video alla tua piattaforma di hosting video, quel video raggiungerà il CDN attraverso il protocollo RTMP. Quel contenuto alla fine raggiunge lo spettatore finale in un altro protocollo, di solito il protocollo di streaming HLS.
RTMP è raramente usato come protocollo di streaming video rivolto allo spettatore come lo era una volta. Questo perché dipende dal plugin Flash, che è stato afflitto da problemi di sicurezza per anni e sta diventando rapidamente obsoleto.
Chi dovrebbe usare RTMP?
RTMP è un protocollo di streaming che fornisce flussi a latenza molto bassa. Tuttavia, poiché richiede il plugin Flash per essere riprodotto, non lo raccomandiamo. Di nuovo, l’eccezione è per l’ingestione dei flussi. Per questo scopo, RTMP è ancora una delle migliori opzioni. È robusto e quasi universalmente supportato.
Real-Time Streaming Protocol (RTSP)
Forse un protocollo di streaming video meno conosciuto, Real-Time Streaming Protocol (RTSP) fu pubblicato per la prima volta nel 1998. RTSP è stato sviluppato per controllare i server di streaming media nei sistemi di intrattenimento e comunicazione, in particolare.
Nel 2016, è diventato disponibile un RTSP 2.0 aggiornato. Nel complesso, è noto come un protocollo di streaming video per stabilire e controllare sessioni multimediali tra endpoint.
RTSP è simile in qualche modo al protocollo HTTP Live Streaming (HLS), che tratteremo di seguito. Tuttavia, la trasmissione di dati in live streaming non è ciò che RTSP compie da solo. Invece, i server RTSP spesso lavorano insieme al Real-Time Transport Protocol (RTP) e al Real-Time Control Protocol (RTCP) per fornire flussi multimediali.
Chi dovrebbe usare RTSP?
RTSP è stato progettato per supportare lo streaming a bassa latenza ed è una buona scelta per i casi d’uso dello streaming come i feed delle telecamere IP (ad esempio le telecamere di sicurezza), i dispositivi IoT (ad esempio il drone controllato dal laptop) e gli SDK mobili.
Uno svantaggio significativo, tuttavia, è che c’è un supporto browser nativo limitato per RTSP.
RTMP vs RTSP
RTMP e RTSP sono entrambi protocolli di streaming, cioè sono insiemi di regole che governano come i dati viaggiano da un sistema di comunicazione ad un altro. Se i dati video che stai cercando di inviare ai tuoi spettatori sono una macchina, allora il protocollo di streaming è la strada che la macchina prende per andare da un posto all’altro.
Pro dell’uso di RTMP:
- Bassa latenza: La bassa latenza permette al tuo flusso video live di mantenere una connessione stabile e un feed video per lo spettatore, anche se la connessione internet non è affidabile. Questo fornisce ai tuoi spettatori meno “lag” quando guardano i tuoi video con una connessione internet traballante, permettendo loro di riprendere rapidamente il flusso una volta che la loro connessione internet si stabilizza.
- Adattabile: Un feed adattabile significa che i tuoi spettatori non sono bloccati a guardare i tuoi feed in una direzione lineare. L’adattabilità permette loro di saltare e riavvolgere parti del feed o di unirsi a un live stream dopo che è iniziato.
- Flessibile: RTMP permette di integrare una varietà di tipi di media in un unico pacchetto coesivo, fondendo perfettamente audio, video e testo. Inoltre, è possibile avere più varianti di canali multimediali, come lo streaming di flussi audio MP3 e AAC o lo streaming di video MP4, FLV e F4V.
Cons dell’uso di RTMP:
- Non supportato da HTML5: RTMP è supportato dai lettori Flash, un formato che è sulla buona strada verso l’obsolescenza. I lettori HTML5 stanno rapidamente diventando lo standard moderno, ma RTMP non può essere riprodotto su lettori HTML5 senza un convertitore come HLS.
- Problemi di larghezza di banda: I flussi RTMP possono essere particolarmente vulnerabili ai problemi di bassa larghezza di banda. Questo può causare frequenti e frustranti interruzioni ai vostri stream che rovinano l’esperienza dei vostri spettatori.
- HTTP incompatibile: Non puoi trasmettere direttamente un feed RTMP su una connessione HTTP. Per utilizzare un flusso RTMP sul tuo sito web, devi connetterti a un server speciale, come il Flash Media Server, e utilizzare una rete di consegna dei contenuti (CDN) di terze parti.
Pro dell’uso di RTSP:
- Streaming segmentato: Piuttosto che costringere i tuoi spettatori a scaricare un intero video prima di guardarlo, il flusso RTSP permette loro di guardare il tuo contenuto prima che il download sia completo.
- Personalizzazione: Utilizzando altri protocolli, come Transmission Control Protocol (TCP) e User Datagram Protocol (UDP), è possibile creare le proprie applicazioni di streaming video.
Consigli di usare RTSP:
- Meno popolare: Rispetto ad altri protocolli di media streaming, RTSP è molto meno popolare. La maggior parte dei lettori video e dei servizi di streaming non supportano lo streaming RTSP, rendendo più difficile trasmettere il tuo flusso nel tuo browser. Per trasmettere un flusso RTSP, è necessario utilizzare un servizio di streaming live RTSP separato.
- HTTP incompatibile: Come RTMP, non è possibile trasmettere direttamente lo streaming RTSP su HTTP. A causa di questo, non c’è un modo semplice e diretto per trasmettere RTSP in un browser web, poiché RTSP è progettato più per lo streaming video su reti private come i sistemi di sicurezza all’interno di un’azienda. Tuttavia, è possibile eseguire lo streaming RTSP utilizzando un software aggiuntivo che è incorporato nel tuo sito web.
Scegliere tra RTMP e i protocolli di streaming RTSP dipende molto dalle tue esigenze aziendali individuali e da quanti passi in più sei disposto a fare per rendere il tuo contenuto riproducibile sul tuo sito web.
Dynamic Adaptive Streaming over HTTP (MPEG-DASH): protocollo emergente
All’estremità opposta dello spettro, abbiamo MPEG-DASH, uno dei protocolli più recenti sulla scena. Anche se non è ancora molto usato, questo protocollo ha alcuni grandi vantaggi.
In primo luogo, supporta lo streaming a bitrate adattivo. Questo significa che gli spettatori riceveranno sempre la migliore qualità video che la loro attuale velocità di connessione internet può supportare. Questa tende a fluttuare di secondo in secondo, e DASH può tenere il passo.
MPEG-DASH risolve alcuni problemi tecnici di lunga data con la consegna e la compressione. Un altro vantaggio è che MPEG-DASH è “codec agnostic”, cioè può essere usato con quasi tutti i formati di codifica. Supporta anche Encrypted Media Extensions (EME) e Media Source Extension (MSE), che sono API basate su standard per la gestione dei diritti digitali (DRM) basata su browser.
Chi dovrebbe usare MPEG-DASH?
In questi giorni, MPEG-DASH viene usato solo da una frazione dei broadcaster professionali rispetto a HLS. Tuttavia, crediamo che sarà la tecnologia standard in futuro.
Il motivo per cui questo protocollo non è ancora incredibilmente popolare può essere attribuito alla compatibilità (ad esempio, Apple Safari e i dispositivi iOS non lo supportano) e ad altri problemi correlati.
Microsoft Smooth Streaming (MSS)
Il prossimo è il protocollo Smooth Streaming (MSS) di Microsoft. Originariamente introdotto nel 2008, MSS era parte integrante delle Olimpiadi estive di quell’anno. Tuttavia, la sua popolarità è diminuita, tranne che tra gli sviluppatori focalizzati su Microsoft e quelli che lavorano nell’ecosistema Xbox.
Smooth Streaming supporta lo streaming a bitrate adattivo e include alcuni strumenti robusti per DRM. Nel complesso, è un metodo ibrido di consegna dei media che funziona come lo streaming, ma è basato sul download progressivo HTTP.
Chi dovrebbe usare Smooth Streaming?
A meno che il vostro target principale siano gli utenti Xbox o abbiate intenzione di costruire applicazioni specifiche per Windows, non consigliamo di usare MSS come protocollo primario di streaming video.
HTTP Dynamic Streaming (HDS)
L’ingresso di Adobe nel mondo dei protocolli di streaming è HTTP Dynamic Streaming (HDS), il successore di RTMP. Come RTMP, HDS è un protocollo di streaming basato su flash. Tuttavia, aggiunge anche il supporto per lo streaming adattivo e ha una reputazione di alta qualità.
HDS è anche uno dei migliori protocolli quando si tratta di latenza. D’altra parte, la latenza non è così bassa come con RTMP a causa della frammentazione e del processo di crittografia, il che lo rende meno popolare per lo streaming di sport e altri eventi in cui i secondi contano.
Chi dovrebbe usare HDS?
In generale, non consigliamo di usare HDS. Negli ultimi anni, il supporto Flash è diventato troppo debole per qualsiasi emittente per fare affidamento su questa tecnologia per raggiungere il suo pubblico. In breve, costruire il tuo video web intorno al player Flash è semplicemente una scelta sbagliata oggi.
HTTP Live Streaming (HLS)
L’ultimo protocollo di streaming video che discuteremo è HTTP Live Streaming o HLS. Apple ha originariamente rilasciato questo protocollo nel 2009 per consentire loro di eliminare Flash dagli iPhone. Da allora, HLS è diventato il protocollo di streaming più utilizzato.
Ci sono diverse ragioni per questo. In primo luogo, i browser desktop, le smart TV e i dispositivi mobili sia Android che iOS supportano tutti HLS. Anche i lettori video HTML5 supportano nativamente HLS, rispetto a HDS e RTMP.
Questo permette ad uno stream di raggiungere il maggior numero possibile di spettatori, rendendo HLS il protocollo più sicuro oggi per scalare uno stream dal vivo a un grande pubblico. Per esempio, è possibile utilizzare questo protocollo per trasmettere video in diretta sul vostro sito web con un semplice codice embed.
Per quanto riguarda le caratteristiche, lo standard HLS supporta anche lo streaming a bitrate adattivo, fornendo dinamicamente la migliore qualità video possibile in qualsiasi momento. Con i recenti aggiornamenti, questo standard ora supporta l’ultimo e più grande codec H.265, che offre il doppio della qualità video alla stessa dimensione del file di H.264.
Al momento, l’unico aspetto negativo di HLS è che la latenza può essere relativamente alta. Tuttavia, ci sono metodi per ridurre la latenza di HLS.
Chi dovrebbe usare HLS?
HLS è il protocollo più usato oggi perché è robusto ed efficace. Per esempio, sappiamo che pochi spettatori torneranno su un sito durante uno streaming se sperimentano un errore video. L’utilizzo di un protocollo adattivo e ampiamente compatibile come HLS offrirà la migliore esperienza possibile al pubblico.
Vorremmo anche menzionare che HLS è ora il protocollo di streaming predefinito utilizzato da Dacast.
Protocolli video per il live streaming professionale
Per ricapitolare, ci sono molti protocolli di streaming video esistenti oggi, e molti di questi possono essere utilizzati per lo streaming video dal vivo.
Come abbiamo detto sopra, tutti i protocolli discussi qui – RTMP, RTSP, MPEG-DASH, MSS, HDS e HLS – hanno casi d’uso specifici per specifici broadcaster. Tuttavia, quando si prende tutto in considerazione, HLS risulta superiore, soprattutto in termini di compatibilità dei codec, compatibilità con tutti i dispositivi, supporto nativo del lettore video HTML5 e capacità di streaming a bitrate adattivo.
La nostra raccomandazione qui è semplice: per ora, quasi tutti i broadcaster dovrebbero attenersi all’uso del protocollo di streaming video HLS.
Naturalmente, alcuni utenti potrebbero trovare altri protocolli migliori per le loro esigenze. Tuttavia, se volete trasmettere video dal vivo sul vostro sito web, fare streaming dal vivo di eventi sportivi o trasmettere eventi professionali e raduni dal vivo, HLS è generalmente il modo migliore per andare.
Ricordate, MPEG-DASH è un’opzione emergente. Cercate la crescente adozione di questo protocollo di streaming nel prossimo futuro.
Conclusione
Anche se i protocolli di streaming e la relativa tecnologia sono un po’ complessi, sono totalmente accessibili se suddivisi in idee più piccole e digeribili.
Speriamo che questo post abbia aiutato a chiarire lo scopo dei protocolli di streaming video e la relazione tra protocollo di streaming video, codec e formato contenitore. Confidiamo che siate attrezzati per scegliere e utilizzare il protocollo giusto per le vostre esigenze.
Per provare lo streaming HLS sulla piattaforma Dacast, vi invitiamo a iscrivervi alla nostra prova gratuita di 30 giorni. In questo modo potrai conoscere le caratteristiche prima di impegnarti/
INIZIA GRATIS