RTMP : présentation du protocole Real Time Messaging Protocol

RTMP permet la diffusion fluide de contenus audio et vidéo. Le protocole réseau est essentiel pour la transmission de signaux codés dans le Content Delivery Network, abrégé CDN et réseau de diffusion de contenu en français.

Essayez gratuitement le serveur Cloud avec IONOS

Testez notre serveur Cloud gratuitement - Testez votre serveur Cloud chez IONOS pendant 30 jours !

REST API
Trafic illimité
Virtualisation VMware

L’histoire du protocole Real Time Messaging Protocol

Le RTMP a été développé par Adobe Inc.. Il a d’abord servi à transférer des données entre les serveurs et Adobe Flash Player. Ce dernier ayant été utilisé à grande échelle, Real Time Messaging Protocol a également bénéficié d’une large diffusion en parallèle. Bien que la commercialisation d’Adobe Flash Player ait été stoppée fin 2020, RTMP jouit toujours d’une grande popularité et constitue le protocole réseau utilisé en priorité pour le streaming. Cependant, une combinaison associant RTMP et HLS est souvent utilisée pour transférer le flux vers des terminaux modernes qui ne prennent souvent plus en charge RTMP en raison de l’utilisation de HTML5.

Comment fonctionne le protocole Real Time Messaging Protocol

Pour pouvoir diffuser du contenu audio ou vidéo sur Internet, il est nécessaire d’encoder le signal dans un premier temps. Les encodeurs de diffusion sont utilisés à cette fin. Le signal codé est ensuite transmis à un serveur RTMP à l’aide de RTMP. Le protocole a également pour mission de transmettre les signaux codés à un Content Delivery Network ou à une plateforme vidéo en ligne. La façon dont ce transfert a lieu dépend de la variante RTMP utilisée.

La variante standard du protocole réseau utilise le protocole de transport TCP sur le port 1935. Des blocs de données sont échangés entre le client et le serveur dans un premier temps. Ce processus est également appelé handshake ou « poignée de main ». Ceci permet d’indiquer au serveur quelle version de protocole est utilisée. Un horodatage est également envoyé au serveur. Dès que le serveur l’informe qu’il a reçu ces deux blocs de données et quand, la connexion peut être établie.

Le client envoie au serveur une demande de connexion (connect request) au format Action Message Format, puis attend la confirmation du serveur. Une fois que le client l’a reçue, il peut commencer le streaming en temps réel.

Cela établit une connexion persistante qui permet de transmettre les données en temps réel. Les données de streaming sont transmises dans des blocs de tailles différentes. Pour les données vidéo, la taille de bloc est de 128 octets, pour les données audio de 64 octets. La latence de RTMP est relativement faible en raison de l’utilisation de TCP.

Une autre variante du protocole Real Time Messaging Protocol est RTMPT basé sur HTTP. La technologie de tunnellisation est utilisée pour contourner les pare-feu. RTMPS basé sur HTTPS fonctionne également de manière similaire.

À partir du serveur RTMP, le flux peut également être transmis directement aux terminaux à l’aide de HLS.

Domaines d’application pour RTMP

En général, le protocole Real Time Messaging Protocol est utilisé dans deux domaines. Le premier cas d’utilisation de RTMP est la transmission de données entre un encodeur et un serveur.

Comme Flash Player n’existe plus, RTMP ne peut plus être utilisé pour envoyer des données directement aux utilisateurs finaux. Pour cette raison, un Content Delivery Network ou une plateforme vidéo en ligne doit être utilisé dans le deuxième cas d’utilisation. Les données du serveur sont ensuite transmises au serveur via RTMP.

Conseil

Si vous voulez créer votre propre serveur RTMP, vous devez d’abord choisir un système d’exploitation serveur. Vous pouvez choisir entre Windows ou différentes distributions Linux pour serveurs.