Qu'est-ce que la diffusion HTTP en direct ? | Diffusion 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.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

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

Contenu associé


Vous souhaitez continuer à enrichir vos connaissances ?

Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !

Consultez la politique de confidentialité de Cloudflare pour en savoir plus sur la manière dont nous collectons et traitons vos données personnelles.

Copier le lien de l'article

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

Le streaming HTTP en direct (HLS) est l’un des protocoles de streaming vidéo les plus utilisés. Bien qu’il soit appelé streaming HTTP « 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 fournit en utilisant le protocole HTTP. Les appareils clients chargent ces fichiers HTTP et les lisent ensuite en tant que vidéo.

L'un des atouts du HLS réside dans la prise en charge du protocole HTTP par l'ensemble des appareils connectés à Internet. La mise en œuvre des protocoles de diffusion nécessitant l'utilisation de serveurs spécialisés s'en trouve donc facilitée. Autre avantage, un flux HLS peut augmenter ou diminuer la qualité vidéo en fonction des conditions du réseau, sans interrompre la lecture. Il s'agit là de la raison pour laquelle la qualité vidéo peut s'améliorer ou se détériorer en cours de visionnage. Cette fonctionnalité est connue sous le nom de « diffusion à débit adaptatif » (adaptive bitrate streaming). Sans elle, la lecture d'une vidéo pourrait se voir totalement empêchée en cas de conditions réseau particulièrement lentes.

Le 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 le HTTP ?

HTTP est un protocole de la couche d’application permettant de transférer des informations entre des appareils connectés à un réseau. Tous les sites web et applications accessibles aux utilisateurs réguliers fonctionnent sur HTTP. Le transfert de données via HTTP est généralement basé sur des demandes et des réponses. Presque tous les messages HTTP sont soit une requête, soit une réponse à une requête.

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 où le fichier multimédia est stocké (dans le cas du streaming à la demande) ou bien où le flux est créé (dans le cas du streaming en direct). Comme le HLS est basé sur HTTP, n’importe quel serveur web ordinaire peut être à l’origine du flux.

Deux processus principaux se produisent sur le serveur :

  1. Encodage : les données vidéo font l'objet d'un reformatage afin de permettre à n'importe quel appareil de les reconnaître et de les interpréter. Le protocole HLS doit utiliser l'encodage H.264 ou H.265.
  2. Segmentation : La vidéo est divisée en segments de quelques secondes. La longueur des segments peut varier, mais la longueur par défaut est de 6 secondes (elle était de 10 secondes jusqu'en 2016).
    • 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 envoyés sur les appareils clients via Internet lorsque ces derniers demandent le flux. En général, un CDN (Content Delivery Network, réseau de diffusion de contenu) permet de diffuser le flux vers des zones géographiques diverses. Un CDN met également le flux en cache afin de le diffuser encore plus rapidement aux clients.

Appareil client : le dispositif client est l’appareil qui reçoit le flux et lit la vidéo (par exemple, un smartphone ou l’ordinateur portable d’un utilisateur). L’appareil client utilise le fichier d’indexation comme référence pour assembler la vidéo dans l’ordre, et il passe d’une qualité supérieure à une image de moindre qualité (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.

La diffusion à débit adaptatif est possible, car le HLS crée plusieurs flux segmentés en double à 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 au cours du visionnage.

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

TCP et UDP sont des protocoles de transport, ce qui signifie qu’ils sont responsables de la diffusion de contenu sur Internet. Le protocole TCP tend à fournir des données de manière plus fiable qu’UDP, mais ce dernier est beaucoup plus rapide, même si certaines données peuvent être perdues pendant le transit.

Le protocole UDP s'avérant plus rapide, de nombreux protocoles de diffusion s'appuient sur ce dernier plutôt que sur le TCP. Le protocole HLS utilise toutefois le TCP et ce 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 diffusion de chaque image vidéo.
  3. Le streaming à débit adaptatif permet de compenser la transmission de données potentiellement plus lente de 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 des images vidéo manquantes.

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

Un certain nombre de protocoles similaires au HLS existent, comme le MPEG-DASH et le HDS, qui s'exécutent également sous HTTP et permettent la diffusion à débit adaptatif. L'environnement Adobe Flash (qui s'appuyait sur les protocoles RTMP ou HDS) constituait autrefois la principale technologie utilisée pour la diffusion vidéo, mais de nombreux navigateurs ne le prennent plus en charge. Le protocole RTMP demeure utilisé malgré une prise en charge déclinante.

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

Cloudflare prend en charge HLS pour le streaming à la demande et en direct. Cloudflare Stream intègre le stockage vidéo, l’encodage et un lecteur personnalisable avec le réseau Cloudflare rapide, sécurisé et fiable, qui couvre 330 villes dans plus de 120 pays. Cela permet aux utilisateurs du monde entier de recevoir des flux HLS rapides et de haute qualité. En savoir plus sur Cloudflare Stream