RTMP – das Real Time Messaging Protocol im Überblick
Mit RTMP wird reibungsloses Streaming von Audio- und Video-Inhalten ermöglicht. Das Netzwerkprotokoll ist essenziell für die Übertragung von codierten Signalen in das Content Delivery Network, kurz CDN.
Dank Startguthaben testen Sie Cloud Server bei IONOS 1 Monat lang kostenlos (oder bis das Guthaben verbraucht ist) und erleben die perfekte Kombination aus Leistung und Sicherheit!
Die Geschichte des Real Time Messaging Protocol
Das RTMP wurde von Adobe Inc. entwickelt. Es diente zunächst dazu, Daten zwischen Servern und dem Adobe Flash Player zu übertragen. Dieser wurde in großem Stil genutzt, sodass auch das Real Time Messaging Protocol vielfach eingesetzt wurde. Obwohl der Adobe Flash Player Ende 2020 eingestellt wurde, erfreut sich RTMP nach wie vor größter Beliebtheit und ist das Netzwerkprotokoll, das primär für Streaming eingesetzt wird. Um den Stream jedoch auf moderne Endgeräte zu übertragen, die aufgrund der Nutzung von HTML5 RTMP oft nicht mehr unterstützen, wird häufig eine Kombination aus RTMP und HLS eingesetzt.
So funktioniert das Real Time Messaging Protocol
Um Audio- oder Videoinhalten per Streaming über das Internet bereitzustellen, muss zunächst das Signal codiert werden. Hierfür werden sogenannte Streaming-Encoder eingesetzt. Das codierte Signal wird anschließend mittels RTMP auf einen RTMP-Server übertragen. Das Protokoll hat außerdem die Aufgabe, die codierten Signale an ein Content Delivery Network oder an eine Online-Videoplattform zu übertragen. Wie diese Übertragung genau vonstattengeht, hängt von der verwendeten RTMP-Variante ab.
Bei der Standardvariante des Netzwerkprotokolls wird als Transportprotokoll TCP über Port 1935 genutzt. Zunächst werden Datenblöcke zwischen Client und Server ausgetauscht. Diesen Vorgang nennt man auch Handshake. Auf diese Weise wird dem Server mitgeteilt, welche Protokollversion genutzt wird. Außerdem wird dem Server eine Zeitmarke gesendet. Sobald der Server mitteilt, dass und wann er diese beiden Datenblöcke erhalten hat, kann die Verbindung aufgebaut werden.
Hierfür schickt der Client eine Verbindungsanfrage (connect request) im Action-Message-Format an den Server und wartet im Anschluss auf eine Bestätigung desselben. Wenn der Client diese erhalten hat, kann der Client mit dem Echtzeit-Streaming beginnen.
So wird eine persistente Verbindung aufgebaut, mit der die Daten in Echtzeit übertragen werden können. Die Streaming-Daten werden dabei in verschieden großen Blöcken übertragen. Für Videodaten beträgt die Blockgröße 128 Byte, für Audiodaten 64 Byte. Die Latenz des RTMP ist aufgrund der Verwendung von TCP verhältnismäßig gering.
Eine andere Variante des Real Time Messaging Protocol ist RTMPT auf Basis von HTTP. Hierbei wird eine Tunneling-Technik eingesetzt, um Firewalls zu umgehen. Ähnlich funktioniert auch RTMPS auf Basis von HTTPS.
Vom RTMP-Server aus kann der Stream mittels HLS auch direkt zu Endgeräten übertragen werden.
Einsatzbereiche für RTMP
Im Allgemeinen wird das Real Time Messaging Protocol in zwei Bereichen eingesetzt. Der erste Anwendungsfall für RTMP ist das Übertragen von Daten zwischen einem Encoder und einem Server. Dieser Use-Case wird auch als „First Mile Delivery“ bezeichnet.
Da der Flash Player nicht mehr existiert, kann RTMP nicht mehr eingesetzt werden, um Daten direkt an die Endnutzenden zu schicken. Deshalb müssen im zweiten Anwendungsfall ein Content Delivery Network oder eine Online-Videoplattform eingesetzt werden. Mittels RTMP werden die Daten des Servers dann an diese weitergeleitet.
Wenn Sie einen eigenen RTMP-Server erstellen möchten, müssen Sie sich zunächst für ein Server-Betriebssystem entscheiden. Sie haben die Wahl zwischen Windows oder verschiedenen Linux-Server-Distributionen.