REC

Guide de production vidéo, montage et entretien de l'équipement

 WTVID >> Guide de production vidéo >  >> Guide Vidéo >> Diffusion en Direct

RTMP expliqué :un guide complet du streaming en temps réel

RTMP expliqué :un guide complet du streaming en temps réel

Le protocole de messagerie en temps réel (RTMP) est un format de streaming largement utilisé. Il existe depuis de nombreuses années et est devenu un outil essentiel pour les diffuseurs, les opérateurs de réseaux et de nombreux autres secteurs. Cependant, certaines idées fausses à propos du RTMP l'ont rendu moins populaire qu'il pourrait l'être.

Mais qu’est-ce que RTMP exactement ? Comment ça marche ? Et devriez-vous l'utiliser pour votre prochaine diffusion en direct ?

Découvrez-le et bien plus ci-dessous.

Qu'est-ce que RTMP ?

RTMP est un protocole réseau ou un système utilisé pour diffuser du contenu multimédia sur Internet basé sur la technologie TCP (Transmission Control Protocol). 

TCP est l'un des composants qui composent la suite de protocoles Internet. L'autre élément important est le protocole Internet, également appelé IP.

RTMP est un protocole réseau ou un système utilisé pour diffuser du contenu multimédia sur Internet.

Ensemble, TCP et IP agissent comme des ponts de communication entre les couches application et réseau. Pensez-y de cette façon ; la couche application englobe ce avec quoi vous interagiriez normalement, comme le navigateur Mozilla Firefox ou toute autre application utilisateur. 

