Cos'è lo streaming live HTTP (HLS)? Pro e contro di HLS

Il funzionamento di HLS è abbastanza semplice. Una playlist principale (nota anche come manifest principale), che contiene informazioni su risoluzioni, rappresentazioni, lingue, codec, ecc., viene inviata al lettore.
Ottobre 15, 2023
-
Minuti letti

HTTP Live Streaming è nato in un periodo tumultuoso. Il lancio dell’iPhone nel 2007 ha posto le basi per la guerra degli smartphone. E con esso si è verificato un cambiamento epocale nel consumo di contenuti.

I telefoni cellulari erano già popolari. Gli utenti non erano più vincolati ai propri desktop; potrebbero accedere a Internet mentre sono in movimento! Era inevitabile che gli smartphone accelerassero ulteriormente questa tendenza. Pertanto, i fornitori di contenuti ora dovevano fornire video al passo con questa ritrovata mobilità.

Ma c’era una sfida – di notevoli dimensioni! A quei tempi Flash Player di Adobe era il campione in carica della distribuzione video. Tuttavia, Flash non era ben ottimizzato per i dispositivi mobili. Per prima cosa, consumava la batteria, il che rappresentava una delle maggiori preoccupazioni per gli utenti che volevano guardare video in movimento. Inoltre, Flash non era ottimizzato per i touchscreen e alcuni sistemi operativi mobili non avevano alcun supporto.

Apple si è subito resa conto che era necessario un nuovo standard che potesse garantire RTMP-like su dispositivi mobili, sfrutta le specifiche HTML5 e sii più efficiente con l'utilizzo della larghezza di banda. Così, nel 2009, ha proposto HTTP Live Streaming (HLS). Da allora il protocollo di streaming è diventato lo standard de facto per la distribuzione di video su tutte le piattaforme e tutti i browser.

In questo articolo daremo uno sguardo più da vicino a cos'è HLS, come funziona uno streaming HLS e quando dovresti utilizzarlo per i tuoi progetti.

HTTP Live Streaming (HLS)

HTTP Live Streaming è un protocollo di comunicazione a bitrate adattivo creato da Apple per fornire contenuti video e audio su Internet. Utilizza uno dei tre standard web chiave – Hypertext Transfer Protocol (HTTP) – per trasferire dati tra server e client.

HLS è progettato per garantire affidabilità e scalabilità oltre a prestazioni multidispositivo e multipiattaforma. Questi aspetti lo rendono ideale per una vasta gamma di applicazioni di streaming, inclusi eventi live su larga scala e video on demand (VOD).

Rispetto ad altre tecniche di bitrate adattivo come MPEG-DASH, HLS è diversa in quanto utilizza più flussi con bitrate diversi per una determinata risoluzione. DASH, al contrario, utilizza un singolo flusso per un bitrate su una determinata risoluzione. Quindi, mentre DASH offre prestazioni migliori in condizioni di rete fissa, nel mondo reale HLS ha un vantaggio!

La capacità di HLS di passare da un flusso all'altro in base alla connessione di rete estende prestazioni di streaming superiori. Ciò fornisce un'esperienza utente senza pari nelle condizioni del mondo reale, poiché la velocità di Internet tende sempre a variare, soprattutto sulle reti cellulari. Essendo un protocollo basato su HTTP, HLS è facilmente implementabile su tutti i dispositivi, rendendolo un'opzione interessante sia per i fornitori di contenuti che per le piattaforme.

Come funziona lo streaming live HTTP?

Il funzionamento di HLS è abbastanza semplice. Una playlist principale (detta anche manifest principale), che contiene informazioni su risoluzioni, combinazioni di bitrate (rendizioni), lingue, codec, metadati, ecc., viene inviata al lettore. Ognuna di queste interpretazioni ha una playlist separata (chiamata anche manifesto figlio) che ne elenca i nomi, la sequenza e i rispettivi URL (URI).

Il lettore quindi scarica queste playlist e avvia la riproduzione. Durante la riproduzione del video, il client passa da una rappresentazione all'altra in base alle condizioni di rete del dispositivo. Tutto questo lavoro pesante viene eseguito in background e garantisce una riproduzione ininterrotta.

