Passa al contenuto principale

Appendix D: Minimal RTSP implementation (Implementazione RTSP minima)

Appendix D: Minimal RTSP implementation (Implementazione RTSP minima)​

D.1 Client​

Un'implementazione client DEVE essere in grado di:

  • Generare le richieste SETUP, TEARDOWN e una tra PLAY (client di riproduzione minimo) o RECORD (client di registrazione minimo). Se RECORD è implementato, ANNOUNCE DEVE essere implementato.
  • Includere negli header delle richieste: CSeq, Connection, Session, Transport. Se ANNOUNCE è implementato, poter includere Content-Language, Content-Encoding, Content-Length, Content-Type.
  • Analizzare e comprendere nelle risposte: CSeq, Connection, Session, Transport, Content-Language, Content-Encoding, Content-Length, Content-Type. Se RECORD è implementato, comprendere Location. Le implementazioni conformi a RTP dovrebbero implementare anche RTP-Info.
  • Comprendere la classe di ogni codice di errore ricevuto e, se presente un utente finale, notificare i codici delle classi 4xx e 5xx ; il requisito può essere attenuato se l'utente non lo desidera.
  • Prevedere e rispondere a richieste asincrone dal server, come ANNOUNCE. Non significa necessariamente implementare ANNOUNCE, ma ogni richiesta ricevuta dal server DEVE ricevere risposta positiva o negativa.

Fortemente raccomandato: RTP/AVP/UDP, User-Agent, SDP come appendice C, formati di inizializzazione da stdin o riga di comando come applicazione di supporto. Per applicazioni diverse dalla visione iniziale, le raccomandazioni sono solo linee guida.

D.1.1 Basic Playback​

Per la riproduzione on demand, il client DEVE inoltre: generare PAUSE ; implementare REDIRECT e l'header Location.

D.1.2 Authentication-enabled​

Per accedere a presentazioni su server che richiedono autenticazione, il client DEVE inoltre: riconoscere 401 ; analizzare e includere WWW-Authenticate ; implementare Basic Authentication e Digest Authentication.

D.2 Server​

Un'implementazione server minimale DEVE:

  • Implementare SETUP, TEARDOWN, OPTIONS e una tra PLAY (server di riproduzione minimo) o RECORD (server di registrazione minimo). Se RECORD è implementato, ANNOUNCE dovrebbe esserlo.
  • Includere nelle risposte: Connection, Content-Length, Content-Type, Content-Language, Content-Encoding, Transport, Public ; Location se RECORD ; RTP-Info se conforme RTP.
  • Analizzare e rispondere appropriatamente a Connection, Session, Transport, Require nelle richieste.

Raccomandato: RTP/AVP/UDP, header Server, DESCRIBE, generazione SDP (appendice C).

D.2.1 Basic Playback​

Per stream on demand, il server DEVE inoltre: riconoscere Range e restituire errore se lo seek non è supportato ; implementare PAUSE. Fortemente raccomandato: Range con unità NPT (SMPTE raccomandato), lunghezza della presentazione nell'inizializzazione, mappature da timestamp specifici dei dati a NPT (con RTP, rtptime in RTP-Info).

D.2.2 Authentication-enabled​

Il server DEVE inoltre: generare 401 quando serve autenticazione ; analizzare e includere WWW-Authenticate ; implementare Basic Authentication e Digest Authentication.