HLS Streaming — Cos'è HTTP Live Streaming e come funziona

HLS Streaming

HLS (HTTP Live Streaming) è un protocollo di streaming video sviluppato da Apple nel 2009 e oggi standard dominante per la distribuzione video sul web. Funziona dividendo il video in piccoli segmenti consecutivi (in genere 2-10 secondi ciascuno) e servendo ogni segmento via HTTP standard.

Come funziona

  1. L’encoder produce più varianti del video a diverse risoluzioni/bitrate (360p, 720p, 1080p, ecc.).
  2. Ogni variante è segmentata — divisa in blocchi di durata fissa.
  3. Una playlist master (file .m3u8) elenca tutte le varianti e i relativi requisiti di banda.
  4. Ogni variante ha una media playlist che elenca i segmenti in ordine.
  5. Il player scarica la master, sceglie una variante, scarica i segmenti in sequenza e li unisce in riproduzione continua.
  6. Il player si adatta — misura la velocità di download e cambia variante (su o giù) ai confini di segmento.

Perché HLS ha vinto

  • Distribuzione HTTP — passa attraverso ogni firewall, ogni CDN, ogni browser. Nessun protocollo speciale richiesto.
  • Bitrate adattivo — la qualità si adegua senza interruzioni alle condizioni di rete.
  • Segmenti cacheabili — i segmenti immutabili si cacheano benissimo all’edge del CDN.
  • Supporto nativo — ogni grande browser, piattaforma TV e OS mobile supporta HLS in modo nativo o tramite librerie (HLS.js per Chrome/Firefox).
  • Compatibile con la cifratura — i segmenti possono essere cifrati con AES-128 a livello di segmento (cifratura), con chiavi servite separatamente.

Alternative

  • DASH (Dynamic Adaptive Streaming over HTTP) — simile a HLS ma standardizzato da MPEG. Maggiore flessibilità di codec, minore supporto browser di base.
  • WebRTC — latenza sub-secondo, peer-to-peer o via SFU. Per interazione live (videoconferenze) — non per VOD.
  • Download progressivo (un MP4 servito via HTTP) — semplice, senza adattamento né controllo dello streaming. Ottimo per clip brevi, scarso per video lunghi.

Estensioni di file

  • .m3u8 — file playlist (master o media)
  • .ts — segmento MPEG-TS (legacy)
  • .m4s — segmento MP4 frammentato (moderno, usato da HLS dal 2017)

Su AVCaption

Ogni video caricato su AVCaption viene codificato come HLS con cifratura AES-128 multi-chiave. Il player seleziona automaticamente HLS.js per i browser non Safari e HLS nativo su Safari. Vedi streaming a bitrate adattivo per i dettagli.

Correlati

← content.back_to_index