L'immagine sopra rappresenta una playlist HLS multivariante. Inizia con il tag #EXTM3U, che è obbligatorio e rappresenta un file M3U esteso. Il #EXT-X-STREAM-INF informa il lettore che l'URL successivo (URI) è un altro file di playlist, ovvero il manifesto figlio.

Il tag #EXT-X-STREAM-INF contiene diversi parametri, tra cui BANDWIDTH (bitrate superiore in bit al secondo) e CODECS (identificatori di formato basati su RFC-6381 per audio e video separati da virgola). Il parametro CODECS è facoltativo ma altamente raccomandato. Informa quale codificatore viene utilizzato per i flussi audio e video. Lo stesso vale per RISOLUZIONE (dimensione del display in pixel), FRAME-RATE (frequenza fotogrammi massima) e AVERAGE-BANDWIDTH (bitrate medio). Per la protezione HDCP è possibile utilizzare anche il parametro HDCP-LEVEL. Tutto quello che devi fare è utilizzare TYPE-0 (per risoluzione HD) e TYPE-1 (per risoluzioni superiori a HD).

Ecco un altro esempio di playlist multivariante più avanzata.

In questo esempio, possiamo vedere una playlist con due gruppi di interpretazioni audio aggiuntive (rappresentate dagli ID GRUPPO di audio-lo e audio-hi). Ogni elemento multimediale (in questo caso, file audio per diverse lingue) dovrebbe essere rappresentato dal tag EXT-X-MEDIA e dal suo TIPO (AUDIO, VIDEO, SOTTOTITOLI o SOTTOTITOLI.)

Inoltre, ogni gruppo di selezione multimediale dovrebbe avere i propri elementi codificati con le stesse caratteristiche. Ad esempio, dovrebbero avere lo stesso codec, larghezza di banda massima, ecc.

Qual è l'architettura di HLS?

HTTP Live Streaming ha un'architettura a tre livelli: Server di origine, Server di distribuzione (edge) e Client.

1. Server di origine

Il server di origine riceve un input AV e lo converte in un file compresso pronto per essere distribuito. Tipicamente, comprende un codificatore multimediale e un segmentatore di flusso. Il codificatore multimediale codifica il file multimediale in formati compatibili. Il segmentatore del flusso divide quindi il supporto codificato in piccoli segmenti e crea un file indice. Il file indice contiene i metadati dei segmenti multimediali.

2. Server di distribuzione (periferia)

Il server di distribuzione, o una CDN, è responsabile della consegna del contenuto ai client. Comprende un server HTTP e un server multimediale. Il server HTTP memorizza il file indice e i segmenti multimediali. Un server multimediale trasmette i file multimediali ai client.

3. Cliente

Il client è responsabile della richiesta e della ricezione del contenuto dal server di distribuzione. Comprende un client HTTP o un lettore multimediale. Il client HTTP richiede il file indice dal server HTTP. Il lettore multimediale utilizza quindi il file indice per richiedere i segmenti multimediali al server multimediale e li riproduce.

Caratteristiche

HTTP Live Streaming è dotato di numerose funzionalità che lo rendono la scelta ideale per i fornitori di contenuti. Diamo un'occhiata ad alcune delle sue caratteristiche principali:

1. Streaming video dal vivo, su richiesta e per eventi

Una delle cose migliori di HLS è che supporta playlist dal vivo, su richiesta e per eventi. Ciò significa che puoi utilizzare lo stesso protocollo per trasmettere in live streaming un evento e un file video esistente archiviato sul tuo server. Tuttavia, poiché HLS dà priorità alla qualità video rispetto alla latenza, l'utilizzo end-to-end del protocollo di streaming può portare a un ritardo fino a 45 secondi negli stream. Questa sfida viene in genere risolta utilizzando un protocollo diverso (come RTMP) per l'ingestione. Fa parte dell'estensione LL-HLS e riduce la latenza a ca. 2 secondi.

