RTSP (Real Time Streaming Protocol)
Das Real Time Streaming Protocol (RTSP) ist ein Netzwerkkommunikationssystem auf Anwendungsebene, das Echtzeitdaten von Multimedia an ein Endgerät überträgt, indem es direkt mit dem Server kommuniziert, der die Daten streamt.
Das Protokoll erstellt und steuert den Medienstrom zwischen Client-Geräten und Servern, indem es als Netzwerkfernsteuerung für zeitsynchronisierte Ströme von kontinuierlichen Medien wie Audio und Video dient. Es streamt die Multimediadaten nicht selbst, sondern kommuniziert mit dem Server, der die Multimediainhalte streamt. Wenn ein Benutzer beispielsweise ein Video, das er gerade streamt, unterbricht, übermittelt RTSP die Anforderung des Benutzers, es zu unterbrechen, an den Video-Streaming-Server.
Wie funktioniert RTSP?
Wenn ein Benutzer oder eine Anwendung versucht, ein Video von einer entfernten Quelle zu streamen, sendet das Client-Gerät eine RTSP-Anfrage an den Server, um die verfügbaren Optionen wie Pause, Wiedergabe und Aufnahme zu ermitteln. Der Server gibt daraufhin eine Liste der Anforderungsarten zurück, die er über RTSP akzeptieren kann. Sobald der Client weiß, wie er eine Anforderung stellen kann, sendet er einen Media Description Request (Medienbeschreibungsanforderung) an den Streaming-Server, und der Server antwortet mit einer Beschreibung der Medien. Daraufhin sendet der Client einen Setup Request (Einrichtungsanforderung), woraufhin der Server mit Informationen über den Transportmechanismus antwortet. Nach Abschluss des Einrichtungsvorgangs leitet der Client den Streaming-Vorgang ein, indem er den Server anweist, den Bitstrom – eine binäre Sequenz – über den in der Einrichtungsanforderung angegebenen Transportmechanismus zu senden.
Warum ist RTSP wichtig?
RTSP wurde entwickelt, um Nutzern die Möglichkeit zu geben, Audio- und Videodateien direkt aus dem Internet abzuspielen, anstatt sie auf ihre Geräte herunterladen zu müssen. Das Protokoll wurde für verschiedene Zwecke eingesetzt, zum Beispiel für Webkameraseiten, Online-Unterricht und Internetradio.
RTSP verwendet dieselben Konzepte wie HTTP, wodurch es leicht mit bestehenden HTTP-Netzen kompatibel ist. Das Protokoll bietet außerdem ein hohes Maß an Flexibilität. Kunden können die gewünschten Funktionen anfordern, um herauszufinden, ob der Medienserver sie unterstützt. Ebenso kann der Medieninhaber Medienströme von mehreren Servern bereitstellen. Das Protokoll ist außerdem so konzipiert, dass es für künftiges Wachstum der Medien geeignet ist, so dass der Medienproduzent das Protokoll bei Bedarf ändern kann.
Wichtige RTSP-Komponenten
RTSP hat eine Reihe von Schlüsselkomponenten, darunter:
- Options: Eine Optionsanfrage wird an den Server gesendet, um die vom Medienserver unterstützten Anfragetypen zu ermitteln.
- Describe: Eine Beschreibungsanforderung enthält eine URL und beschreibt die Wiedergabedaten.
- Setup: Eine Setup-Anforderung beschreibt, wie der Bitstrom transportiert werden soll.
- Teardown: Eine Abbruchanforderung beendet die Streaming-Media-Sitzung.
- Redirect: Eine Umleitungsanforderung teilt dem Client mit, dass er sich mit einem anderen Medienserver verbinden soll.
- Play: Die Abspielanforderung startet die angegebenen Medien.
- Pause: Die Pausenanforderung hält das angegebene Medium an, bis der Benutzer die Wiedergabetaste drückt.
- Record: Die Aufnahmeanforderung startet eine Aufnahme des Mediums.
- Set_Parameter: Mit Set_Parameter kann getestet werden, ob der Client oder Server aktiv ist. Es gibt auch die Werte der Präsentations- oder Stream-Richtlinien an, die der Uniform Resource Identifier (URI) bereitstellt, der die Zeichen zur Identifizierung der Ressource enthält.
Geschichte und Entwicklung
RTSP basiert auf einem Vorschlag aus dem Jahr 1997, der von Anup Rao von Netscape Communications (später in New Aurora Corp. umbenannt und an Facebook verkauft) und Rob Lanphier von Progressive Networks (jetzt bekannt als RealNetworks) verfasst wurde. Die Multiparty Multimedia Session Control (MMUSIC) Working Group der Internet Engineering Task Force (IETF) veröffentlichte es als Request for Comments (RFC 2326).
Rao, Lanphier und andere schlugen RTSP Version 2.0 als RFC 7826 im Dezember 2016 vor. Mit dieser Version wurden einige neue Header-Werte eingeführt, um die Roundtrip-Kommunikation mit dem Medienserver zu verkürzen. Version 2.0 behebt auch einige der Probleme im Zusammenhang mit der Netzwerkadressübersetzung (NAT).