Pour que votre navigateur Firefox charge une page Web, il doit envoyer une requête au serveur du site Web. Dès réception de la demande, le serveur envoie la ressource demandée (c'est-à-dire un flux vidéo, une vidéo préenregistrée sur YouTube ou un code HTML pour la page Web).

Pour maintenir une communication efficace (c'est-à-dire éviter que la correspondance ne soit interrompue ou retardée), le message doit être démantelé en morceaux plus petits appelés paquets. Cela se fait du côté de l'expéditeur, et une fois le message reçu, il est réassemblé pour l'utilisateur.

TCP est le composant qui consiste à diviser le message en paquets ou en morceaux plus petits qui peuvent être transmis de manière efficace et efficiente.

La couche IP agit comme un agent de transit qui détermine les meilleurs itinéraires pour transmettre les paquets sur Internet. 

Le protocole RTMP est utilisé par de nombreux lecteurs multimédias populaires, notamment Adobe Flash Player, VLC Media Player, QuickTime Player et Windows Media Player. RTMP est également pris en charge par certains navigateurs Web, notamment Google Chrome et Mozilla Firefox.

La principale préoccupation de la plupart des utilisateurs d’une solution de streaming est la manière dont elle diffuse le contenu. Si la qualité de la résolution de streaming est faible, ce sera un problème pour la plupart des consommateurs. De même, une solution de streaming avec une latence élevée et des mises en mémoire tampon ou des chargements trop longs avant de lire le contenu ne fonctionnera pas bien.

C'est là que RTMP brille. Depuis son développement, RTMP garantit une faible latence, une mise en mémoire tampon minimale et l'une des meilleures qualités de résolution de streaming à condition que la connexion réseau soit suffisamment solide et rapide.

Un autre avantage de RTMP est sa capacité à prendre en charge le streaming de masse simultanément et sans problèmes majeurs.

Cependant, malgré son existence depuis de nombreuses années, RTMP a récemment fait l'objet d'une surveillance accrue car le système n'est pas sécurisé pour ses utilisateurs. 

Voici comment se produisent les vulnérabilités de sécurité :

Premièrement, le protocole RTMP ne contient aucun cryptage. Par conséquent, toute communication ou transfert de paquets pendant que le RTMP est utilisé est susceptible d'être écouté par des groupes non autorisés ou des attaques de type man-in-the-middle.

Un autre facteur qui a contribué à la vulnérabilité de sécurité de RTMP est que son code source a longtemps été propriétaire. Les logiciels propriétaires (c'est-à-dire les logiciels dont les droits de propriété et de contrôle sont limités à l'entité qui les a développés ou achetés) reçoivent généralement des correctifs de sécurité qui apparaissent régulièrement, mais cela ne suffit pas.

De nouvelles vulnérabilités apparaissent fréquemment et la communauté construite autour des logiciels open source garantit des correctifs de sécurité relativement plus fréquents et de meilleure qualité. C'est ce que RTMP a manqué pour améliorer sa posture de sécurité.

Variations RTMP

Les variantes RTMP incluent les éléments suivants :

  • Serveur de protocole de messagerie en temps réel (RTMPS) – ressemble beaucoup à RTMP, à la seule différence qu'il est doté d'un cryptage, c'est-à-dire que Secure Sockets Layer (SSL) et Transport Layer Security (TLS) sont activés, et qu'il prend en charge tous les lecteurs avec Flash Player activé. Il est utilisé dans des scénarios où il est essentiel d'empêcher la falsification ou l'accès non autorisé aux données en transit.
  • Protocole de messagerie crypté en temps réel (RTMPE) – il s’agit d’un protocole de streaming très polyvalent qui utilise à la fois le protocole de contrôle de transport (TCP) et le protocole de datagramme utilisateur (UDP) pour transmettre des données. RTMPE chiffre également toutes les transmissions de données à l'aide du chiffrement exclusif d'Adobe pour éviter tout accès non autorisé et toute falsification.
  • Tunnel de protocole de messagerie en temps réel (RTMPT) – RTMPT utilise un mécanisme de tunneling pour contourner les pare-feu qui bloquent généralement tout le trafic RTMP. En pratique, RTMPT demande au client d'envoyer une requête HTTP modifiée au serveur, qui répond par une transmission HTTP presque similaire. Le client et le serveur utilisent un ID de session ; une fois la connexion établie, la transmission des données peut commencer entre les deux.
  • Protocole de flux multimédia en temps réel (RTMFP) – RTMFP est une version améliorée du RTMP dans la mesure où il utilise un format d'encodage UDP différent pour obtenir un streaming multimédia hautes performances.

Historique du streaming RTMP

Le protocole RTMP (Real-Time Messaging Protocol) était initialement un protocole propriétaire développé par Macromedia pour diffuser de l'audio, de la vidéo et des données sur Internet entre un lecteur Flash et un serveur.

RTMP est désormais utilisé par de nombreux services en ligne populaires tels que Facebook, Twitch et Twitter pour la diffusion de vidéos en direct.

La première version publique de RTMP date de 2002. En 2009, Adobe a publié une version à spécification ouverte de RTMP connue sous le nom d'OpenRTMP. La principale différence entre RTMP et OpenRTMP est qu'avec OpenRTMP, n'importe quel serveur multimédia peut être utilisé à la place de Flash Media Server (FMS).

La spécification RTMP ouverte offre également plus de flexibilité concernant la manière dont les développeurs peuvent sécuriser ou configurer la fonctionnalité peer-to-peer. Cela vise à encourager l'innovation et la collaboration via la concurrence et le libre accès entre les développeurs pour développer la solution RTMP idéale.

Le principe principal

RTMP utilise une technique appelée « streaming » pour diffuser du contenu. Cela signifie que les données sont transférées en petits morceaux appelés « morceaux ». Les morceaux sont réassemblés à l'autre extrémité, afin que l'utilisateur puisse regarder ou écouter le contenu sans attendre de le télécharger complètement.

Le fonctionnement du RTMP comporte deux parties :Livraison du premier et du dernier kilomètre.

La livraison au premier kilomètre implique généralement la transmission de médias de l'encodeur au serveur à l'aide de RTMP. La livraison du dernier kilomètre fait référence à la transmission de médias du serveur vers l'appareil de l'utilisateur. Un lecteur Flash ou un outil tout aussi performant est utilisé dans cette deuxième partie. Certains rapports indiquent qu'Adobe abandonne toute prise en charge de Flash ; par conséquent, cela signifie la fin de la livraison sur le dernier kilomètre.

En réponse, l'industrie a adopté le protocole HTTP (Hypertext Transfer Protocol), une solution de streaming plus efficace.

Les variantes RTMP comme RTMPT utilisent actuellement HTTP pour encapsuler et transmettre des médias.

Fonctionnement de l'ingestion RTMP

C’est probablement l’une des grâces salvatrices de RTMP qui lui a permis de perdurer aussi longtemps. Alors que le monde s'éloignait du visionnage des médias sur ordinateur pour se tourner vers le visionnement mobile, RTMP a été confronté à un défi.

D'une part, RTMP s'est appuyé sur le lecteur Adobe Flash pour offrir une expérience de streaming fluide, mais il y a eu un léger problème. Les appareils mobiles ne prenaient pas en charge Adobe Flash Player; essentiellement, RTMP est devenu inutile pour les utilisateurs qui souhaitaient les mêmes services de streaming sur leurs appareils mobiles.

En réponse, Apple a développé le protocole HLS pour prendre en charge la fonctionnalité de streaming sur les appareils mobiles.

Il était tout à fait raisonnable de s’attendre à ce que le RTMP devienne obsolète. Heureusement, il a perduré grâce à l'ingestion RTMP, créant ainsi sa niche en tant que protocole idéal pour transporter les médias de l'encodeur au serveur.

L'ingestion RTMP donne la priorité au fonctionnement des encodeurs à faible coût et offre généralement un streaming à faible latence aux utilisateurs.

Il implique trois éléments principaux :

1. La poignée de main

Lorsqu'un client souhaite se connecter à un serveur RTMP, il doit d'abord établir une poignée de main. Ce processus commence lorsque le client envoie une demande de « connexion » au serveur, qui comprend des informations sur le client et le type de connexion qu'il tente d'établir.

Le serveur répond ensuite avec un message « connecté », qui comprend des informations sur le serveur et le type de connexion qui a été établie.

Enfin, le client et le serveur échangent des messages pour confirmer qu'ils sont tous deux toujours connectés et pour négocier les paramètres nécessaires à la connexion.

2. La connexion

L'objectif principal de la connexion d'ingestion RTMP est de fournir un moyen de diffuser du contenu multimédia d'une source vers une destination.

La source multimédia peut être un flux de caméra en direct, une vidéo préenregistrée, de l'audio ou d'autres médias. La destination est généralement un serveur multimédia en streaming, qui distribue le contenu aux téléspectateurs.

Une connexion d'ingestion RTMP comporte trois composants :

  • L'encodeur convertit le signal vidéo et audio dans un format numérique pouvant être transporté sur Internet.
  • Le transport :il s'agit du support sur lequel le signal codé est envoyé de l'encodeur au serveur ; généralement, cela se fait via UDP ou TCP.
  • Le serveur reçoit le signal codé et le met à la disposition des spectateurs (généralement en le regroupant dans un format tel que Flash).

3. Le streaming

Lorsqu'un utilisateur diffuse du contenu sur un serveur multimédia, le serveur doit d'abord encoder le flux vidéo et audio entrant avant de l'envoyer à tous les clients connectés.

Le processus d'encodage et de reformatage de la vidéo et de l'audio dans un format de fichier standard est appelé transcodage. Cela implique de convertir le signal d'entrée en une forme pouvant être lue sur divers appareils.

En savoir plus sur le streaming, il existe deux types de streaming :en direct et à la demande. Le streaming en direct fait référence à la diffusion en temps réel, tandis que le streaming à la demande permet aux utilisateurs de regarder du contenu facilement.

La diffusion en direct nécessite une connexion constante entre le client et le serveur, contrairement à la diffusion à la demande.

RTMP utilise TCP pour maintenir une connexion persistante entre le client et le serveur, permettant ainsi un streaming à faible latence. Cependant, RTMP n'est pas bien adapté au streaming à la demande.

Alternatives RTMP pour l'ingestion

SRT et WebRTC sont les principaux concurrents capables d'égaler ou de dépasser les capacités RTMP. Voici un bref aperçu des deux alternatives :

Transport fiable et sécurisé (SRT)

SRT comble les lacunes que RTMP ne pouvait pas gérer, comme le maintien d'un streaming à faible latence même lorsque l'utilisateur est connecté à un réseau relativement peu fiable. Cela en fait un excellent choix pour le streaming en direct et à la demande.

Puisqu'il est open source, les limites de ses capacités sont infinies et il n'y a aucune inquiétude quant au retrait du support de développement.

Communications Web en temps réel (WebRTC)

WebRTC gagne avec sa publication basée sur un navigateur. Le protocole WebRTC HTTP Ingest (WHIP) est également en préparation, et cela signifie pour les utilisateurs qu'ils pourront diffuser du streaming avec uniquement un navigateur Web au lieu de s'embêter avec des encodeurs comme avec RTMP.

Alternatives RTMP pour la sortie

En tête de liste des alternatives de sortie RTMP figurent HTTP Live Streaming (HLS), MPEG-DASH et WebRTC.

Voici un bref aperçu des alternatives :

HLS et MPEG-DASH

Ces deux éléments sont pratiquement identiques, sauf que HLS est propriétaire tandis que MPEG-DASH est open source.

Le meilleur de ces deux produits est qu'ils sont conçus pour offrir une faible latence, une qualité multimédia optimale et même fonctionner avec des connexions réseau peu fiables.

WebRTC est également une alternative remarquable aux solutions de sortie RTMP.

RTMP et Flash sont-ils en train de mourir ?

La réponse courte est :probablement pas. La réponse longue est un peu plus compliquée.

L'augmentation constante de la popularité du HTML5 et la prolifération d'alternatives performantes à Flash peuvent donner l'impression que RTMP et Flash sont en train de mourir. Mais ce n'est pas le cas.

Flash est en déclin depuis un certain temps maintenant, perdant une part de marché significative au profit du HTML5 ces dernières années, et sa position autrefois dominante dans le monde de la vidéo est désormais constamment menacée.

Néanmoins, il jouit toujours d'une présence importante sur le Web et est utilisé par de nombreux sites populaires, notamment YouTube et Facebook.

Quant au RTMP, il est encore largement utilisé pour diffuser du contenu audio et vidéo. Cependant, son avenir est moins certain que celui de Flash.

Adobe a annoncé qu'il cesserait de prendre en charge RTMP en 2020, ce qui pourrait marquer la fin de ce protocole. Néanmoins, il existe de nombreuses alternatives basées sur le RTMP, il est donc probable qu'il continuera à être utilisé sous une forme ou une autre dans les années à venir.

Alors, devriez-vous diffuser en utilisant RTMP ?

Cela dépend. Jetez un œil à certains des avantages et des inconvénients de l'utilisation de RTMP.

Avantages

  • C'est très stable. Par rapport à d'autres alternatives sur le marché, il est très peu probable qu'il y ait une interruption ou un temps d'arrêt lors de l'utilisation d'un service compatible RTMP.
  • Faible latence et mise en mémoire tampon minimale. RTMP est unique à cet égard, ce qui signifie que les utilisateurs peuvent regarder des vidéos dans une meilleure résolution et que le chargement du média prendra beaucoup moins de temps.
  • Compatibilité. La nature robuste et fiable du RTMPS a encouragé davantage de fabricants à concevoir leurs produits pour s'intégrer facilement au RTMP.

Inconvénients

  • RTMP nécessite une connexion persistante entre le client et le serveur, ce qui peut poser problème en cas de perturbations du réseau
  • En tant que logiciel propriétaire, il offre peu de flexibilité aux utilisateurs expérimentés.

FAQ

Comment utiliser Wave.video pour le streaming via RTMP ?

Si vous souhaitez diffuser des vidéos via RTMP, Wave.video est une excellente option. Voici comment l'utiliser :

  1. Créez un compte avec Wave.video et connectez-vous si ce n'est pas déjà fait.
  2. Choisissez la vidéo que vous souhaitez diffuser.
  3. Accédez à la page "Destinations" sur Wave.video et cliquez sur "RTMP personnalisé". RTMP expliqué :un guide complet du streaming en temps réel
  4. Ensuite, vous devrez rechercher l'URL du serveur et la clé de diffusion du contenu que vous essayez de diffuser. Pour ce faire, accédez au site Web contenant le flux que vous souhaitez afficher.
  5. Vous pouvez utiliser une application ou une extension tierce pour extraire l'URL et la clé si vous ne savez pas comment procéder.
  6. Copiez l'URL du serveur et la clé de flux.
  7. Collez l'URL du serveur et la clé de flux dans Wave.video. RTMP expliqué :un guide complet du streaming en temps réel
  8. Créez ou planifiez votre flux.
  9. Ouvrez le studio en direct et démarrez la diffusion.

C'est tout ce qu'il y a à faire, simple et rapide !

Quels encodeurs prennent en charge RTMP ?

Il existe de nombreux matériels et logiciels d'encodage prenant en charge RTMP. Certains d'entre eux incluent :

  • Adobe Media Encoder
  • OBS Studio
  • Serveur élémentaire
  • TriCaster
  • Wirecast
  • vMix
  • TeraDek
  • Moteur de streaming Wowza
  • Vidéo Niagara

RTMP ou RTSP – Quel est le meilleur ?

RTMP et RTSP sont des protocoles permettant de diffuser de l'audio, de la vidéo et des données sur Internet. Ils sont similaires à bien des égards, mais certaines différences clés les rendent idéaux pour différentes situations ou préférences.

Voici un bref aperçu des principales différences entre les deux :

  • RTMP est préférable pour la diffusion en direct, tandis que RTSP est préférable pour la diffusion à la demande.
  • RTMP a une latence plus faible, tandis que RTSP peut fournir une vidéo de meilleure qualité.
  • RTMP nécessite un serveur Flash Media, tandis que RTSP peut fonctionner avec n'importe quel serveur multimédia.

Alors, quel protocole est le meilleur ? Tout dépend de vos besoins spécifiques.

RTMP est un bon choix si vous avez besoin d’une faible latence et que cela ne vous dérange pas d’utiliser Flash. RTSP peut être idéal si vous avez besoin d'une vidéo de haute qualité ou si vous souhaitez utiliser un serveur multimédia non Flash.

Qu'est-ce que le format de message d'action (AMF) ?

AMF est un format binaire pour l'encodage et la transmission de données sur Internet, et il est souvent utilisé conjointement avec RTMP.

AMF permet de transmettre des données incompatibles avec RTMP, telles que des objets ActionScript. Il permet également l'échange efficace de données entre les applications Flash et les serveurs.

Qu'est-ce qu'une URL RTMP et comment l'obtenir depuis Facebook ou YouTube ?

Une URL RTMP est un identifiant unique utilisé pour diffuser du contenu vidéo en direct sur diverses plateformes.

Il contient généralement une adresse IP, un nom de domaine et un numéro de port.

Vous devez créer un événement de diffusion en direct sur l'une ou l'autre plateforme pour l'obtenir depuis YouTube ou Facebook. Une fois cela fait, vous pourrez trouver l'URL RTMP dans les paramètres de l'événement.

Réflexions finales

RTMP a sans aucun doute fait sa marque dans le monde. Est-il en voie de disparition ? En guise de solution de sortie, il est possible de ne pas ingérer du tout !

Même si d'autres alternatives tout aussi performantes ou plus performantes apparaissent, RTMP restera pertinent dans la transmission et le streaming multimédia.

Abonnez-vous à notre newsletter — c'est gratuit !

Nous ne publions que les bonnes choses


  1. Statistiques de streaming en direct que vous devriez connaître en 2022

  2. 31 idées d'événements virtuels :31 façons d'engager les participants à des événements virtuels

  3. Redondance de diffusion en direct sans échec

  4. Equipement audio indispensable pour votre kit vidéo et live streaming

  5. Diffusez et enregistrez des événements :ensemble caméra et encodeur tout-en-un

Diffusion en Direct
  1. Tour d'horizon rapide des caméscopes NAB

  2. Système de microphone sans fil UHF Audio-Technica série U100

  3. Comment vérifier vos statistiques Spotify pour voir vos meilleurs artistes/pistes

  4. Termes cinématographiques que vous devez connaître

  5. Canon HV10 maintenant disponible

  6. Comment faire de la séparation de fréquence Retouching Portrait dans Photoshop

  7. Conseils pour utiliser la couleur dans votre photographie

  8. Comment faire des vidéos comme Gary Vee