Aller au contenu principal

Appendix C: Use of SDP for RTSP Session Descriptions (Utilisation de SDP pour les descriptions de session RTSP)

Appendix C: Use of SDP for RTSP Session Descriptions (Utilisation de SDP pour les descriptions de session RTSP)

Le protocole SDP (RFC 2327 [6]) peut décrire des flux ou présentations dans RTSP, limité aux moyens d'accès et aux codages.

Contrôle agrégé : présentation avec flux d'un ou plusieurs serveurs sans contrôle agrégé ; description souvent obtenue hors RTSP (HTTP) ou avec ANNOUNCE.

Contrôle non agrégé : plusieurs flux d'un seul serveur avec contrôle agrégé ; description souvent en réponse DESCRIBE sur une URL ou via ANNOUNCE.

Cette annexe explique comment un fichier SDP obtenu par HTTP détermine le comportement de session RTSP et comment interpréter le SDP en réponse à DESCRIBE. SDP ne permet pas de distinguer sans intervention humaine plusieurs flux à restituer simultanément d'un ensemble d'alternatives (ex. deux pistes audio dans des langues différentes).

C.1 Definitions

Les termes « session-level », « media-level » et les noms/valeurs d'attributs suivent SDP (RFC 2327 [6]).

C.1.1 Control URL

L'attribut a=control: transporte l'URL de contrôle (session et média). Au niveau média : URL du flux ; au niveau session : URL du contrôle agrégé.

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

URL relatives ou absolues selon RFC 1808 [25]. Ordre de recherche de l'URL de base : Content-Base RTSP, Content-Location RTSP, URL de la requête RTSP. Astérisque seul : URL vide, hérite de la base complète.

C.1.2 Media streams

Le champ m= énumère les flux ; synchronisation attendue. En unicast, le port est une recommandation ; le client l'inclut dans SETUP et peut l'ignorer. Sans préférence, le serveur DEVRAIT mettre le port à zéro.

C.1.3 Payload type(s)

Types dans m=. Type statique RFC 1890 [1] : pas d'autre info. Type dynamique : rtpmap. Noms d'encodage RFC 1890 §5–6 ou expérimentaux « X- » SDP. Paramètres spécifiques dans fmtp. Enregistrement : RFC 1890 [1]. Si le type ne convient pas au profil RTP/AVP, créer un profil et l'indiquer dans m=.

C.1.4 Format-specific parameters

Attribut fmtp ; syntaxe propre aux encodages ; ptime pour l'intervalle de paquetisation.

C.1.5 Range of presentation

a=range : plage temporelle totale de la session stockée (sessions live : déduire de t et r). Attribut de session sauf durées de flux différentes. Unité puis plage (sections 3.5–3.7).

C.1.6 Time of availability

t= DOIT contenir des débuts/fins adaptés au contrôle agrégé et non agrégé. Agrégé : le serveur DEVRAIT indiquer une fin garantie valide et un début au plus tard à la réception de DESCRIBE ; PEUT 0,0 pour toujours disponible. Non agrégé : refléter la période réelle selon SDP, sans dépendre de la durée de vie d'une page web.

C.1.7 Connection Information

c= donne la destination en SDP ; en unicast à la demande et certains multicast, la destination vient du SETUP client. Sans adresse fixe, valeur nulle ; pour IP4 : 0.0.0.0.

C.1.8 Entity Tag

a=etag optionnel : version de la description (opaque). SETUP peut inclure If-Match (12.22) pour n'établir la session que si la description actuelle correspond.

Le champ o= offre une fonction similaire mais contraint les serveurs multi-types de description.

C.2 Aggregate Control Not Available

Sans contrôle agrégé et plusieurs sections média, chaque section DOIT avoir son URL via a=control:.

Exemple :

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

Les URL impliquent des sessions de contrôle RTSP séparées vers audio.com et video.com.

Il est recommandé d'inclure toute l'initialisation média dans le SDP même livré hors RTSP.

C.3 Aggregate Control Available

URLs de contrôle au niveau média et session ; résolution des URL relatives selon C.1.1. Un seul flux : attribut média a=control: omissible ; plusieurs flux : chaque section média DOIT avoir a=control:.

Exemple :

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

Une session RTSP unique vers le serveur ; les URLs rtsp://example.com/movie/trackID=1 et trackID=2 servent à configurer vidéo et audio ; rtsp://example.com/movie/ contrôle l'ensemble du film.