Streaming adattivo: scopri HLS, MPEG-DASH e Low-Latency Streaming

Lo streaming adattivo permette di distribuire contenuti audiovisivi attraverso Internet modificando dinamicamente la qualità in base alle condizioni della rete e alle caratteristiche del dispositivo. In questa dispensa analizzeremo HLS, comprendendo il ruolo delle playlist .m3u8, dei segmenti multimediali e delle richieste HTTP nella distribuzione del contenuto.

Vedremo poi come l’Adaptive Bitrate Streaming consenta al player di passare tra rendition differenti durante la riproduzione per mantenere un equilibrio tra qualità e continuità. Approfondiremo quindi MPEG-DASH, con la struttura MPD → Period → Adaptation Set → Representation, confrontandone il funzionamento con HLS e osservando il ruolo di CMAF nella condivisione dei segmenti multimediali. Infine, analizzeremo il Low-Latency Streaming, attraverso LL-HLS e Low-Latency DASH, mostrando come Partial Segments, CMAF chunks e altri meccanismi possano ridurre il ritardo nelle trasmissioni live.

Protocolli streaming: Delivery adattivo

Elementi chiave

  • Delivery adattivo = distribuzione di contenuti multimediali attraverso HTTP, segmenti e manifest, consentendo al player di adattare la qualità alle condizioni della rete.
  • Contribution ≠ delivery: la contribution trasporta i contenuti verso la piattaforma, mentre il delivery li distribuisce agli spettatori attraverso l’infrastruttura di streaming.
  • HLS (HTTP Live Streaming) = tecnologia sviluppata da Apple che distribuisce contenuti audiovisivi segmentati tramite HTTP, sfruttando server Web e CDN.
  • Multivariant Playlist ≠ Media Playlist: la prima descrive le versioni disponibili del contenuto, mentre la seconda elenca i segmenti appartenenti a uno specifico flusso.
  • Streaming HLS → Multivariant Playlist → Selezione della Media Playlist → Richiesta HTTP dei segmenti → Buffer → Riproduzione.
  • Adaptive Bitrate Streaming (ABR) → il player seleziona dinamicamente segmenti di qualità differenti, bilanciando continuità, bitrate disponibile e condizioni della rete.
  • HLS live → i segmenti vengono prodotti progressivamente e la Media Playlist viene aggiornata attraverso una sliding window che può escludere segmenti precedenti.
  • HLS tradizionale ≠ Low-Latency HLS: il primo può accumulare maggiore ritardo, mentre il secondo introduce meccanismi per avvicinare la riproduzione all’evento live.
  • LL-HLS → utilizza Partial Segments, Blocking Playlist Reload, Preload Hints, Playlist Delta Updates e Rendition Reports per ridurre i ritardi.
  • Partial Segments → permettono di scaricare porzioni di un segmento prima che questo sia completamente prodotto, riducendo l’attesa durante una diretta.
  • Blocking Playlist Reload e Preload Hints → consentono di attendere aggiornamenti o richiedere anticipatamente risorse, riducendo richieste ripetute e tempi di attesa.
  • Playlist Delta Updates e Rendition Reports → riducono le informazioni da trasferire e facilitano i cambi di qualità vicino al punto più recente della diretta.
  • MPEG-DASH (Dynamic Adaptive Streaming over HTTP) = standard ISO/IEC per la distribuzione adattiva di contenuti audiovisivi attraverso HTTP, manifest e segmenti.
  • HLS ≠ MPEG-DASH: entrambi utilizzano HTTP, segmenti e ABR, ma differiscono principalmente per standardizzazione e organizzazione dei documenti descrittivi.
  • MPD (Media Presentation Description) = documento XML utilizzato da MPEG-DASH per descrivere la struttura della presentazione e le risorse multimediali disponibili.
  • Gerarchia MPEG-DASH → MPD → Period → Adaptation Set → Representation → Segmenti, organizzando intervalli temporali, tracce e versioni codificate.
  • Period ≠ Adaptation Set ≠ Representation: il primo identifica un intervallo temporale, il secondo raggruppa contenuti alternativi, la terza rappresenta una specifica versione codificata.
  • Static MPD ≠ Dynamic MPD: il primo descrive normalmente contenuti on demand, mentre il secondo rappresenta presentazioni live che evolvono nel tempo.
  • Low-Latency DASH → può utilizzare CMAF chunks per trasferire e riprodurre progressivamente parti di segmenti prima del loro completamento.
  • CMAF (Common Media Application Format) = standard che permette, in configurazioni compatibili, di condividere segmenti multimediali fMP4 tra HLS e MPEG-DASH.
  • CMAF e manifest → gli stessi segmenti possono essere descritti attraverso playlist HLS .m3u8 oppure manifest MPEG-DASH .mpd, riducendo la duplicazione.
  • Delivery ≠ ingest in HLS e DASH: il delivery utilizza principalmente HTTP GET richiesto dal player, mentre l’ingest può utilizzare HTTP PUT o POST dall’encoder.
  • DASH Ingest → distingue DASH/HLS Ingest, che trasferisce manifest e segmenti, da CMAF Ingest, che trasferisce tracce CMAF per il successivo packaging.
  • Latenza nello streaming HTTP → dipende da encoding, packaging, segmentazione, aggiornamento dei manifest, CDN, buffering e decodifica, non soltanto dalla rete.

