HLS Streaming — Wat HTTP Live Streaming is en hoe het werkt

HLS Streaming

HLS (HTTP Live Streaming) is een video-streamingprotocol dat Apple in 2009 ontwikkelde en nu de dominante standaard is voor het uitleveren van video op het web. Het knipt een video in kleine, opeenvolgende segmenten (meestal 2-10 seconden per stuk) en levert elk segment via gewone HTTP.

Hoe het werkt

  1. De encoder maakt meerdere varianten van de video op verschillende resoluties/bitrates (360p, 720p, 1080p, enz.).
  2. Elke variant wordt gesegmenteerd — opgeknipt in stukken van vaste duur.
  3. Een master-playlist (.m3u8-bestand) somt alle varianten en hun bandbreedtevereisten op.
  4. Elke variant heeft een media-playlist met de segmenten in volgorde.
  5. De player laadt de master, kiest een variant, downloadt segmenten op volgorde en rijgt ze aaneen tot doorlopende weergave.
  6. De player past zich aan — meet de downloadsnelheid en wisselt op segmentgrenzen omhoog of omlaag van variant.

Waarom HLS won

  • HTTP-levering — werkt door elke firewall, elk CDN, elke browser. Geen speciale protocollen nodig.
  • Adaptieve bitrate — kwaliteit past zich naadloos aan de netwerkomstandigheden aan.
  • Cachebare segmenten — onveranderlijke segmenten cachen uitstekend aan de CDN-edge.
  • Native ondersteuning — elke grote browser, elk tv-platform, elk mobiel OS ondersteunt HLS native of via libraries (HLS.js voor Chrome/Firefox).
  • Versleutelingsvriendelijk — segmenten kunnen op segmentniveau met AES-128 worden versleuteld (encryptie), met sleutels die los worden geleverd.

Alternatieven

  • DASH (Dynamic Adaptive Streaming over HTTP) — vergelijkbaar met HLS maar gestandaardiseerd via MPEG. Meer codec-flexibiliteit, minder browserondersteuning out of the box.
  • WebRTC — sub-seconde latency, peer-to-peer of via SFU. Voor live interactief (videovergaderen) — niet voor VOD.
  • Progressive download (gewoon een MP4 over HTTP) — eenvoudig, geen adaptatie, geen streamingcontrole. Prima voor korte clips, slecht voor lange video.

Bestandsextensies

  • .m3u8 — playlist-bestand (master of media)
  • .ts — MPEG-TS-segment (legacy)
  • .m4s — gefragmenteerd MP4-segment (modern, wat HLS sinds 2017 gebruikt)

Bij AVCaption

Elke video die naar AVCaption wordt geüpload, wordt gecodeerd als HLS met AES-128 multi-key-encryptie. De player kiest automatisch HLS.js voor niet-Safari-browsers en native HLS op Safari. Zie adaptive bitrate streaming voor details.

Gerelateerd

← content.back_to_index