Qu'est-ce que le streaming HTTP en direct ? | Streaming HLS

Le streaming HTTP en direct (HLS) est un protocole de streaming vidéo largement utilisé qui peut fonctionner sur presque tous les serveurs et qui est pris en charge par la plupart des appareils. Le HLS permet aux appareils clients de s'adapter de façon transparente aux conditions changeantes du réseau en augmentant ou en diminuant la qualité du flux.

Share facebook icon linkedin icon twitter icon email icon

Diffusion en direct de HTTP

Objectifs d’apprentissage

Après avoir lu cet article, vous pourrez :

  • Définir la diffusion en direct HTTP (HLS)
  • Découvrir comment le HLS fonctionne
  • Découvrez les avantages du streaming adaptatif

Qu'est-ce que le streaming HTTP en direct (HLS) ?

HTTP Live Streaming (HLS) est l'un des protocoles de streaming les plus utilisés. Bien qu'il soit appelé HTTP « live » streaming, c'est à dire en direct, il est utilisé à la fois pour le streaming à la demande et le streaming en direct. Le HLS décompose les fichiers vidéo en fichiers HTTP téléchargeables plus petits et les diffuse à l'aide du protocole HTTP. Les appareils clients chargent ces fichiers HTTP, puis les lisent comme des vidéos.

L'un des avantages de HLS est que tous les appareils connectés à Internet prennent en charge HTTP, ce qui le rend plus simple à mettre en œuvre que les protocoles de streaming qui nécessitent l'utilisation de serveurs spécialisés. Autre avantage, un flux HLS peut augmenter ou diminuer la qualité vidéo en fonction des conditions du réseau sans interrompre la lecture. C'est la raison pour laquelle la qualité vidéo peut s'améliorer ou se détériorer au milieu d'une vidéo pendant qu'un utilisateur la regarde. Cette fonctionnalité est connue sous le nom de « streaming à débit adaptatif » (adaptive bitrate streaming). Sans elle, des conditions réseau lentes peuvent empêcher complètement la lecture d'une vidéo.

HLS a été développé par Apple pour être utilisé sur les produits Apple, mais il est désormais utilisé sur une large gamme d'appareils.

Qu'est-ce que le streaming ?

Le streaming est un moyen de fournir des médias visuels et audio aux utilisateurs via Internet. Il fonctionne en envoyant continuellement de petites parties du fichier multimédia à l'appareil d'un utilisateur au lieu d'envoyer la totalité du fichier en une fois. Le fichier multimédia d'origine est stocké à distance ou, dans le cas du streaming en direct, il est créé en temps réel avec une caméra ou un microphone à distance. De cette façon, la vidéo ou l'audio peuvent être lus sans que l'appareil de l'utilisateur ne télécharge au préalable le fichier complet.

Qu'est-ce que HTTP ?

Le HTTP est un protocole de la couche application pour transférer des informations entre différents périphériques connectés à un réseau. Chaque site web et chaque application accessible aux utilisateurs réguliers s'exécute en HTTP. Le transfert de données en HTTP repose généralement sur des requêtes et des réponses. Presque tous les messages HTTP sont soit des requêtes, soit des réponses à des requêtes.

Avec le streaming sur HTTP, le modèle de requête-réponse standard ne s'applique pas. La connexion entre le client et le serveur reste ouverte pendant la durée du flux et le serveur envoie des données vidéo au client afin que le client n'ait pas à demander chaque segment de données vidéo.

Comment fonctionne TLS ?

Serveur : un flux HLS provient d'un serveur sur lequel le fichier multimédia est stocké (dans le streaming à la demande) ou sur lequel le flux est créé (dans le streaming en direct). Étant donné que le HLS est basé sur le HTTP, tout serveur web ordinaire peut générer le flux.

Deux processus principaux se produisent sur le serveur :

  1. Encodage : Les données vidéo sont reformatées de manière à ce que tout appareil puisse reconnaître et interpréter les données. Le HLS doit utiliser le codage H.264 ou H.265.
  2. Segmentation : La vidéo est divisée en segments de quelques secondes. La longueur des segments peut varier, bien que la longueur par défaut soit de 10 secondes.
    • En plus de diviser la vidéo en segments, le HLS crée un fichier d'indexation des segments vidéo pour enregistrer leur ordre.
    • Le HLS crée également plusieurs ensembles de segments en double avec différents niveaux de qualité : 480p, 720p, 1080p, etc.