Vuoi aiutarmi a scrivere articoli come questo?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

No responses yet

Sostieni il progetto

Tutti i materiali che condivido nascono da una convinzione molto semplice: una buona formazione non dovrebbe limitarsi a insegnare quali pulsanti premere, ma aiutare a comprendere le idee, i principi e i processi che stanno dietro agli strumenti.

Per questo dedico una parte significativa del mio tempo a studiare, organizzare e produrre contenuti gratuiti dedicati al multimedia, al design e alla comunicazione visiva. Articoli, lezioni, approfondimenti e risorse che hanno l’obiettivo di rendere accessibili argomenti spesso affrontati in modo frammentario o superficiale.

Questo lavoro richiede però tempo, ricerca e cura. Ogni guida, ogni video, ogni materiale pubblicato gratuitamente è il risultato di molte ore di studio, scrittura e revisione.
Sostenere il progetto attraverso Patreon significa permettermi di continuare a produrre contenuti educativi di qualità, mantenerli accessibili al maggior numero possibile di persone e dedicare più energie alla costruzione di una risorsa che possa essere utile a studenti, professionisti e appassionati.

Se credi che una conoscenza più profonda, rigorosa e consapevole del multimedia abbia valore, il tuo contributo non sostiene soltanto il mio lavoro: aiuta a rendere queste risorse disponibili per tutta la comunità.
Grazie per il supporto e per la fiducia.

Patreon è troppo impegnativo?

Puoi sostenermi anche con una donazione libera, senza abbonamento e senza impegno.
Anche un piccolo contributo mi aiuta a continuare a creare giochi, contenuti didattici e materiali gratuiti con più libertà.

Support the project

All the materials I share stem from a very simple conviction: good training should not be limited to teaching which buttons to press, but should help people understand the ideas, principles, and processes behind the tools.

That is why I dedicate a significant portion of my time to researching, organizing, and producing free content focused on multimedia, design, and visual communication—articles, lessons, in-depth analyses, and resources aimed at making accessible topics that are often addressed in a fragmented or superficial way.

However, this work requires time, research, and care. Every guide, video, and piece of material published for free is the result of many hours of study, writing, and revision.
Supporting the project via Patreon enables me to continue producing high-quality educational content, keep it accessible to as many people as possible, and devote more energy to building a resource that benefits students, professionals, and enthusiasts alike.

If you believe that a deeper, more rigorous, and informed understanding of multimedia is valuable, your contribution does more than just support my work: it helps make these resources available to the entire community.
Thank you for your support and trust.

Is Patreon too demanding?

You can also support me with a voluntary donation—no subscription or commitment required.

Even a small contribution helps me continue creating games, educational content, and free materials with greater freedom.