HLS versus DASH: hoe streamingprotocollen daadwerkelijk werken

Voordat streaming bestond, betekende het online bekijken van video één ding: eerst het hele bestand downloaden en vervolgens afspelen. Een video van 500 MB moest volledig op uw apparaat aankomen, ook al wilde u alleen de eerste 30 seconden. Streamingprotocollen lossen precies dit probleem op: ze knippen de video in kleine stukjes en spelen deze af terwijl de rest nog aan het downloaden is.

Segmentatie: de bouwsteen van streaming

HLS (HTTP Live Streaming, ontwikkeld door Apple) is het meest gebruikte protocol. De server verdeelt een volledige video in kleine bestanden, segmenten, van doorgaans 2–10 seconden in MPEG-TS of fMP4. Een afspeellijstbestand (.m3u8) vermeldt hun volgorde en adressen. De speler haalt eerst de afspeellijst op en downloadt daarna de segmenten naar behoefte: zodra het ene klaar is, volgt het volgende, vrijwel zonder wachten.

Online videospeler

Adaptieve bitrate: waarom het afspelen niet vastloopt op een zwak netwerk

HLS en DASH (Dynamic Adaptive Streaming over HTTP, gesteund door onder meer Microsoft) bieden voor dezelfde video segmenten in verschillende resoluties en bitrates, bijvoorbeeld 1080p, 720p en 480p. Een hoofdafspeellijst vermeldt de varianten. De speler volgt de downloadsnelheid en buffer in realtime. Bij een goede verbinding kiest hij een hogere bitrate; bij een zwakkere verbinding schakelt hij terug om het afspelen gaande te houden. Dit heet adaptieve bitrate-streaming (ABR) en verklaart waarom video's in de metro soms automatisch minder scherp worden.

Waarom het downloaden van een m3u8-link zo vaak mislukt

Een .m3u8-URL rechtstreeks downloaden levert slechts enkele KB tekst op: de afspeellijst, niet de video. Om de video op te slaan, moet een tool die lijst lezen, alle segmenten downloaden en ze in de juiste volgorde samenvoegen. Daarom ondersteunen veel downloaders HLS niet of vereisen ze een aparte samenvoegstap. TakeVid heeft ingebouwde segmentdetectie en automatische samenvoeging, zodat u een compleet, afspeelbaar bestand downloadt.

M3U8-downloader

  • HLS: van Apple, maakt gebruik van .m3u8-afspeellijsten, native ondersteund door iOS/Safari, verwerkt zowel live als on-demand
  • DASH: een open standaard met .mpd-manifesten, die op grote schaal wordt gebruikt door YouTube, Netflix en anderen
  • Beide draaien op gewone HTTP, zijn CDN-vriendelijk en domineren tegenwoordig streaming

DASH-downloader

Terug naar alle artikelen