Aller au contenu principal

Appendix D: Minimal RTSP implementation (Implémentation RTSP minimale)

Appendix D: Minimal RTSP implementation (Implémentation RTSP minimale)

D.1 Client

Une implémentation client DOIT pouvoir :

  • Générer les requêtes SETUP, TEARDOWN et soit PLAY (client de lecture minimal), soit RECORD (client d'enregistrement minimal). Si RECORD est implémenté, ANNOUNCE DOIT l'être aussi.
  • Inclure les en-têtes CSeq, Connection, Session, Transport. Si ANNOUNCE est implémenté, pouvoir inclure Content-Language, Content-Encoding, Content-Length, Content-Type.
  • Analyser et comprendre dans les réponses : CSeq, Connection, Session, Transport, Content-Language, Content-Encoding, Content-Length, Content-Type. Si RECORD est implémenté, comprendre Location. Les implémentations conformes RTP devraient aussi implémenter RTP-Info.
  • Comprendre la classe de chaque code d'erreur et informer l'utilisateur final des classes 4xx et 5xx si présent ; l'exigence peut être assouplie si l'utilisateur refuse explicitement certaines notifications.
  • S'attendre aux requêtes asynchrones du serveur (ex. ANNOUNCE) et y répondre ; cela n'implique pas nécessairement d'implémenter ANNOUNCE, mais toute requête du serveur DOIT recevoir une réponse positive ou négative.

Fortement recommandé pour l'interopérabilité : RTP/AVP/UDP, User-Agent, SDP selon l'annexe C, formats d'initialisation en entrée standard ou ligne de commande comme application « helper ». Les exigences ci-dessus ne sont que des lignes directrices si l'application diffère de la vision initiale.

D.1.1 Basic Playback

Pour la lecture à la demande, le client DOIT en outre : générer PAUSE ; implémenter REDIRECT et l'en-tête Location.

D.1.2 Authentication-enabled

Pour les serveurs exigeant l'authentification, le client DOIT en outre : reconnaître 401 ; analyser et inclure WWW-Authenticate ; implémenter Basic et Digest Authentication.

D.2 Server

Une implémentation serveur minimale DOIT :

  • Implémenter SETUP, TEARDOWN, OPTIONS et soit PLAY (serveur de lecture minimal), soit RECORD (serveur d'enregistrement minimal). Si RECORD est implémenté, ANNOUNCE devrait l'être.
  • Inclure dans les réponses : Connection, Content-Length, Content-Type, Content-Language, Content-Encoding, Transport, Public ; Location si RECORD ; RTP-Info si conforme RTP.
  • Analyser et répondre correctement à Connection, Session, Transport, Require dans les requêtes.

Recommandé : RTP/AVP/UDP, en-tête Server, DESCRIBE, génération SDP (annexe C).

D.2.1 Basic Playback

Pour la lecture à la demande, le serveur DOIT en outre : reconnaître Range et renvoyer une erreur si le seek n'est pas pris en charge ; implémenter PAUSE. Fortement recommandé : Range avec unités NPT (SMPTE recommandé), durée de la présentation dans l'initialisation, mappages timestamp → NPT (rtptime dans RTP-Info pour RTP).

D.2.2 Authentication-enabled

Le serveur DOIT en outre : générer 401 si nécessaire ; analyser et inclure WWW-Authenticate ; implémenter Basic et Digest Authentication.