AICKO IPTV: l’app gratuita per le tue playlist IPTV Scarica

Pubblicato il · dal team di AICKO IPTV · 7 min di lettura

Contenitore, protocollo, codec: tre nozioni da distinguere

Prima di confrontare i formati, bisogna separare tre livelli che spesso si confondono:

HLS, MPEG-TS, DASH: i protocolli dello streaming video
  • il codec comprime immagine e audio (H.264, HEVC, AAC…); è lui a determinare se il vostro dispositivo sa decodificare il video;
  • il contenitore organizza i dati compressi, con i loro marcatori temporali e le tracce audio e dei sottotitoli (MPEG-TS, MP4, MKV…);
  • il protocollo di diffusione organizza il trasporto sulla rete: suddivisione in blocchi, elenco di questi blocchi, scelta della qualità (HLS, DASH…).

MPEG-TS è prima di tutto un contenitore, HLS e DASH sono protocolli che trasportano contenitori. Lo stesso video in H.264 può quindi viaggiare in MPEG-TS puro, in HLS con segmenti MPEG-TS o in DASH con segmenti MP4. I codec veri e propri sono trattati nel nostro articolo su H.264, HEVC e AV1.

MPEG-TS: il formato ereditato dalla televisione

L'MPEG Transport Stream è stato standardizzato a metà degli anni Novanta (norma ISO/IEC 13818-1) per la televisione digitale. È il formato usato dal digitale terrestre, dal satellite e dal cavo. Divide i dati in pacchetti da 188 byte, ciascuno contrassegnato da un identificatore (il PID) che indica se trasporta video, una traccia audio, sottotitoli o tabelle di servizio.

La sua grande qualità è la robustezza: concepito per segnali via etere imperfetti, permette a un decoder di agganciare il flusso in qualsiasi momento e di risincronizzarsi dopo una perdita. Un flusso MPEG-TS non ha né inizio né fine: è una corrente continua.

Su Internet lo si incontra in due forme:

  • il flusso continuo su HTTP: il lettore apre un indirizzo che spesso termina con .ts e riceve una corrente ininterrotta di pacchetti, come un'antenna virtuale. È semplice e offre bassa latenza, ma la qualità è unica: se la vostra velocità cala, l'immagine si blocca o peggiora, senza soluzione di ripiego;
  • i segmenti HLS: lo stesso formato tagliato in piccoli file di qualche secondo, descritti in un elenco.

HLS: lo streaming a segmenti di Apple

HLS (HTTP Live Streaming) è stato lanciato da Apple nel 2009 per l'iPhone, poi pubblicato come RFC 8216 nel 2017. Oggi è il protocollo di streaming più diffuso. Il principio si riassume in tre idee.

1. Il video è diviso in segmenti

Il server taglia il video in segmenti di qualche secondo (Apple raccomanda 6 secondi), memorizzati come semplici file: storicamente in MPEG-TS (.ts) e, dal 2016, anche in MP4 frammentato (.m4s, il cosiddetto formato CMAF). Ogni segmento si scarica con una normale richiesta HTTP, come un'immagine su un sito web. Per questo HLS è facile da distribuire tramite le reti di distribuzione dei contenuti (CDN) e poco sensibile ai firewall.

2. Un manifest elenca i segmenti

Il lettore non riceve il video direttamente: legge prima un file di testo .m3u8, il manifest, che elenca i segmenti disponibili.

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:48215
#EXTINF:6.000,
segment_48215.ts
#EXTINF:6.000,
segment_48216.ts
#EXTINF:6.000,
segment_48217.ts

Per una diretta, questo manifest è una finestra scorrevole: il lettore lo ricarica regolarmente, nuovi segmenti compaiono in coda e i più vecchi scompaiono. Per un video on demand l'elenco è completo e termina con #EXT-X-ENDLIST.

3. Più qualità, una scelta automatica

Un manifest «master» può puntare a più versioni dello stesso canale, ciascuna con il suo bitrate e la sua definizione:

#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=1800000,RESOLUTION=960x540,CODECS="avc1.4d401f,mp4a.40.2"
540p/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=5000000,RESOLUTION=1920x1080,CODECS="avc1.640028,mp4a.40.2"
1080p/index.m3u8

Il lettore misura la velocità con cui scarica i segmenti e passa da una qualità all'altra tra un segmento e il successivo. È il bitrate adattivo (adaptive bitrate, ABR): quando la rete si indebolisce, l'immagine diventa un po' più sfocata invece di fermarsi. Per questo un canale può sembrare meno nitido nei primi secondi: il lettore parte spesso da una qualità prudente prima di salire.

La sintassi di questi file assomiglia a quella delle playlist di canali, il che porta confusione; la differenza è spiegata in il formato M3U riga per riga.

MPEG-DASH: lo standard internazionale

MPEG-DASH (Dynamic Adaptive Streaming over HTTP) è stato standardizzato nel 2012 (ISO/IEC 23009-1). Si basa sugli stessi principi di HLS, segmenti scaricati via HTTP e bitrate adattivo, ma con scelte tecniche diverse:

  • il manifest è un file XML chiamato MPD (Media Presentation Description), più ricco e più complesso di un .m3u8;
  • è indipendente dal codec e dal contenitore, anche se in pratica si usa soprattutto MP4 frammentato;
  • è molto usato dalle grandi piattaforme di video on demand, spesso associato a sistemi di protezione (DRM) come Widevine o PlayReady.

L'avvicinamento dei due mondi è stato facilitato dal formato CMAF, che permette di servire gli stessi segmenti MP4 sia in HLS sia in DASH, con due manifest diversi.

Tabella di confronto

CriterioMPEG-TS continuoHLSMPEG-DASH
OrigineTelevisione digitale (anni Novanta)Apple, 2009Standard ISO, 2012
TrasportoFlusso HTTP ininterrottoSegmenti via HTTPSegmenti via HTTP
ManifestNessuno.m3u8 (testo).mpd (XML)
Bitrate adattivoNoSìSì
Latenza tipica in direttaBassa (qualche secondo)Dell'ordine di 10-30 s; qualche secondo con LL-HLSParagonabile a HLS; ridotta in modalità a bassa latenza
Ripresa dopo un'interruzioneRiconnessione completaSegmento successivoSegmento successivo
Lettura nativa su iPhoneNo (lettore di terze parti)SìNo (lettore di terze parti)

Latenza: perché la diretta arriva in ritardo

La latenza è il ritardo tra l'istante ripreso e quello in cui compare a casa vostra. Sul digitale terrestre è di qualche secondo. In HLS classico arriva spesso a 20-30 secondi, il che spiega perché un vicino possa esultare per un gol prima di voi. Questa latenza è la somma di più fasi:

  1. la codifica della sorgente, che richiede qualche secondo;
  2. la produzione di un segmento: un segmento di 6 secondi può essere pubblicato solo quando i suoi 6 secondi sono trascorsi;
  3. il buffer del lettore: per assorbire le irregolarità della rete, i lettori HLS tengono in genere più segmenti di anticipo, cioè 12-18 secondi di margine;
  4. il percorso di rete ed eventuali server intermedi.

Ridurre la latenza significa quindi ridurre il margine e accettare più rischi di interruzioni quando la rete vacilla. Le varianti a bassa latenza, LL-HLS (presentata da Apple nel 2019) e la modalità a bassa latenza di DASH, pubblicano frammenti parziali di segmento per scendere a pochi secondi, ma devono essere supportate dal server e dal lettore. Il flusso MPEG-TS continuo, senza segmentazione, offre naturalmente una latenza più breve, al prezzo dell'assenza di bitrate adattivo. Le impostazioni del buffer e i loro effetti sono illustrati nella nostra guida contro il buffering.

Compatibilità secondo i dispositivi

Il protocollo da solo non determina la riproduzione: serve anche che il dispositivo sappia aprire il contenitore e decodificare il codec. Alcuni punti di riferimento:

  • iPhone, iPad, Apple TV: HLS è letto in modo nativo dal sistema. DASH e MPEG-TS continuo richiedono un'app dotata di un proprio motore di riproduzione.
  • Android e Android TV: il lettore di sistema di riferimento (ExoPlayer, diventato Media3) gestisce HLS, DASH e MPEG-TS; la compatibilità reale dipende soprattutto dai decodificatori hardware del dispositivo.
  • Browser: Safari legge HLS direttamente; gli altri browser leggono HLS e DASH tramite librerie JavaScript basate sull'API Media Source Extensions.
  • Smart TV: i modelli recenti gestiscono HLS e DASH nei lettori integrati, con limiti variabili a seconda dell'anno e della gamma.

I lettori basati su una libreria completa, come libmpv (che si appoggia a FFmpeg), leggono i tre formati con lo stesso motore su tutti i sistemi. È la scelta fatta da AICKO IPTV, il cui motore è presentato nella pagina del lettore video. La compatibilità finale resta comunque legata al codec e alla potenza del dispositivo.

In sintesi

  • Il codec comprime, il contenitore organizza, il protocollo trasporta.
  • MPEG-TS viene dalla televisione: robusto, bassa latenza, ma una sola qualità in flusso continuo.
  • HLS divide il video in segmenti elencati in un .m3u8 e adatta la qualità alla velocità di connessione.
  • DASH segue lo stesso principio con un manifest XML e uno standard internazionale.
  • La latenza della diretta dipende soprattutto dalla durata dei segmenti e dal buffer.

Domande frequenti

È meglio scegliere il formato .ts o .m3u8 quando un servizio offre entrambi?

Il .ts continuo parte spesso più in fretta e con meno ritardo, ma senza adattamento della qualità. Il .m3u8 (HLS) sopporta meglio una rete irregolare, in particolare in Wi-Fi. Provate entrambi: la scelta migliore dipende dalla vostra connessione e dal server.

Perché la qualità cambia da sola durante la riproduzione?

È il bitrate adattivo di HLS o DASH: il lettore passa a una versione più leggera quando il download rallenta, poi risale quando la rete lo permette. È preferibile a un'interruzione.

Un file .m3u8 è un video?

No. È un file di testo che descrive dove trovare i segmenti video. Salvarlo da solo non conserva alcuna immagine.

Perché la diretta è in ritardo rispetto alla televisione?

La suddivisione in segmenti e il buffer del lettore aggiungono in genere diverse decine di secondi. Le varianti a bassa latenza riducono questo ritardo quando il server e il lettore le supportano.

Per approfondire

Leggi anche

🧩

Formati e tecnica

Il formato M3U / M3U8 spiegato riga per riga

#EXTM3U, #EXTINF, tvg-id, tvg-logo, group-title: capite ogni riga di una lista M3U, evitate gli errori di codifica e create la vostra in modo corretto.

Leggi l’articolo
🧩

Formati e tecnica

Come funziona una connessione Xtream Codes

Server, porta, nome utente, player_api.php, categorie, film, serie, scadenza e connessioni simultanee: il funzionamento di una connessione Xtream Codes.

Leggi l’articolo
🧩

Formati e tecnica

EPG e XMLTV: da dove arriva la guida ai programmi

Struttura di un file XMLTV, corrispondenza tvg-id, fusi orari, EPG vuota o sfasata di un'ora: capire e riparare la guida ai programmi del vostro lettore.

Leggi l’articolo

Scarica AICKO IPTV

L’app è gratuita e funziona con il tuo abbonamento IPTV. Scegli il dispositivo: il link mobile ti porta automaticamente allo store giusto.

Android e iOS Versione mobile Windows 10 e 11 Versione PC Samsung, Android TV, Fire TV Versione televisore
Scarica su App Store Disponibile su Google Play Disponibile suMicrosoft Store Disponibile suAmazon Appstore