2. Compatibilità multipiattaforma

Un altro vantaggio di HLS è che è compatibile con tutti i principali browser e piattaforme. Ciò include Safari, Edge, Chrome, Firefox, Android, iOS, tvOS, Playstation 4, Xbox One e altro. Quindi, che tu voglia fornire contenuti agli utenti su desktop, dispositivi mobili o smart TV, HLS è ciò di cui hai bisogno! 

3. Streaming con bitrate adattivo

HTTP Live Streaming supporta anche più bitrate. Ciò significa che puoi codificare i tuoi video in bitrate diversi per diversi dispositivi e velocità Internet. Il client passerà quindi automaticamente da una resa all'altra in base alle condizioni della rete per garantire una distribuzione video senza interruzioni. Ciò si traduce in un'esperienza utente migliore senza segni di buffering o flussi video di bassa qualità.

4. Crittografia e autenticazione

HTTP Live Streaming supporta anche la crittografia e l'autenticazione. Ciò significa che puoi crittografare i tuoi flussi video per proteggerli da accessi non autorizzati. Puoi anche autenticare gli utenti prima che possano accedere ai tuoi contenuti. Ciò è particolarmente utile se desideri fornire contenuti dietro un paywall o limitare l'accesso a determinati paesi o regioni.

5. Supporto per più lingue

Un altro vantaggio di HLS è che supporta più lingue. Ciò significa che puoi creare playlist varianti per diverse lingue e il client passerà automaticamente da una all'altra in base alle impostazioni delle preferenze dell'utente. Quindi, che tu voglia fornire contenuti in inglese, spagnolo, francese o qualsiasi altra lingua, HLS ti copre!

6. Sottotitoli

I sottotitoli sono una funzionalità che consente alle persone non udenti o con problemi di udito di seguire il contenuto audio. HLS supporta i sottotitoli consentendoti di incorporare sottotitoli nei tuoi flussi video. Queste didascalie vengono quindi visualizzate sullo schermo insieme al video per una facile accessibilità.

7. Sottotitoli

I sottotitoli sono simili ai sottotitoli, ma vengono generalmente utilizzati per film o programmi TV in lingua straniera in cui gli spettatori potrebbero non avere familiarità con il dialogo parlato. Similmente ai sottotitoli, HLS ti consente di incorporare i sottotitoli nei tuoi flussi video in modo che possano essere visualizzati sullo schermo insieme al video stesso.

8. Descrizioni audio

Le descrizioni audio sono un tipo di traccia audio che descrive ciò che accade sullo schermo per le persone non vedenti o ipovedenti. HLS supporta le tracce di descrizione audio, chiamate Descriptive Video Service (DVS), consentendoti di incorporarle nei tuoi flussi video. Il tuo DVS deve essere contrassegnato con l'attributo CHARACTERISTICS="public.accessibility.describes-video".

Vantaggi dell'utilizzo del protocollo HLS

Ora che abbiamo visto cos'è HLS e come funziona, diamo un'occhiata ad alcuni dei suoi principali vantaggi:

1. Consegna su tutti i dispositivi

Come accennato in precedenza, uno degli aspetti migliori di HLS è che è compatibile con tutti i principali browser e piattaforme. Ciò significa che puoi utilizzare lo stesso protocollo per trasmettere contenuti in streaming agli utenti su desktop, dispositivi mobili, smart TV e altro ancora. Quindi, che tu voglia fornire contenuti agli utenti su iPhone o dispositivi Android, HLS è il tuo protocollo di streaming preferito!

2. Qualità eccellente

Quando si trasmettono contenuti digitali in streaming, la qualità è essenziale. Oggi gli utenti hanno solo l’imbarazzo della scelta. Se a loro non piace ciò che vedono sul tuo sito, possono facilmente passare a quello successivo. È qui che HLS brilla davvero. Il protocollo di streaming utilizza lo streaming a bitrate adattivo per regolare automaticamente la qualità video in base alle condizioni della rete. Ciò garantisce che gli utenti abbiano sempre un'ottima esperienza visiva, indipendentemente dalla velocità di Internet o dalla qualità della connessione!

