Real Time Messaging Protocol

aus Wikipedia, der freien Enzyklopädie

Das Real Time Messaging Protocol (RTMP) ist ein von Adobe Inc. entwickeltes proprietäres Netzwerkprotokoll, um Audio-, Video- und sonstige Daten über das Internet von einem Media Server zu einem Flash-Player zu übertragen.

RTMP wurde als persistentes Protokoll für Flash geschaffen, wird aber auch für andere Anwendungen genutzt z. B. Adobe LiveCycle Data Services ES oder Openmeetings. Die Protokollspezifikation wurde erst im April 2009 offengelegt.[1][2] Zuvor gab es eine durch Reverse Engineering erstellte Dokumentation, auf deren Basis alternative Implementierungen wie der Streaming-Server Red5 verwirklicht wurden.

Protokollvarianten

In Abhängigkeit von Umgebungsbedingungen wird eine der drei Varianten genutzt:

  1. RTMP direkt auf Basis TCP/IP-Port 1935
  2. RTMPT auf Basis HTTP, um Firewalls zu überwinden
  3. RTMPS auf Basis HTTPS für sichere Verbindungen

Arbeitsweise

Die TCP-Variante nutzt eine persistente Verbindung, um eine Echtzeitkommunikation zu ermöglichen. Um eine gleichmäßige Wiedergabe sicherzustellen, werden größere Datenblöcke übertragen. Das Protokoll zerlegt die Daten in 128-Byte-Blöcke (64-Byte für Audio).

Mittels RTMPT können Tunnel aufgebaut werden, um Firewalls zu überwinden.

RTMPS erlaubt die Nutzung von SSL, um verschlüsselte Datenübertragung zu ermöglichen.

RTMP-Server

Es gibt einige proprietäre RTMP-Server-Implementierungen, z. B. jeeCam Communication Server, Adobe Flash Media Server, Onlinelib VCS Video Communication Server, Wowza Media Server, WebORB Integration Server und fonie MAD Server.

Das Red5-Projekt entwickelt eine Open-Source-Implementierung in Java. Eine weitere Open-Source-Implementierung ist der „C++ RTMP Server“. Auch die freie Software FFmpeg kann als RTMP-Server eingesetzt werden. Ein Modul für den nginx-Webserver mit dem Namen: "nginx-rtmp-module"[3] kann eingesetzt werden.

Weblinks

Commons: Real Time Messaging Protocol – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise