HLS vs DASH — Quel protocole de streaming adaptatif choisir

HLS vs DASH

Tous deux sont des protocoles de streaming adaptatif basés HTTP. Ils résolvent le même problème (livraison par segments avec adaptation de débit) avec des choix de conception légèrement différents.

HLS (HTTP Live Streaming)

Développé par Apple en 2009. Standardisé en RFC 8216.

  • Manifeste : playlist .m3u8 en texte brut
  • Segments : historiquement .ts (MPEG-TS), aujourd’hui .m4s (MP4 fragmenté)
  • Support natif navigateur : Safari, tous iOS, tous macOS
  • Bibliothèques : HLS.js pour Chrome/Firefox/Edge
  • Chiffrement : AES-128 au niveau segment (le plus courant), SAMPLE-AES pour FairPlay
  • Flexibilité codec : H.264 + HEVC + AV1 avec MP4 fragmenté

DASH (Dynamic Adaptive Streaming over HTTP)

Standardisé par MPEG en 2012.

  • Manifeste : .mpd XML
  • Segments : .m4s (MP4 fragmenté)
  • Support natif navigateur : Aucun (requiert Media Source Extensions + bibliothèque JS)
  • Bibliothèques : Shaka Player, dash.js
  • Chiffrement : Common Encryption (CENC) supportant Widevine + PlayReady simultanément
  • Flexibilité codec : tout codec que MP4 peut transporter

Pourquoi HLS a gagné le marché

Le support natif Safari sans bibliothèque JS est le critère pratique décisif. La plupart des plateformes livrent HLS d’abord, DASH en option secondaire.

Quand DASH compte encore

  • DRM studio distribuant le même contenu avec Widevine + PlayReady simultanément — DASH+CENC est le motif standard.
  • Plateformes OTT matures ayant livré DASH il y a des années avec des chaînes d’outils autour.

Pour la plupart des projets modernes, HLS est le défaut le plus simple. AVCaption ne livre que HLS.

Liens

← content.back_to_index