Streaming a bitrate adattivo (ABR) — Cos'è e come decide il player

Streaming a bitrate adattivo (ABR)

Lo streaming a bitrate adattivo è una tecnica in cui un singolo video viene codificato simultaneamente a più risoluzioni/bitrate e il player sceglie la variante più adatta alle condizioni di rete del momento. I cambi di qualità avvengono ai confini di segmento durante la riproduzione — di solito impercettibili allo spettatore.

Il problema risolto da ABR

Prima del 2010, il video era servito come singolo file a bitrate fisso. Connessione lenta: buffering continuo. Fibra: stessa qualità bassa di tutti gli altri. In entrambi i casi una scelta sbagliata.

ABR risolve questo. L’encoder produce una ladder di varianti — tipicamente 360p / 540p / 720p / 1080p / 4K — e il player sceglie quella che corrisponde alla banda effettiva. Quando la banda cambia (per esempio entrando in un tunnel su mobile), il player scende a una variante più bassa e poi risale.

Come decide il player

  1. Il player scarica la playlist master con tutte le varianti e la rispettiva banda.
  2. Misura il tempo di download del primo segmento.
  3. Calcola il throughput (banda).
  4. Se il throughput sostenuto supera con margine il fabbisogno della variante immediatamente superiore, sale al confine di segmento successivo.
  5. Se il download di un segmento si blocca o il buffer scende sotto soglia, scende immediatamente.

L’algoritmo decisionale è talvolta detto logica ABR e varia per player (HLS.js, Shaka Player, ExoPlayer, AVPlayer hanno euristiche diverse).

Perché oggi è lo standard

  • La banda mobile fluttua — in macchina, in ascensore, in cantina
  • Rete condivisa — i conviventi avviano download durante la visione
  • Variabilità all’edge CDN — gli edge hanno uplink diversi
  • Protezione dall’abbandono — ogni evento di buffering = spettatore perso

ABR + cifratura

La cifratura (cifratura, AES-128) è applicata per segmento, quindi è trasparente per ABR. Il player cambia variante e decifra i segmenti della nuova variante con lo stesso meccanismo di consegna chiave. AVCaption ruota le chiavi per batch e funziona senza problemi attraverso i cambi di variante.

Correlati

← content.back_to_index