Zum Hauptinhalt springen

Appendix C: Use of SDP for RTSP Session Descriptions (SDP für RTSP-Sitzungsbeschreibungen)

Appendix C: Use of SDP for RTSP Session Descriptions (SDP für RTSP-Sitzungsbeschreibungen)

Das Session Description Protocol (SDP, RFC 2327 [6]) kann Ströme oder Präsentationen in RTSP beschreiben, beschränkt auf Zugangswege und Kodierungen.

Aggregierte Steuerung : Präsentation mit Strömen von einem oder mehreren Servern ohne aggregierte Steuerung ; Beschreibung typischerweise per HTTP oder anderem Nicht-RTSP, ggf. mit ANNOUNCE.

Nicht-aggregierte Steuerung : mehrere Ströme eines Servers mit aggregierter Steuerung ; Beschreibung typisch als DESCRIBE-Antwort auf eine URL oder per ANNOUNCE.

Dieser Anhang erläutert, wie eine per HTTP bezogene SDP-Datei das RTSP-Sitzungsverhalten bestimmt und wie Clients SDP in DESCRIBE-Antworten interpretieren. SDP erlaubt ohne menschliche Hilfe keine Unterscheidung zwischen gleichzeitig darzustellenden Strömen und Alternativmengen (z. B. zwei Audiostreams in verschiedenen Sprachen).

C.1 Definitions

Begriffe „session-level“, „media-level“ und Attributnamen/-werte wie in SDP (RFC 2327 [6]).

C.1.1 Control URL

Attribut a=control: überträgt die Steuer-URL (Session und Medien). Auf Medienebene : URL des Streams ; auf Sessionebene : URL für aggregierte Steuerung.

Beispiel : a=control:rtsp://example.com/foo

Relative oder absolute URLs gemäß RFC 1808 [25]. Basissuche : RTSP Content-Base, Content-Location, Anfrage-URL. Nur Stern : leere eingebettete URL, erbt volle Basis.

C.1.2 Media streams

Feld m= listet Ströme ; Synchronisation erwartet. Unicast : Port als Empfehlung ; Client in SETUP, kann ignorieren. Ohne Präferenz SOLLTE Server Port 0 setzen.

C.1.3 Payload type(s)

In m= angegeben. Statischer Typ RFC 1890 [1] : keine weiteren Angaben. Dynamisch : rtpmap. Kodierungsnamen RFC 1890 Abschn. 5–6 oder experimentell „X-“ in SDP. Codec-Parameter in fmtp. Registrierung : RFC 1890 [1]. Ungeeignet für RTP/AVP : neues Profil und Profilname in m=.

C.1.4 Format-specific parameters

fmtp ; syntaxspezifisch ; Paketintervall über ptime.

C.1.5 Range of presentation

a=range : gesamter Zeitbereich der gespeicherten Sitzung (Live : aus t und r). Session-Level, außer unterschiedliche Streamdauern. Einheit dann Wert (Abschn. 3.5–3.7).

C.1.6 Time of availability

t= MUSS passende Start-/Stoppzeiten für aggregierte und nicht-aggregierte Steuerung enthalten. Aggregiert : Server SOLL Stopp garantiert gültig und Start nicht nach DESCRIBE anzeigen ; KANN 0,0 für immer verfügbar. Nicht-aggregiert : tatsächlicher Verfügbarkeitszeitraum nach SDP, nicht abhängig von Webseitenlebensdauer.

C.1.7 Connection Information

c= Zieladresse in SDP ; On-Demand-Unicast und manche Multicast : Ziel per SETUP. Ohne feste Adresse Nullwert ; IP4 : 0.0.0.0.

C.1.8 Entity Tag

Optionales a=etag : Version der Beschreibung (opaque). SETUP mit If-Match (12.22), nur bei Übereinstimmung mit aktueller Beschreibung.

o= ähnlich, bindet Server mit mehreren Beschreibungstypen stärker.

C.2 Aggregate Control Not Available

Ohne aggregierte Steuerung und mehrere Medienabschnitte MUSS jeder Abschnitt a=control: mit URL haben.

Beispiel:

v=0 o=- 2890844256 2890842807 IN IP4 204.34.34.32 s=I came from a web page t=0 0 c=IN IP4 0.0.0.0 m=video 8002 RTP/AVP 31 a=control:rtsp://audio.com/movie.aud m=audio 8004 RTP/AVP 3 a=control:rtsp://video.com/movie.vid

Position der URLs : separate RTSP-Steuersitzungen zu audio.com und video.com.

Vollständige Medieninitialisierung im SDP empfehlen, auch bei Nicht-RTSP-Zustellung.

C.3 Aggregate Control Available

Medien- und Session-a=control: ; relative URLs nach C.1.1 auflösen. Ein Stream : medienlevel a=control: weglassbar ; mehrere Streams : jeder Medienabschnitt MUSS eigenes a=control:.

Beispiel:

v=0 o=- 2890844256 2890842807 IN IP4 204.34.34.32 s=I contain i= t=0 0 c=IN IP4 0.0.0.0 a=control:rtsp://example.com/movie/ m=video 8002 RTP/AVP 31 a=control:trackID=1 m=audio 8004 RTP/AVP 3 a=control:trackID=2

Eine RTSP-Sitzung zum Server ; rtsp://example.com/movie/trackID=1 und trackID=2 für Video und Audio ; rtsp://example.com/movie/ steuert den ganzen Film.