3. Economico

Quando si tratta di streaming di contenuti digitali, il costo è sempre una delle principali preoccupazioni. Lo streaming live HTTP è una soluzione estremamente conveniente in quanto non richiede hardware aggiuntivo. Tutto ciò di cui hai bisogno è un server web standard e sei a posto!

4. Privacy e sicurezza

Un altro vantaggio di HLS è che supporta la crittografia e l'autenticazione. Ciò significa che puoi crittografare i tuoi flussi video per proteggerli da accessi non autorizzati. Utilizzando HLS, puoi anche creare soluzioni DRM standard come Microsoft PlayReady, Google Widevine e Apple FairPlay. Ciò rende HLS anche la scelta ideale per i contenuti che devono essere forniti dietro un paywall o limitati a determinati paesi/regioni.

Contro dell'utilizzo del protocollo HTTP Live Streaming

Sebbene lo streaming live HTTP offra molti vantaggi, presenta anche alcuni inconvenienti di cui dovresti essere a conoscenza prima di utilizzarlo per i tuoi progetti. Diamo un'occhiata ad alcuni dei suoi principali svantaggi:

1. Latenza

Una delle maggiori sfide con HLS è la latenza: il tempo impiegato dai dati video per viaggiare dal server al client. Questo può essere problematico se stai cercando di trasmettere in streaming eventi dal vivo in cui ogni secondo conta! Sono disponibili varie soluzioni che possono aiutare a ridurre questa latenza (ne parleremo più avanti), ma è qualcosa che dovresti tenere a mente se hai intenzione di utilizzare HLS per il tuo progetto.

2. Velocità di Internet

Un altro svantaggio di HLS è che richiede una velocità Internet minima di 400 kbps per video di bassa qualità e fino a 8 Mbps per qualità HD. Questo può rappresentare un grosso problema nelle aree con scarsa copertura Internet o per gli utenti con piani dati limitati.

Soluzioni al problema della latenza

Sono disponibili varie soluzioni che possono aiutare a ridurre la latenza quando si utilizza HLS. Alcuni di essi includono:

1. Ridurre la dimensione del segmento

Anche se Apple consiglia una durata di 6 secondi, ridurre la dimensione del segmento (durata target) può aiutare a ridurre significativamente la latenza. È perché il client attende un segmento pubblicato dal server. Il server non può pubblicarlo prima della durata target predeterminata. Pertanto, prima ancora che un giocatore possa scaricare un segmento, questo viene già ritardato dei secondi di "durata target". Inoltre, più segmenti vengono mantenuti come buffer per garantire una consegna senza interruzioni anche in reti irregolari. Ciò include la codifica, il confezionamento, l'elenco delle playlist e il download di ogni segmento, che aumenta la latenza di un fattore da 4 a 7 volte la dimensione del segmento.

2. Annunciare i segmenti in anticipo

Puoi provare ad annunciare i segmenti prima che siano effettivamente disponibili. Questo viene fatto impostando il tag #EXT-X-PRELOAD-HINT per indicare la posizione più probabile del flusso successivo.

3. Utilizzo di un protocollo di acquisizione diverso

L'utilizzo di un protocollo di acquisizione diverso trasferisce la codifica lato server a un codificatore più veloce, che introduce un'efficienza superiore. È inoltre possibile utilizzare HLS a bassa latenza (LL-HLS). LL-HLS fa parte del protocollo HLS, ma con alcune soluzioni alternative. Ha una latenza di (circa 2-5 secondi).

Quando utilizzare il protocollo HLS?

HTTP Live Streaming è un protocollo di streaming estremamente versatile. Può essere utilizzato per un'ampia gamma di applicazioni, inclusi eventi dal vivo, contenuti on-demand e altro ancora. Ecco alcune situazioni in cui dovresti utilizzare HLS:

1. Se vuoi deliziare i tuoi spettatori

