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.
Cet article s'articule autour des points suivants :
Contenu associé
Qu'est-ce que MPEG-DASH?
Encodage en direct
Qu’est-ce que le streaming en direct ?
Qu'est-ce que le streaming ?
Formats d'encodage vidéo
Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !
Copier le lien de l'article
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.
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.
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.
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 :
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.
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.
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 :
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 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