Real-Time Streaming Protocol
Anwendung | RTSP | ||||
Transport | UDP | TCP | |||
Internet | IP (IPv4, IPv6) | ||||
Netzzugang | Ethernet | Token Bus |
Token Ring |
FDDI | … |
Das Real-Time Streaming Protocol (RTSP) ist ein Netzwerkprotokoll zur Steuerung der kontinuierlichen Übertragung von audiovisuellen Daten (Streams) oder Software über IP-basierte Netzwerke. Mit ihm wird die Session zwischen Empfänger und Server gesteuert. RTSP ist ein textbasiertes Protokoll und ähnelt im Aufbau und Verhalten HTTP. Die Kommunikation findet standardmäßig über den Port 554 (alternativ auch 8554) wahlweise über UDP oder TCP statt. Das Protokoll wurde von der Internet Engineering Task Force (IETF) entwickelt und 1998 im RFC 2326[1] standardisiert.
Übersicht
BearbeitenWährend in der Praxis meistens das Real-Time Transport Protocol (RTP, RFC 3550[2]) zur Übertragung von Daten in Echtzeit dient (RTSP ist protokollunabhängig), besteht die Funktion von RTSP hauptsächlich in der Steuerung der Datenströme; über RTSP selbst werden keine Nutzdaten übertragen, daher wird RTSP gelegentlich auch als »Netzwerk-Fernbedienung« bezeichnet. Die Steuerung der Übertragung erfolgt durch das RealTime Control Protocol (RTCP).
RTSP ist für multimediale Datenströme etwa das, was HTTP für HTML-Dokumente ist; im Gegensatz zu HTTP kennt RTSP jedoch Zustände und ist bidirektional, das heißt sowohl Client als auch Server können Anfragen absetzen. Ansonsten werden in RTSP wie auch bei HTTP die Nachrichten in Request (zum Initialisieren einer Sitzung) und Response (zur Beantwortung der Anfrage durch eine Statusmeldung) aufgeteilt.
Die Elemente einer multimedialen Präsentation werden durch die Markup-Sprache Synchronized Multimedia Integration Language (SMIL; SMIL 1.0 ab 1997, SMIL 2.0 ab 2001) definiert, aggregiert und zeitlich synchronisiert.
RTSP-fähige Streaming-Server sind unter anderem der Helix Server sowie der QuickTime Streaming Server (seit 1999).
Eine freie verfügbare Implementierung (GPL oder LGPL) ist der ffserver des FFmpeg Projekts, dessen Weiterentwicklung im Rahmen dieses Projekts allerdings fallen gelassen wurde.[3]
Eine weitere freie Implementierung ist das in VLC genutzte LIVE555.[4]
Weiter verwendet das Software-Unternehmen Microsoft seit der Übernahme von Softricity Inc. RTSP in ihrem Software-Verteilungssystem App-V (vormals SoftGrid), um Anwendungen vom Server zum Client so zu übertragen, dass der Client die Software so bald wie möglich nutzen kann, auch wenn sie noch nicht vollständig heruntergeladen ist.
Terminologie
BearbeitenEine Vielzahl von Begriffen wird bei der Benutzung des RTSP analog zu http genutzt.
- Aggregate Control
- Zur Steuerung mehrerer Streams nutzt der Media-Server eine Zeitachse. Um die Audio und Videosignale gemeinsam zu steuern, kann der Client einen Befehl für beide senden.
- Conference/Konferenz
- eine Mehrplatz-Multimedia-Präsentation, wobei “Mehrplatz” eine Teilnehmerzahl von mindestens zwei bedeutet. Dies können auch weitere IT-Systeme sein.
- Client
- Der Client bei RTSP empfängt kontinuierlich Informationen vom Server.
- Connection
- Eine Netzwerkverbindung mit dem Ziel, Informationen auszutauschen.
- Container File
- Eine Datei, welche die Informationen für Media-Streams liefert.
- Continuous Media
- Im Gegensatz zu Datenpaketen müssen die Audio- und Videosignale in gleicher zeitlicher Reihenfolge am Client abgespielt werden. Kritisch ist dies bei Echtzeitübertragung, weniger problematisch beim Abspielen von Aufnahmen.
- Entity
- Ist die Summe der Transportinformationen, die zwischen Client(s) und Servern transferiert werden.
- Media Initialization
- Beinhaltet den Datentyp/Codec (H.264). Außerdem z. B. Zeitangaben, Farbsignale (FBAS) etc. Der Client benötigt die Angaben zur richtigen Wiedergabe des Media-Streams.
- Media Server
- Der Server stellt einen oder mehrere Media-Streams bereit. Verschiedene Media-Streams können zu einer Präsentation zusammengefasst werden. Ein Media-Server kann auf dem Web-Server oder einem Backend-Server betrieben werden.
- Media Server Indirection
- „Redirection“ eines Clients zu einem anderen Media-Server.
- (Media) Stream
- Ist eine Instanz, zum Beispiel ein Audio-Stream oder ein Video-Stream, wie auch virtuelle Zusammenarbeit (Whiteboard oder Anwendung).
- Message
- Befehl zum Verbindungsaufbau.
- Participant/Teilnehmer
- Teilnehmer einer Konferenz. Ein Teilnehmer kann auch ein IT-System, z. B. ein Media Recorder oder Videoproxy, sein.
- Response
- Eine RTSP Anfrage beinhaltet typischerweise einen Mechanismus für eine kontinuierliche Übertragung (Media Stream SETUP, gestartet wird der Stream mit PLAY oder RECORD, beendet mit TEARDOWN).