Real Time Streaming ProtocolRTSP - Real Time Streaming Protocol - è un protocollo di rete utilizzato in sistemi informatici di comunicazione e di intrattenimento rivolto al controllo di server per lo streaming multimediale. Il protocollo serve a stabilire e gestire sessioni di streaming tra server e client. I client inviano al media server comandi simili ad un Video registratore, come play o pause, in modo da controllare in tempo reale la riproduzione dei file Audio/Video distribuiti dal server. Di per sé la trasmissione dei dati di streaming non è un compito definito nel protocollo RTSP. La maggior parte dei server RTSP si affida per la distribuzione di flussi multimediali al Real-time Transport Protocol (RTP) in unione al Real-time Control Protocol (RTCP), anche se alcuni fornitori preferiscono implementare protocolli di trasporto brevettati. Ad esempio i server RTSP di RealNetworks utilizzano il Real Data Transport (RDT) di proprietà della RealNetworks stessa. Il protocollo RTSP è stato sviluppato dal Multiparty Multimedia Session Control Working Group (MMUSIC WG) della Internet Engineering Task Force (IETF), ed è stato pubblicato nel 1998 come RFC 2326 [1] DirettiveLa porta di comunicazione standard è la 554. Il protocollo prevede l'esistenza di un session identifier che viene utilizzato per tener traccia delle sessioni quando è necessario. In questo modo non è richiesta una connessione permanente di tipo TCP. Qui sotto abbiamo le richieste RTSP di base. Alcune come ad esempio Options sono condivise con lo standard HTTP.
C->S: DESCRIBE rtsp://example.com/media.mp4 RTSP/1.0 CSeq: 1 S->C: RTSP/1.0 200 OK CSeq: 1 Content-Base: rtsp://example.com/media.mp4 Content-Type: application/sdp m=video 0 RTP/AVP 96 a=control:streamid=0 a=range:npt=0-7.741000 a=length:npt=7.741000 a=rtpmap:96 MP4V-ES/5544 a=mimetype:string;"video/MP4V-ES" a=AvgBitRate:integer;304018 a=StreamName:string;"hinted video track" m=audio 0 RTP/AVP 97 a=control:streamid=1 a=range:npt=0-7.712000 a=length:npt=7.712000 a=rtpmap:97 mpeg4-generic/32000/2 a=mimetype:string;"audio/mpeg4-generic" a=AvgBitRate:integer;65790 a=StreamName:string;"hinted audio track"
C->S: SETUP rtsp://example.com/media.mp4/streamid=0 RTSP/1.0 CSeq: 2 Transport: RTP/AVP;unicast;client_port=8000-8001 S->C: RTSP/1.0 200 OK CSeq: 2 Transport: RTP/AVP;unicast;client_port=8000-8001;server_port=9000-9001 Session: 12345678
C->S: PLAY rtsp://example.com/media.mp4 RTSP/1.0 CSeq: 4 Range: npt=5-20 Session: 12345678 S->C: RTSP/1.0 200 OK CSeq: 4 Session: 12345678 RTP-Info: url=rtsp://example.com/media.mp4/streamid=0;seq=9810092;rtptime=3450012
C->S: PAUSE rtsp://example.com/media.mp4 RTSP/1.0 CSeq: 5 Session: 12345678 S->C: RTSP/1.0 200 OK CSeq: 5 Session: 12345678
C->S: TEARDOWN rtsp://example.com/media.mp4 RTSP/1.0 CSeq: 6 Session: 12345678 S->C: RTSP/1.0 200 OK CSeq: 6 Applicazioni Client
NoteAltri progetti
Collegamenti esterni
|