HLS è stato sviluppato con l'obiettivo di fornire agli utenti un'esperienza visiva eccezionale e ininterrotta. Quindi, se vuoi assicurarti che i tuoi spettatori abbiano la migliore esperienza possibile quando guardano i tuoi contenuti, HLS è la strada da percorrere!

2. Se stai trasmettendo in streaming eventi dal vivo

HTTP Live Streaming è la scelta perfetta per lo streaming di eventi dal vivo come sport, concerti, conferenze, ecc. Il protocollo è progettato per garantire affidabilità e scalabilità in modo da poter trasmettere in streaming eventi dal vivo su larga scala senza intoppi! L'unica cosa su cui devi lavorare è la latenza, che prevede un paio di soluzioni rapide.

3. Se vuoi raggiungere un pubblico globale

Uno degli aspetti migliori di HLS è che è compatibile con tutti i principali browser e piattaforme. Ciò significa che puoi utilizzare lo stesso protocollo per fornire contenuti agli utenti su dispositivi diversi e in diverse regioni geografiche. Quindi, se vuoi raggiungere un pubblico globale con i tuoi contenuti, HLS dovrebbe essere il tuo protocollo di streaming preferito!

4. Se hai bisogno di un'implementazione semplice

Un altro aspetto positivo di HLS è che è estremamente facile da implementare. Tutto ciò di cui hai bisogno è un server web standard e puoi iniziare subito lo streaming di contenuti!

Quando non utilizzare il protocollo HLS?

Sebbene lo streaming live HTTP offra molti vantaggi, ci sono anche alcune situazioni in cui dovresti evitare di utilizzarlo. Ecco alcune situazioni in cui non dovresti utilizzare il protocollo HLS:

1. Se la latenza è una delle tue preoccupazioni principali

Come accennato in precedenza, una delle maggiori sfide con HLS è la latenza: il tempo impiegato dai dati video per viaggiare dal server al client. Questo può essere problematico se stai cercando di trasmettere in streaming eventi dal vivo come conferenze web o eventi sportivi! Sono disponibili varie soluzioni che possono aiutare a ridurre questa latenza, ma è qualcosa che dovresti tenere a mente se hai intenzione di utilizzare HLS per il tuo progetto.

2. Se disponi di una larghezza di banda limitata

Un altro svantaggio di HLS è che richiede una velocità Internet minima di 400 kbps per video di bassa qualità. Qualsiasi cosa in meno può causare problemi non solo nello streaming ma anche nel mantenere intatta la sincronizzazione labiale. Quindi, se stai cercando di fornire contenuti agli utenti in queste situazioni, HLS potrebbe non essere la scelta migliore per te!

Per concludere...

HTTP Live Streaming è un protocollo di streaming estremamente versatile. Presenta molti vantaggi tra cui la consegna su tutti i dispositivi, qualità eccellente, efficienza dei costi, privacy e sicurezza, supporto per più lingue, sottotitoli, sottotitoli e descrizioni audio.

Sebbene presenti alcuni inconvenienti come la latenza e i requisiti di velocità di Internet, sono disponibili varie soluzioni che possono aiutare ad affrontare queste sfide. Quindi, se stai cercando un protocollo di streaming compatibile con tutti i principali browser e piattaforme, che offra ottima qualità e sia facile da implementare, HLS dovrebbe essere la tua scelta!

Costruisci il tuo impero video

Il tuo eccezionale canale video in un unico posto: Video CMS, Community, Marketing e Analytics.

Ti è piaciuta questa lettura?

Rimani aggiornato con le ultime notizie, strategie e approfondimenti aziendali video inviati direttamente nella tua casella di posta!
Marcello Violino
Sommario
Condividi questo post

Costruisci il tuo impero video

Il tuo eccezionale canale video in un unico posto: Video CMS, Community, Marketing e Analytics.
Guide gratuite e supporto 24 ore su XNUMX,
Uptime del 99.9% negli ultimi 12 mesi
Seri riguardo la sicurezza e la privacy
Piattaforma di distribuzione video e monetizzazione
Contatti

CARATTERISTICHE

AZIENDA

Termini e condizioni Informativa sulla Privacy  Informativa sui Cookie