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

Free Cloud Server Trial
Serveurs Virtuels Privés de niveau en­tre­prise
  • Serveurs pour les dé­ve­lop­peurs basés sur KVM
  • Évo­lu­ti­vité flexible, jusqu'au Cloud d'en­tre­prise
  • Pay-as-you-go : fac­tu­ra­tion à la minute, selon l'uti­li­sa­tion

L’histoire du protocole Real Time Messaging Protocol

Le RTMP a été développé par Adobe Inc.. Il a d’abord servi à trans­fé­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 com­mer­cia­li­sa­tion d’Adobe Flash Player ait été stoppée fin 2020, RTMP jouit toujours d’une grande po­pu­la­rité et constitue le protocole réseau utilisé en priorité pour le streaming. Cependant, une com­bi­nai­son associant RTMP et HLS est souvent utilisée pour trans­fé­rer le flux vers des terminaux modernes qui ne prennent souvent plus en charge RTMP en raison de l’uti­li­sa­tion de HTML5.

Comment fonc­tionne le protocole Real Time Messaging Protocol

Pour pouvoir diffuser du contenu audio ou vidéo sur Internet, il est né­ces­saire 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 trans­mettre les signaux codés à un Content Delivery Network ou à une pla­te­forme 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 ho­ro­da­tage 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 con­fir­ma­tion du serveur. Une fois que le client l’a reçue, il peut commencer le streaming en temps réel.

Cela établit une connexion per­sis­tante qui permet de trans­mettre les données en temps réel. Les données de streaming sont trans­mises dans des blocs de tailles dif­fé­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 re­la­ti­ve­ment faible en raison de l’uti­li­sa­tion de TCP.

Une autre variante du protocole Real Time Messaging Protocol est RTMPT basé sur HTTP. La tech­no­lo­gie de tun­nel­li­sa­tion est utilisée pour con­tour­ner les pare-feu. RTMPS basé sur HTTPS fonc­tionne également de manière similaire.

À partir du serveur RTMP, le flux peut également être transmis di­rec­te­ment aux terminaux à l’aide de HLS.

Domaines d’ap­pli­ca­tion pour RTMP

En général, le protocole Real Time Messaging Protocol est utilisé dans deux domaines. Le premier cas d’uti­li­sa­tion de RTMP est la trans­mis­sion 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 di­rec­te­ment aux uti­li­sa­teurs finaux. Pour cette raison, un Content Delivery Network ou une pla­te­forme vidéo en ligne doit être utilisé dans le deuxième cas d’uti­li­sa­tion. Les données du serveur sont ensuite trans­mises au serveur via RTMP.

Conseil

Si vous voulez créer votre propre serveur RTMP, vous devez d’abord choisir un système d’ex­ploi­ta­tion serveur. Vous pouvez choisir entre Windows ou dif­fé­rentes dis­tri­bu­tions Linux pour serveurs.

Aller au menu principal