Real Time Messaging Protocol
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:
- RTMP direkt auf Basis TCP/IP-Port 1935
- RTMPT auf Basis HTTP, um Firewalls zu überwinden
- 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
- Adobe Connect Enterprise Web Services Handbuch (siehe Kapitel Architektur; PDF; 2,8 MB)
- Adobe geht gegen Streamrecorder für Flashvideos vor (heise online – 25. Mai 2009 15:52)
- rtmpdump: Adobe wehrt sich gegen Streamrecorder (Memento vom 25. Januar 2013 im Webarchiv archive.today), gulli.com – news, 25. Mai 2009
Einzelnachweise
- ↑ Real-Time Messaging Protocol (RTMP) specification
- ↑ Ankündigung der Offenlegung in einer Pressemitteilung vom 20. Januar 2009 (Memento vom 9. Februar 2009 im Internet Archive)
- ↑ arut/nginx-rtmp-module. Abgerufen am 5. April 2017 (englisch).