close menu

Guide complet du RTMP : de quoi s'agit-il et quand l'utiliser ?

Complete Guide To RTMP

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éseau et de nombreux autres secteurs. Cependant, certaines idées fausses sur le RTMP l'ont rendu moins populaire qu'il ne pourrait l'être.

Mais qu'est-ce que le RTMP exactement ? Comment fonctionne-t-il ? Et devez-vous l'utiliser pour votre prochain flux en direct ?

Découvrez tout cela et bien plus encore ci-dessous.

Qu'est-ce que le RTMP ?

Le RTMP est un protocole de réseau ou un système utilisé pour diffuser du contenu multimédia sur Internet, basé sur la technologie du protocole de contrôle de transmission (TCP).

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

RTMP est un protocole de 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 interagissez 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. À la 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 le code Html de la page Web).

Pour maintenir une communication efficace (c'est-à-dire éviter que la correspondance ne soit abandonnée ou retardée), le message doit être décomposé en plus petits morceaux 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.

Le TCP est le composant qui s'occupe de décomposer le message en paquets ou en plus petits morceaux qui peuvent être transmis de manière efficace et efficiente.

La couche IP joue le rôle d'agent de transfert qui détermine les meilleures routes pour transmettre les paquets sur Internet.

Le protocole RTMP est utilisé par de nombreux lecteurs multimédia 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 diffusion en continu est la façon dont elle diffuse le contenu. Si la qualité de la résolution du streaming est faible, la plupart des consommateurs n'y trouveront pas leur compte. De même, une solution de diffusion en continu présentant une latence élevée et des tampons ou des chargements trop longs avant la lecture du contenu n'aura pas de succès.

C'est là que RTMP brille. Depuis son développement, le 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 puissante et rapide.

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

Cependant, bien qu'il existe depuis de nombreuses années, le RTMP a récemment fait l'objet d'un examen approfondi parce que le système n'est pas sûr pour ses utilisateurs.

Voici comment se présente la ou les failles de sécurité :

Tout d'abord, le protocole RTMP ne comporte aucun cryptage. Par conséquent, toute communication ou transfert de paquets pendant l'utilisation du RTMP peut être écouté par des groupes non autorisés ou par des attaques de type "man-in-the-middle".

Un autre facteur qui a contribué à la vulnérabilité de RTMP en matière de sécurité est que son code source est resté longtemps 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 libres garantit des correctifs de sécurité relativement plus fréquents et de meilleure qualité. C'est ce qui a manqué à RTMP pour améliorer son dispositif de sécurité.

Essayez la diffusion en direct de Wave.video

Une plateforme de multi-streaming robuste et facile à utiliser pour les streamers de tous niveaux.Essayez maintenant

Variations du RTMP

Les variantes du RTMP sont les suivantes :

  • Real-Time Messaging Protocol Server (RTMPS) - ressemble beaucoup au RTMP, à ceci près qu'il est doté d'un système de cryptage, c'est-à-dire que les couches de sockets sécurisés (SSL) et Transport Layer Security (TLS) sont activées, et qu'il prend en charge tous les lecteurs dotés du lecteur Flash. Il est utilisé dans les scénarios où il est vital d'empêcher la falsification ou l'accès non autorisé des données en transit.
  • Protocole de messagerie en temps réel crypté (RTMPE) - il s'agit d'un protocole de diffusion en continu très polyvalent qui utilise à la fois le protocole de contrôle du transport (TCP) et le protocole de datagramme utilisateur (UDP) pour transmettre les données. RTMPE crypte également toutes les transmissions de données à l'aide du cryptage exclusif d'Adobe afin d'éviter tout accès non autorisé et toute falsification.
  • Real-Time Messaging Protocol Tunnel (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 exige que le client envoie une demande HTTP modifiée au serveur, qui répond par une transmission HTTP presque similaire. Le client et le serveur utilisent un identifiant de session ; une fois la connexion établie, la transmission des données peut commencer entre les deux.
  • Real-Time Media Flow Protocol (RTMFP ) - Le RTMFP est une version améliorée du RTMP dans la mesure où il utilise un format d'encodage différent, l'UDP, pour obtenir un flux de médias à haute performance.

Historique du streaming RTMP

Le protocole RTMP (Real-Time Messaging Protocol) était à l'origine un protocole propriétaire développé par Macromedia pour la diffusion en continu d'audio, de vidéo et de 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 ouverte du RTMP, appelée OpenRTMP. La principale différence entre RTMP et OpenRTMP est qu'avec OpenRTMP, n'importe quel serveur média peut être utilisé au lieu du seul Flash Media Server (FMS).

La spécification RTMP ouverte offre également une plus grande souplesse quant à la manière dont les développeurs peuvent sécuriser ou configurer la fonctionnalité peer-to-peer. L'objectif est d'encourager l'innovation et la collaboration par le biais de la concurrence et de l'accès ouvert entre les développeurs afin de mettre au point la solution RTMP idéale.

Le principe de base

LeRTMP 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 "chunks", qui sont réassemblés à l'autre bout, de sorte que l'utilisateur peut regarder ou écouter le contenu sans attendre de le télécharger complètement.

Le fonctionnement du RTMP comporte deux volets : la livraison du premier et du dernier kilomètre.

La livraison du premier kilomètre implique généralement la transmission des médias de l'encodeur au serveur en utilisant RTMP. La livraison du dernier kilomètre consiste à transmettre les médias du serveur à l'appareil de l'utilisateur. Un lecteur Flash ou un outil de même capacité est utilisé dans cette deuxième partie. Selon certaines informations, Adobe abandonnerait toute prise en charge de Flash, ce qui signifierait la fin de la diffusion du dernier kilomètre.

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

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

Comment fonctionne l'ingestion RTMP

C'est probablement l'un des atouts de RTMP qui lui a permis de perdurer aussi longtemps. Alors que le monde s ' éloignait de la visualisation des médias sur les ordinateurs pour se tourner vers la visualisation mobile, RTMP a dû relever un défi.

D'une part, le RTMP s'appuyait sur le lecteur Adobe Flash pour offrir une expérience de streaming transparente, mais il y avait un léger problème. Les appareils mobiles ne prenaient pas en charge le lecteur Flash d'Adobe ; en fait, le RTMP était devenu inutile pour les utilisateurs qui souhaitaient bénéficier des 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 survécu avec l'ingestion RTMP, créant sa niche en tant que protocole idéal pour transporter les médias de l'encodeur au serveur.

L'ingestion RTMP donne la priorité aux codeurs à faible coût pour fonctionner et offre généralement un streaming à faible latence aux utilisateurs.

Il comprend 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 par l'envoi par le client d'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 alors par un message "connecté", qui comprend des informations sur le serveur et le type de connexion qui a été établi.

Enfin, le client et le serveur échangent des messages pour confirmer qu'ils sont 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 un contenu multimédia d'une source à une destination.

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

Une connexion d'ingestion RTMP comporte trois éléments :

  • L'encodeur convertit le signal vidéo et audio en un format numérique qui peut ê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 téléspectateurs (généralement en le conditionnant dans un format comme Flash).

3. Le Streaming

Lorsqu'un utilisateur transmet du contenu en continu à un serveur multimédia, ce dernier doit d'abord coder le flux vidéo et audio entrant avant de l'envoyer à tous les clients connectés.

Le processus de codage et de reformatage de la vidéo et de l'audio dans un format de fichier standard est appelé transcodage. Il s'agit de convertir le signal d'entrée en une forme qui peut être lue sur divers appareils.

Pour 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 consiste à permettre aux utilisateurs de regarder le contenu à leur convenance.

Le streaming en direct nécessite une connexion constante entre le client et le serveur, alors que le streaming à la demande ne l'exige pas.

RTMP utilise le protocole TCP pour maintenir une connexion persistante entre le client et le serveur, ce qui permet un streaming à faible latence. Cependant, le RTMP n'est pas bien adapté à la diffusion en continu à la demande.

Alternatives RTMP pour l'ingestion

SRT et WebRTC sont les principaux concurrents qui peuvent égaler ou dépasser les capacités de RTMP. Voici un bref aperçu de ces deux solutions :

Transport fiable et sécurisé (SRT)

La SRT comble les lacunes que le RTMP n'a pu combler, notamment en maintenant un streaming à faible latence, même lorsque l'utilisateur est connecté à un réseau relativement peu fiable. Il s'agit donc d'un excellent choix pour le streaming en direct et à la demande.

Puisqu'il s'agit d'un logiciel libre, les limites de ses capacités sont infinies et il n'y a pas de crainte que le soutien au développement soit retiré.

Communications Web en temps réel (WebRTC)

Le WebRTC l'emporte avec sa publication basée sur le navigateur. Le protocole d'ingestion HTTP WebRTC (WHIP) est également en cours de développement, ce qui signifie pour les utilisateurs qu'ils pourront diffuser des flux avec un simple navigateur web au lieu de s'encombrer d'encodeurs comme avec le RTMP.

RTMP Alternatives pour la sortie

En tête de liste des solutions de sortie RTMP figurent le streaming en direct HTTP (HLS), MPEG-DASH et WebRTC.

Voici un bref aperçu des alternatives :

HLS et MPEG-DASH

Les deux sont pratiquement identiques, si ce n'est que HLS est propriétaire alors que MPEG-DASH est open-source.

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

WebRTC est également une alternative notable 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é de HTML5 et la prolifération d'alternatives performantes à Flash peuvent donner l'impression que le RTMP et Flash sont en voie de disparition. Mais ce n'est pas le cas.

Flash est sur le déclin depuis un certain temps déjà, perdant une part de marché importante au profit de 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 est toujours très présent sur le web et est utilisé par de nombreux sites populaires, dont YouTube et Facebook.

Quant au RTMP, il est encore largement utilisé pour la diffusion de contenus audio et vidéo. Toutefois, son avenir est moins certain que celui de Flash.

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

Alors, faut-il faire du streaming avec RTMP ?

Cela dépend. Jetez un coup d'œil aux avantages et aux inconvénients de l'utilisation de RTMP.

Pour

  • Il est très stable. Par rapport à d'autres solutions du marché, il est très improbable de subir des perturbations ou des temps d'arrêt lors de l'utilisation d'un service compatible RTMP.
  • Faible latence et mise en mémoire tampon minimale. Le 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é un plus grand nombre de fabricants à concevoir leurs produits pour qu'ils s'intègrent facilement au RTMP.

Cons

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

FAQS

Comment utiliser Wave.video pour la diffusion en continu via RTMP ?

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

  1. Créez un compte sur Wave.video et connectez-vous si ce n'est pas déjà fait.
  2. Choisissez la vidéo que vous souhaitez diffuser.
  3. Naviguez vers la page "Destinations" sur Wave.video et cliquez sur "Custom RTMP". RTMP Wave.video
  4. Ensuite, vous devez trouver l'URL du serveur et la clé du flux pour le contenu que vous essayez de diffuser. Pour ce faire, naviguez sur le site Web où se trouve le flux que vous souhaitez visualiser.
  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é du flux.
  7. Collez l'URL du serveur et la clé du flux dans Wave.video.RTMP name, key, url
  8. Créez ou programmez votre flux.
  9. Ouvrez le studio en direct et commencez à diffuser.

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

Quels encodeurs prennent en charge le RTMP ?

Il existe de nombreux matériels et logiciels d'encodage qui prennent en charge le RTMP. En voici quelques-uns :

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

RTMP ou RTSP - Lequel est le meilleur ?

RTMP et RTSP sont des protocoles permettant de diffuser des flux audio, vidéo et de données sur Internet. Ils sont similaires à bien des égards, mais certaines différences essentielles 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 plus adapté à la diffusion en direct, tandis que RTSP est plus adapté à 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 média.

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

RTMP est un bon choix si vous avez besoin d'une faible latence et que l'utilisation de Flash ne vous dérange pas. 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) ?

L'AMF est un format binaire permettant de coder et de transmettre des données sur Internet. Il est souvent utilisé conjointement avec le RTMP.

AMF permet de transmettre des données incompatibles avec RTMP, comme les 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 de 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 de YouTube ou de Facebook. Une fois cette opération effectuée, vous trouverez l'URL RTMP dans les paramètres de l'événement.

Réflexions finales

Le RTMP s'est incontestablement imposé dans le monde. Est-il en voie de disparition ? En tant que solution de sortie, peut-être, mais pas en tant que solution d'entrée !

Même si d'autres solutions aussi ou plus performantes voient le jour, le RTMP restera pertinent pour la transmission de médias et le streaming.

Nous vous tiendrons au courant !

Rejoignez les 5 000 spécialistes du marketing qui lisent nos articles en premier.