Adaptive Bitrate Streaming (ABR) — Wat het is en hoe de player kiest

Adaptive Bitrate Streaming (ABR)

Adaptive bitrate streaming is een techniek waarbij één video tegelijk in meerdere resoluties/bitrates wordt gecodeerd en de player de variant kiest die het best past bij de actuele netwerkomstandigheden. Kwaliteitswisselingen vinden plaats op segmentgrenzen tijdens het afspelen — meestal onopgemerkt door de kijker.

Het probleem dat ABR oplost

Vóór 2010 werd video als één bestand met vaste bitrate uitgeleverd. Te trage verbinding: constante buffering. Glasvezel: dezelfde lage kwaliteit als iedereen. In beide gevallen niet passend.

ABR lost dit op. De encoder maakt een ladder van varianten — meestal 360p / 540p / 720p / 1080p / 4K — en de player kiest de variant die past bij de werkelijke bandbreedte. Verandert de bandbreedte (bijvoorbeeld een tunnel op mobiel), dan zakt de player naar een lagere variant en gaat later terug omhoog.

Hoe de player beslist

  1. De player laadt de master-playlist met alle varianten en hun bandbreedte.
  2. De player meet de tijd om het eerste segment te downloaden.
  3. De doorvoer (bandbreedte) wordt berekend.
  4. Overschrijdt de aanhoudende doorvoer met marge de eis van de eerstvolgende hogere variant, dan wordt op de volgende segmentgrens omhoog geschakeld.
  5. Stokt een segment-download of zakt de buffer onder een drempel, dan wordt direct omlaag geschakeld.

Het beslissingsalgoritme heet soms ABR-logica en verschilt per player (HLS.js, Shaka Player, ExoPlayer, AVPlayer hebben elk hun eigen heuristiek).

Waarom het nu standaard is

  • Mobiele bandbreedte fluctueert — onderweg, in liften, in kelders
  • Gedeeld netwerk — huisgenoten starten downloads tijdens het kijken
  • Variabiliteit aan de CDN-edge — verschillende edges hebben verschillende uplinks
  • Afhakers voorkomen — elk buffer-event = verloren kijker

ABR + encryptie

Encryptie (AES-128) wordt per segment toegepast, dus is encryptie transparant voor ABR. De player wisselt van variant en ontsleutelt de segmenten van de nieuwe variant via hetzelfde sleutelleveringsmechanisme. AVCaption rouleert sleutels per batch, wat naadloos werkt over variantwissels heen.

Gerelateerd

← content.back_to_index