Distribution : les segments vidéo encodés sont transmis aux appareils clients sur Internet lorsque les appareils clients demandent le flux. Généralement, un réseau de distribution de contenu (CDN) va permettre de distribuer le flux à des zones géographiques différentes. Un CDN mettra également le flux en cache pour le desservir encore plus rapidement aux clients.

Appareil client :l'appareil client est l'appareil qui reçoit le flux et lit la vidéo, par exemple, le smartphone ou l'ordinateur portable de l'utilisateur. Le périphérique client utilise le fichier d'indexation comme référence pour assembler la vidéo dans l'ordre, et passe d'une image de qualité supérieure à une image de qualité inférieure (et vice versa) en fonction des besoins.

Qu'est-ce que le streaming à débit adaptatif en HLS ?

L'un des avantages du HLS par rapport à certains autres protocoles de streaming est le débit adaptatif, appelé également diffusion en flux adaptatif, qui a la possibilité d'ajuster la qualité vidéo au milieu d'un flux lorsque les conditions du réseau changent. Cette capacité permet de ne pas interrompre la lecture vidéo, même si les conditions du réseau se détériorent. Inversement, le streaming à débit adaptatif maximise également la qualité vidéo pour qu'elle soit aussi élevée que la capacité que le réseau peut prendre en charge.

Si le réseau ralentit, le lecteur vidéo de l'utilisateur le détecte et le streaming à débit adaptatif diminue la qualité du flux afin que la vidéo ne s'arrête pas. Lorsque la bande passante réseau augmente, le streaming à débit adaptatif améliore la qualité du flux.

Le streaming à débit adaptatif est possible car le HLS crée plusieurs flux segmentés en double avec différents niveaux de qualité au cours du processus de segmentation. Le lecteur vidéo de l'utilisateur peut passer en toute transparence d'un flux à un autre en cours de lecture de la vidéo.

Le HLS utilise-t-il le TCP ou l'UDP comme protocole de transport ?

Le TCP et l'UDP sont des protocoles de transport, ce qui signifie qu'ils sont responsables de la livraison de contenu sur Internet. le TCP a tendance à fournir des données de manière plus fiable que l'UDP, mais ce dernier est beaucoup plus rapide, même si certaines données peuvent être perdues au cours du transit.

Parce que l'UDP est plus rapide, de nombreux protocoles de streaming utilisent l'UDP au lieu du TCP. Le HLS, cependant, utilise le TCP pour plusieurs raisons :

  1. Le HLS est en HTTP et le protocole HTTP est conçu pour être utilisé avec TCP (à quelques exceptions près).
  2. L'Internet moderne est plus fiable et plus efficace qu'il ne l'était lorsque le streaming a été développé pour la première fois. Dans de nombreuses régions du monde aujourd'hui, la connectivité des utilisateurs s'est considérablement améliorée, en particulier pour les connexions mobiles. Par conséquent, les utilisateurs ont suffisamment de bande passante pour prendre en charge la livraison de chaque image vidéo.
  3. Le streaming à débit adaptatif permet de compenser la transmission de données potentiellement plus lente du TCP.
  4. Le streaming HLS n'a pas besoin d'être « en temps réel », comme c'est le cas avec les connexions de visioconférence. Quelques secondes supplémentaires de décalage n'ont pas autant d'impact sur l'expérience utilisateur que les images vidéo manquantes.

Quels autres protocoles sont couramment utilisés pour le streaming ?

Il existe un certain nombre de protocoles similaires au HLS, comme MPEG-DASH et HDS, qui fonctionnent également en HTTP et offrent du streaming à débit adaptatif. Adobe Flash, qui fonctionne avec le protocole RTMP, était la principale technologie utilisée pour le streaming vidéo. Toutefois, de nombreux navigateurs ne prennent plus en charge Flash. RTMP est toujours largement utilisé.

Cloudflare prend-il en charge le streaming en direct HTTP ?

Cloudflare supports HLS for both on-demand and live streaming. Cloudflare Stream integrates video storage, encoding, and a customizable player with the fast, secure, and reliable Cloudflare network, which spans 200 cities in over 95 countries. This enables users around the world to receive fast, high-quality HLS streams. Learn more about Cloudflare Stream.