# Real-Time Streaming Protocol

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 standardisiert.

## Übersicht

Während in der Praxis meistens das Real-Time Transport Protocol (RTP, RFC 3550) 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.
Eine weitere freie Implementierung ist das in VLC genutzte LIVE555.
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

Eine 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).