- Max Wilbert
- Table des matières
- Qu’est-ce qu’un protocole de diffusion vidéo ?
- Protocole de streaming vs. codec vs. format de conteneur
- Protocoles de streaming vidéo courants
- Protocole de messagerie en temps réel (RTMP)
- Qui devrait utiliser RTMP ?
- Protocole de diffusion en temps réel (RTSP)
- Qui devrait utiliser RTSP ?
- RTMP vs RTSP
- Pros de l’utilisation de RTMP:
- Inconvénients de l’utilisation de RTMP:
- Avantages de l’utilisation de RTSP:
- Inconvénients de l’utilisation de RTSP :
- Dynamic Adaptive Streaming over HTTP (MPEG-DASH) : protocole en devenir
- Qui devrait utiliser MPEG-DASH ?
- Microsoft Smooth Streaming (MSS)
- Qui devrait utiliser Smooth Streaming?
- HTP Dynamic Streaming (HDS)
- Qui devrait utiliser HDS ?
- HTTP Live Streaming (HLS)
- Qui devrait utiliser le HLS?
- Protocoles vidéo pour le streaming live professionnel
- Conclusion
Max Wilbert
Max Wilbert est un écrivain passionné, un praticien du streaming en direct, et possède une forte expertise dans le secteur du streaming vidéo.
Lorsque vous vous lancez dans le streaming en direct, vous remarquerez une abondance d’acronymes qui servent de nombreux objectifs différents. Il y a RTMP, HLS, HDS, et plus encore.
Plusieurs de ces acronymes se rapportent à différents protocoles de streaming vidéo. Fondamentalement, les protocoles sont des processus techniques qui facilitent le transfert de données d’un programme à un autre. En matière de streaming, cela signifie le transfert de vos fichiers vidéo vers et depuis votre encodeur, votre hôte de streaming et, finalement, le lecteur vidéo où votre public visionne votre flux.
Aujourd’hui, nous allons identifier certains des protocoles de streaming les plus courants que vous rencontrerez, ce qu’ils font et quand il faut les utiliser. Afin de fournir un contexte pertinent pour vous aider à comprendre, nous allons également expliquer la relation entre un codec et un format de conteneur.
Etes-vous prêt à plonger dans les protocoles de streaming en direct ?
Veuillez noter que ce post a été mis à jour pour refléter les derniers développements des protocoles de streaming vidéo en date de novembre 2020.
Table des matières
- Qu’est-ce qu’un protocole de streaming vidéo ?
- Protocole de streaming vs. Codecs vs. Container Format
- Protocoles de diffusion vidéo courants
- Protocoles vidéo pour la diffusion professionnelle en direct
- Conclusion
Qu’est-ce qu’un protocole de diffusion vidéo ?
Avant d’aller plus loin, penchons-nous un peu plus sur la définition d’un protocole de streaming vidéo. La plupart des vidéos numériques sont conçues pour deux choses : le stockage et la lecture. Cela conduit à deux considérations majeures, à savoir une petite taille de fichier et une lecture universelle.
La plupart des fichiers vidéo ne sont pas conçus pour le streaming, ce qui signifie que le streaming d’une vidéo implique d’abord de la convertir en un fichier streamable. Cela implique de le décomposer en petits morceaux. Ces morceaux arrivent ensuite de manière séquentielle et sont lus au fur et à mesure qu’ils sont reçus. Si vous diffusez une vidéo en direct, la vidéo source provient directement d’une caméra. Dans le cas contraire, elle provient d’un fichier pour le contenu VOD.
Un protocole de streaming vidéo est une méthode de livraison standardisée pour décomposer une vidéo en morceaux, l’envoyer au spectateur et la réassembler.
Les protocoles de streaming peuvent devenir beaucoup plus complexes. Beaucoup sont des protocoles à « débit binaire adaptatif », par exemple. Cette technologie permet de fournir la meilleure qualité qu’un téléspectateur peut supporter à un moment donné.
Certains protocoles se concentrent sur la réduction de la latence, c’est-à-dire le délai entre un événement qui se produit dans la vie réelle et le moment où il s’affiche sur l’écran du téléspectateur. Certains protocoles ne fonctionnent que sur certains systèmes, Et d’autres protocoles se concentrent sur la gestion des droits numériques (DRM).
En passant en revue certains protocoles spécifiques, nous mettrons ces caractéristiques et d’autres en perspective.
Protocole de streaming vs. codec vs. format de conteneur
Parmi d’autres, une source de confusion courante dans le domaine du streaming vidéo concerne la différence entre un protocole et un codec.
En termes simples, le terme « codec » fait référence à la technologie de compression vidéo. Logiquement, différents codecs de streaming sont utilisés à des fins différentes. Par exemple, Apple ProRes est souvent utilisé pour le montage vidéo et H.264, le codec vidéo le plus courant, est largement utilisé pour la vidéo en ligne.
Comme pour le codec, le terme « format » peut également prêter à confusion dans le contexte des protocoles de streaming vidéo. Dans de nombreux cas, le format fait simplement référence au format de conteneur d’un fichier vidéo. Les formats de conteneur courants comprennent les formats .mp4, .m4v et .avi.
Par essence, un format de conteneur fonctionne comme une « boîte » qui contient généralement un fichier vidéo, un fichier audio et des métadonnées. Cependant, le format de conteneur n’est pas un concept aussi central pour les diffuseurs en direct.
Faisons une comparaison pour faciliter la compréhension de la relation entre un codec, un format de conteneur et un protocole de streaming.
Imaginez que vous êtes un commerçant, et que vous transportez des vêtements en vrac (les vêtements représentent le contenu vidéo). Le codec de diffusion en continu est équivalent à la machine qui compresse les vêtements en un paquet pour gagner de la place. Le format du conteneur est le wagon à l’intérieur duquel ces paquets sont emballés. Le protocole de streaming est analogue aux voies ferrées, aux signaux et aux conducteurs qui le livrent à destination.
En tant que diffuseur, vous souhaitez que votre contenu vidéo en direct fonctionne de concert avec un codec, un format de conteneur et un protocole de streaming.
Il est également important de noter que la plupart des protocoles de streaming ne prennent en charge que certains codecs. Nous y reviendrons plus tard.
Protocoles de streaming vidéo courants
Maintenant que vous avez une meilleure idée de l’objectif des protocoles de streaming vidéo, commençons notre comparaison des protocoles de streaming vidéo les plus courants aujourd’hui.
Dans cette comparaison, nous proposerons également des cas d’utilisation pour chaque protocole lorsque cela sera possible.
Protocole de messagerie en temps réel (RTMP)
Premièrement, le protocole vétéran : RTMP ou Real-time messaging protocol. Développé à l’origine par Macromedia aux débuts du streaming, le protocole RTMP est encore largement utilisé.
Aujourd’hui, le RTMP est surtout utilisé pour ingérer des flux en direct à l’aide d’un encodeur compatible RTMP. En clair, lorsque vous configurez votre encodeur pour envoyer votre flux vidéo à votre plateforme d’hébergement vidéo, cette vidéo va atteindre le CDN via le protocole RTMP. Ce contenu finit par atteindre le spectateur final dans un autre protocole, généralement le protocole de streaming HLS.
Le protocole RTMP est rarement utilisé comme un protocole de streaming vidéo orienté vers le spectateur comme il l’était autrefois. C’est parce qu’il dépend du plugin Flash, qui est en proie à des problèmes de sécurité depuis des années et qui devient rapidement obsolète.
Qui devrait utiliser RTMP ?
RTMP est un protocole de streaming qui fournit des flux à très faible latence. Cependant, comme il nécessite le plugin Flash pour être lu, nous ne le recommandons pas. Là encore, l’exception concerne l’ingestion de flux. À cette fin, le RTMP reste l’une des meilleures options. Il est robuste et presque universellement pris en charge.
Protocole de diffusion en temps réel (RTSP)
Peut-être un protocole de diffusion vidéo moins connu, le protocole de diffusion en temps réel (RTSP) a été publié pour la première fois en 1998. RTSP a été développé pour contrôler les serveurs de médias en streaming dans les systèmes de divertissement et de communication, spécifiquement.
En 2016, un RTSP 2.0 mis à jour est devenu disponible. Dans l’ensemble, il est connu comme un protocole de streaming vidéo pour établir et contrôler les sessions média entre les points d’extrémité.
RTSP est similaire à certains égards au protocole HTTP Live Streaming (HLS), que nous couvrirons ci-dessous. Cependant, la transmission de données de streaming en direct n’est pas ce que RTSP accomplit par lui-même. Au lieu de cela, les serveurs RTSP travaillent souvent en conjonction avec le protocole de transport en temps réel (RTP) et le protocole de contrôle en temps réel (RTCP) pour diffuser des flux de médias.
Qui devrait utiliser RTSP ?
RTSP a été conçu pour prendre en charge le streaming à faible latence et constitue un bon choix pour les cas d’utilisation de streaming tels que les flux de caméras IP (par exemple, les caméras de sécurité), les appareils IoT (par exemple, un drone contrôlé par un ordinateur portable) et les SDK mobiles.
Un inconvénient important, cependant, est qu’il y a un support natif limité des navigateurs pour RTSP.
RTMP vs RTSP
RTMP et RTSP sont tous deux des protocoles de streaming, ce qui signifie que ce sont des ensembles de règles qui régissent la façon dont les données voyagent d’un système de communication à un autre. Si les données vidéo que vous essayez d’envoyer à vos spectateurs sont une voiture, alors le protocole de streaming est la route que la voiture emprunte pour aller d’un endroit à un autre.
Pros de l’utilisation de RTMP:
- Faible latence : Une faible latence permet à votre flux vidéo en direct de maintenir une connexion et un flux vidéo stables pour le spectateur, même si la connexion Internet n’est pas fiable. Vos spectateurs ont ainsi moins de « lags » lorsqu’ils regardent vos vidéos avec une connexion internet chancelante, ce qui leur permet de reprendre rapidement le flux une fois que leur connexion internet se stabilise.
- Adaptable : Un flux adaptable signifie que vos téléspectateurs ne sont pas enfermés dans le visionnage de vos flux dans une direction linéaire. L’adaptabilité leur permet de sauter et de rembobiner des parties du flux ou de rejoindre un flux en direct après qu’il ait commencé.
- Souplesse : RTMP vous permet d’intégrer une variété de types de médias dans un ensemble cohérent, en mélangeant de manière transparente l’audio, la vidéo et le texte. De plus, vous pouvez avoir plusieurs variantes de canaux médias, comme la diffusion de flux audio MP3 et AAC ou la diffusion de vidéos MP4, FLV et F4V.
Inconvénients de l’utilisation de RTMP:
- Non pris en charge par HTML5 : RTMP est pris en charge par les lecteurs Flash, un format qui est en bonne voie d’obsolescence. Les lecteurs HTML5 deviennent rapidement la norme moderne, mais RTMP ne peut pas être lu sur les lecteurs HTML5 sans un convertisseur tel que HLS.
- Problèmes de bande passante : Les flux RTMP peuvent être particulièrement vulnérables aux problèmes de faible bande passante. Cela peut provoquer des interruptions fréquentes et frustrantes de vos flux qui gâchent l’expérience de vos spectateurs.
- HTTP incompatible : Vous ne pouvez pas diffuser directement un flux RTMP sur une connexion HTTP. Pour utiliser un flux RTMP sur votre site Web, vous devez vous connecter à un serveur spécial, tel que le Flash Media Server, et utiliser un réseau de diffusion de contenu (CDN) tiers.
Avantages de l’utilisation de RTSP:
- Streaming segmenté : Plutôt que de forcer vos spectateurs à télécharger une vidéo entière avant de la regarder, le flux RTSP leur permet de regarder votre contenu avant que le téléchargement ne soit terminé.
- Personnalisation : En utilisant d’autres protocoles, tels que le protocole de contrôle de transmission (TCP) et le protocole de datagramme utilisateur (UDP), vous pouvez créer vos propres applications de streaming vidéo.
Inconvénients de l’utilisation de RTSP :
- Moins populaire : Par rapport aux autres protocoles de streaming média, RTSP est beaucoup moins populaire. La plupart des lecteurs vidéo et des services de streaming ne prennent pas en charge le streaming RTSP, ce qui rend plus difficile la diffusion de votre flux dans votre navigateur. Pour diffuser un flux RTSP, vous devez utiliser un service de streaming en direct RTSP distinct.
- HTTP incompatible : Comme pour le RTMP, vous ne pouvez pas diffuser directement un flux RTSP sur HTTP. Pour cette raison, il n’existe pas de moyen simple et direct de diffuser le RTSP dans un navigateur Web, car le RTSP est plutôt conçu pour la diffusion de vidéos sur des réseaux privés tels que les systèmes de sécurité d’une entreprise. Cependant, vous pouvez diffuser du RTSP en utilisant un logiciel supplémentaire intégré à votre site web.
Choisir entre les protocoles de streaming RTMP vs RTSP dépend grandement des besoins individuels de votre entreprise et du nombre d’étapes supplémentaires que vous êtes prêt à franchir pour rendre votre contenu lisible sur votre site web.
Dynamic Adaptive Streaming over HTTP (MPEG-DASH) : protocole en devenir
À l’opposé du spectre, nous avons MPEG-DASH, l’un des protocoles les plus récents sur la scène. Bien qu’il ne soit pas encore largement utilisé, ce protocole présente de gros avantages.
Premièrement, il prend en charge le streaming à débit binaire adaptatif. Cela signifie que les téléspectateurs recevront toujours la meilleure qualité vidéo que leur vitesse de connexion Internet actuelle peut supporter. Celle-ci a tendance à fluctuer d’une seconde à l’autre, et DASH peut suivre le mouvement.
Le MPEG-DASH corrige certains problèmes techniques de longue date en matière de diffusion et de compression. Autre avantage, le MPEG-DASH est « agnostique en matière de codecs », ce qui signifie qu’il peut être utilisé avec presque tous les formats d’encodage. Il prend également en charge Encrypted Media Extensions (EME) et Media Source Extension (MSE), qui sont des API basées sur des normes pour la gestion des droits numériques (DRM) par navigateur.
Qui devrait utiliser MPEG-DASH ?
De nos jours, MPEG-DASH n’est utilisé que par une fraction des diffuseurs professionnels par rapport à HLS. Cependant, nous pensons qu’il sera la technologie standard à l’avenir.
La raison pour laquelle ce protocole n’est pas encore incroyablement populaire peut être attribuée à la compatibilité (par exemple, Apple Safari et les appareils iOS ne le prennent pas en charge) et à d’autres problèmes connexes.
Microsoft Smooth Streaming (MSS)
Vient ensuite le protocole Smooth Streaming (MSS) de Microsoft. Introduit à l’origine en 2008, MSS a fait partie intégrante des Jeux olympiques d’été de cette année-là. Cependant, sa popularité a chuté, sauf parmi les développeurs axés sur Microsoft et ceux qui travaillent dans l’écosystème Xbox.
Smooth Streaming prend en charge le streaming à débit binaire adaptatif et comprend quelques outils robustes pour les DRM. Dans l’ensemble, il s’agit d’une méthode de diffusion multimédia hybride qui fonctionne comme le streaming, tout en étant basée sur le téléchargement progressif HTTP.
Qui devrait utiliser Smooth Streaming?
Sauf si votre principal public cible est constitué d’utilisateurs de Xbox ou si vous prévoyez de créer des applications spécifiques à Windows, nous ne recommandons pas d’utiliser MSS comme protocole de streaming vidéo principal.
HTP Dynamic Streaming (HDS)
L’entrée d’Adobe dans le monde des protocoles de streaming est le HTTP Dynamic Streaming (HDS), le successeur du RTMP. Comme le RTMP, le HDS est un protocole de streaming basé sur le flash. Cependant, il ajoute également la prise en charge du streaming adaptatif et a une réputation de haute qualité.
HDS est également l’un des meilleurs protocoles en matière de latence. En revanche, la latence n’est pas aussi faible qu’avec le RTMP en raison du processus de fragmentation et de cryptage, ce qui le rend moins populaire pour le streaming sportif et d’autres événements où les secondes comptent.
Qui devrait utiliser HDS ?
Généralement, nous ne vous recommandons pas d’utiliser HDS. Ces dernières années, le support de Flash est devenu trop faible pour qu’un diffuseur puisse compter sur cette technologie pour atteindre son public. En bref, construire votre vidéo web autour du lecteur Flash est tout simplement un mauvais choix aujourd’hui.
HTTP Live Streaming (HLS)
Le dernier protocole de streaming vidéo dont nous allons parler est le HTTP Live Streaming ou HLS. Apple a initialement publié ce protocole en 2009 pour lui permettre de supprimer Flash des iPhones. Depuis, le HLS est devenu le protocole de streaming le plus largement utilisé.
Il y a plusieurs raisons à cela. Tout d’abord, les navigateurs de bureau, les téléviseurs intelligents et les appareils mobiles Android et iOS prennent tous en charge HLS. Les lecteurs vidéo HTML5 prennent également en charge le HLS de manière native, par rapport au HDS et au RTMP.
Cela permet à un flux d’atteindre autant de spectateurs que possible, ce qui fait de HLS le protocole le plus sûr aujourd’hui pour mettre à l’échelle un flux en direct vers de larges audiences. Par exemple, vous pouvez utiliser ce protocole pour diffuser une vidéo en direct sur votre site Web avec un simple code d’intégration.
En ce qui concerne les fonctionnalités, la norme HLS prend également en charge le streaming à débit adaptatif, ce qui permet de fournir dynamiquement la meilleure qualité vidéo possible à tout moment. Grâce à des mises à jour récentes, cette norme prend désormais en charge le tout dernier codec H.265, qui offre une qualité vidéo deux fois supérieure à celle du H.264 pour la même taille de fichier.
À l’heure actuelle, le seul inconvénient du HLS est que la latence peut être relativement élevée. Cependant, il existe des méthodes pour réduire la latence du HLS.
Qui devrait utiliser le HLS?
Le HLS est le protocole le plus utilisé aujourd’hui car il est robuste et efficace. Par exemple, nous savons que peu de téléspectateurs reviendront sur un site pendant un flux s’ils rencontrent une défaillance vidéo. L’utilisation d’un protocole adaptatif et largement compatible comme HLS permettra d’offrir la meilleure expérience possible au public.
Nous aimerions également mentionner que HLS est désormais le protocole de streaming par défaut utilisé chez Dacast.
Protocoles vidéo pour le streaming live professionnel
Pour récapituler, il existe aujourd’hui de nombreux protocoles de streaming vidéo, et beaucoup d’entre eux peuvent être utilisés pour le streaming vidéo en direct.
Comme nous l’avons couvert ci-dessus, tous les protocoles abordés ici – RTMP, RTSP, MPEG-DASH, MSS, HDS et HLS – ont des cas d’utilisation spécifiques pour des diffuseurs particuliers. Cependant, si l’on prend tout en compte, HLS arrive en tête, notamment en termes de compatibilité avec les codecs, de compatibilité avec tous les appareils, de prise en charge native du lecteur vidéo HTML5 et de capacité de streaming à débit adaptatif.
Notre recommandation à emporter ici est simple : pour l’instant, presque tous les diffuseurs devraient s’en tenir à l’utilisation du protocole de streaming vidéo HLS.
Bien sûr, certains utilisateurs peuvent trouver d’autres protocoles mieux adaptés à leurs besoins. Cependant, que vous souhaitiez diffuser des vidéos en direct sur votre site web, faire du streaming en direct d’événements sportifs ou diffuser des événements et des rassemblements professionnels en direct, HLS est généralement la meilleure solution.
Rappellez-vous que MPEG-DASH est une option en devenir. Attendez-vous à une adoption croissante de ce protocole de streaming dans un avenir proche.
Conclusion
Bien que les protocoles de streaming et la technologie associée soient un peu complexes, ils sont totalement abordables lorsqu’ils sont décomposés en idées plus petites et digestes.
Nous espérons que ce post a permis de clarifier l’objectif des protocoles de streaming vidéo et la relation entre le protocole de streaming vidéo, le codec et le format de conteneur. Nous espérons que vous êtes équipé pour choisir et utiliser le protocole adapté à vos besoins.
Pour tester le streaming HLS sur la plateforme Dacast, nous vous invitons à vous inscrire à notre essai gratuit de 30 jours. Vous pourrez ainsi vous familiariser avec les fonctionnalités avant de vous engager/
DÉMARREZ GRATUITEMENT