HLS Streaming — Qu'est-ce que HTTP Live Streaming et comment ça marche

HLS Streaming

HLS (HTTP Live Streaming) est un protocole de streaming vidéo développé par Apple en 2009, devenu le standard dominant pour la diffusion de vidéo sur le web. Il découpe une vidéo en petits segments séquentiels (généralement 2 à 10 secondes chacun) et sert chaque segment via HTTP standard.

Fonctionnement

  1. L’encodeur produit plusieurs variantes de la vidéo à différentes résolutions/débits (360p, 720p, 1080p, etc.).
  2. Chaque variante est segmentée — découpée en morceaux de durée fixe.
  3. Une playlist maître (fichier .m3u8) liste toutes les variantes et leurs besoins en bande passante.
  4. Chaque variante a une playlist média listant ses segments dans l’ordre.
  5. Le lecteur télécharge la maître, choisit une variante, télécharge les segments séquentiellement et les assemble en lecture continue.
  6. Le lecteur s’adapte — mesure la vitesse de téléchargement et change de variante (vers le haut ou le bas) aux frontières de segments.

Pourquoi HLS l’a emporté

  • Diffusion HTTP — passe à travers tous les pare-feux, tous les CDN, tous les navigateurs. Aucun protocole spécial requis.
  • Débit adaptatif — la qualité s’ajuste sans rupture aux conditions du réseau.
  • Segments cachables — les segments immuables se mettent très bien en cache au bord du CDN.
  • Support natif — tous les grands navigateurs, plateformes TV et OS mobiles supportent HLS nativement ou via bibliothèques (HLS.js pour Chrome/Firefox).
  • Compatible avec le chiffrement (chiffrement) — les segments peuvent être chiffrés en AES-128 au niveau segment, les clés étant servies à part.

Alternatives

  • DASH (Dynamic Adaptive Streaming over HTTP) — similaire à HLS mais standardisé via MPEG. Plus de flexibilité codec, moins de support navigateur prêt à l’emploi.
  • WebRTC — latence sub-seconde, pair-à-pair ou via SFU. Utilisé pour l’interactif live (visioconférence) — pas pour la VOD.
  • Téléchargement progressif (un MP4 servi via HTTP) — simple, sans adaptation, sans contrôle de streaming. Bien pour les clips courts, mauvais pour la vidéo longue.

Extensions de fichier

  • .m3u8 — fichier playlist (maître ou média)
  • .ts — segment MPEG-TS (ancien)
  • .m4s — segment MP4 fragmenté (moderne, utilisé par HLS depuis 2017)

Sur AVCaption

Chaque vidéo téléversée vers AVCaption est encodée en HLS avec chiffrement AES-128 multi-clés. Le lecteur sélectionne automatiquement HLS.js pour les navigateurs non-Safari et HLS natif sur Safari. Voir streaming à débit adaptatif pour les détails.

Liens

← content.back_to_index