Download presentation
Presentation is loading. Please wait.
Published byAudrey Parker Modified over 9 years ago
1
POSTECH DP&NM Lab 1 Extending Real-time Streaming Protocol for Interoperability Byungchul Park DPNM Lab., CSE, POSTECH Email: fates@postech.ac.kr 2008. 6. 24
2
POSTECH DP&NM Lab 2 Table of Contents RTSP Overview Difference between RTSP and HTTP Properties of RTSP RTSP Methods RTSP Implementations Problems of Current Protocol Proposal for State Transition Condition Summary Appendix Q&A
3
POSTECH DP&NM Lab 3 RTSP Overview (1/2) IEFT standard RFC 2326 (April, 1998) –Multiparty Multimedia Session Control (MMUSIC) WG RTSP is an application level protocol –Control over the delivery of data with real-time properties –Network remote control –RTSP server can use any type of packet format for sending media data to an RTSP client –Real Time Transport Protocol (RTP) over unicast UDP
4
POSTECH DP&NM Lab 4 RTSP Overview (2/2) RTSP client sets up three network channels with RTSP server Control & negotiation Media data deliverySynchronization & QoS Info.
5
POSTECH DP&NM Lab 5 Difference between RTSP and HTTP The RTSP is intentionally similar in syntax and operation to HTTP/1.1. However, it differs in a number of important aspects from HTTP –RTSP introduces a number of new methods and has a different protocol identifier. –An RTSP server needs to maintain state by default in almost all cases, as opposed to the stateless nature of HTTP. –Both an RTSP server and client can issue requests. –Data is carried out-of-band by a different protocol. (There is an exception to this.) –RTSP is defined to use ISO 10646 (UTF-8) rather than ISO 8859-1, consistent with current HTML internationalization efforts. –The Request-URI always contains the absolute URI.
6
POSTECH DP&NM Lab 6 Properties of RTSP Extendable Easy to parse Secure Transport-independent Multi-server capable Control of recording devices Separation of stream control and conference initiation Suitable for professional applications Presentation description neutral HTTP-friendly Appropriate server control Transport negotiation Capability negotiation New methods and parameters can be easily added to RTSP RTSP can be parsed by standard HTTP parsers RTSP re-uses web security mechanisms: TLS, basic & digest authentication Any protocol can be used for transport media and delivery protocol (see appendix) Each media stream within a presentation can reside on a different server Both playback and recording control is possible
7
POSTECH DP&NM Lab 7 RTSP - States RTSP-Methods play a central role in the allocation and usage of streaming resources on the streaming server
8
POSTECH DP&NM Lab 8 RTSP Methods MethodDirectionRequirementDescription DESCRIBEC->SrecommendedGet description of media object ANNOUNCEC->S, S->CoptionalChange description of media object GET_PARAMETERC->S, S->Coptional OPTIONC->S, S->CrequiredGet available methods PAUSEC->SrecommendedHalt delivery, but keep state PLAYC->SrequiredStart playback RECOREDC->SoptionalStart recording REDIRECTS->CoptionalRedirect client to new server SETUPC->SrequiredEstablish transport SET_PARAMETERC->S, S->CoptionalDevice or encoding control TEARDOWNC->SrequiredRemove state
9
POSTECH DP&NM Lab 9 Methods - OPTIONS The OPTIONS method represents a request for information about the communication options available on the request/response chain
10
POSTECH DP&NM Lab 10 Methods - DESCRIBE The DESCRIBE method retrieves the description of a presentation or media object identified by the request URL from a server. The DESCRIBE reply- response pair constitutes the media initialization phase of RTSP. This description can be implemented using the SDP protocol
11
POSTECH DP&NM Lab 11 Methods - ANNOUNCE When sent from client to server, ANNOUNCE posts the description of a presentation or media object identified by the request URL to a server. When sent from server to client, ANNOUNCE updates the session description in real-time.
12
POSTECH DP&NM Lab 12 Methods - SETUP The SETUP request for a URI specifies the transport mechanism to be used for the streamed media The Transport header specifies the transport parameters acceptable to the client for data transmission; the response will contain the transport parameters selected by the server
13
POSTECH DP&NM Lab 13 Methods - PLAY The PLAY method tells the server to start sending data via the mechanism specified in SETUP. A client must not issue a PLAY request until any outstanding SETUP requests have been acknowledged as successful The PLAY request positions the normal play time to the beginning of the range specified and delivers stream data until the end of the range is reached Plays the whole presentation starting at SMPTE time code 0:10:20 until the end of the clip. The playback is tart at 15:36 on 23 Jan 1997.
14
POSTECH DP&NM Lab 14 Methods - PAUSE The PAUSE request causes the stream delivery to be interrupted temporarily. If the request URL names a stream, only playback and recording of that stream is halted. If the request URL names a group of streams, delivery of all currently active streams within the group is halted After resuming playback or recording, synchronization of the tracks must be maintained
15
POSTECH DP&NM Lab 15 Methods - TEARDOWN The TEARDOWN request stops the stream delivery for the given URI, freeing the resources associated with it. If the URI is the presentation URI for this presentation, any RTSP session identifier associated with the session is no longer valid. Unless all transport parameters are defined by the session description, a SETUP request has to be issued before the session can be played again.
16
POSTECH DP&NM Lab 16 Methods – GET_PARAMETER The GET_PARAMATER request retrieves the value of a parameter of a presentation or stream specified in the URI. The content of the reply and response is left to the implementation GET_PARAMETER with no entity body may be used to test client or server liveness (“ping”)
17
POSTECH DP&NM Lab 17 Methods – SET_PARAMETER This method requests to set the value of a parameter for a presentation or stream specified by the URI.
18
POSTECH DP&NM Lab 18 Methods - REDIRECT A redirect request informs the client that it must connect to another server location. It contains the mandatory header Location, which indicates that the client should issue requests for that URL. It may contain the parameter Range, which indicates when the redirection takes effect. If the client wants to continue to send or receive media for this URI, the client MUST issue a TEARDOWN request for the current session and a SETUP for the new session at the designated host. Useful for implementing server load balancing
19
POSTECH DP&NM Lab 19 Methods - RECORD This method initiates recording a range of media data according to the presentation description. The timestamp reflects start and end time (UTC). If no time range is given, use the start or end time provided in the presentation description. If the session has already started, commence recording immediately.
20
POSTECH DP&NM Lab 20 Implementations ClientsServer RealPlayerQuick Time Streaming Server VideoLANDarwin Streaming Server MplayerpvServer Windows Media PlayerHelix Mobile Server QuickTimeLive555 Media server MPEG4IPVLC SkypeWindows Media Services VLC media PlayerFeng More information
21
POSTECH DP&NM Lab 21 Problems of Current Protocol NAT Traversal problem The RTSP protocol says nothing about the problems of recovering state over machine or software failure (no detail of states transition and response) Quality problem Insufficient functionalities (Recording Function) No billing infrastructure: pay-per-play?
22
POSTECH DP&NM Lab 22 Recovering State over Machine State Machine PAUSE ??
23
POSTECH DP&NM Lab 23 Recovering State over Machine One possible solution is that let the server ignore the wrong method requests Interoperability is the real problem RFC 2326 does not explain about actual request- response pair of state transition Details of state transition condition and response message type is required for interoperability
24
POSTECH DP&NM Lab 24 Status Code of RTSP CodeDescriptionCodeDescription 100Continue452reserved 200OK453Not Enough Bandwidth 300Multiple Choices454Session Not Found 301Moved Permanently455Method Not Valid in This State 302Found456Header Field Not Valid for Resource 303See Other457Invalid Range 304Not Modified458Parameter Is Read-Only 305Use Proxy459Aggregate operation not allowed 400Bad Request460Only aggregate operation allowed 401Unauthorized461Unsupported Transport 402Payment Required462Destination Unreachable 403Forbidden463Destination Prohibited 404Not Found464Data Transport Not Ready Yet 405Method Not Allowed470Connection Authorization Required 406Not Acceptable471Connection Credentials not accepted 407Proxy Authentication Required500Internal Server Error 408Request Time-out501Not Implemented 410Gone502Bad Gateway 411Length Required503Service Unavailable 412Precondition Failed504Gateway Time-out 413Request Entity Too Large505RTSP Version not supported 451Parameter Not Understood551Option not supported
25
POSTECH DP&NM Lab 25 State Transition Design None state machine changing events EventPrerequisiteResponse DESCRIBENeed REDIRECT3rr, Redirect DESCRIBE 200, Session description OPTIONSSession ID200, Reset session OPTIONS 200, SETPARAMETERValid parameter200, Change value of parameter GETPARAMETERValid parameter200, Return value of parameter
26
POSTECH DP&NM Lab 26 State Transition Design Init State: Initial state no session exist NRM: The number of media streams part of this session RP: Resume point ActionRequisiteNew StateResponse SETUP ReadyNRM=1, RP=0 SETUPNeeds RedirectInit3rr Redirect S->C : REDIRECTNo Session headerInit Terminate all sessions
27
POSTECH DP&NM Lab 27 State Transition Design Ready State: Session is ready to start playing (recording) Prs: Presentation, the complete multimedia presentation ActionRequisiteNew StateResponse SETUPNew URIReadyNRM +=1 SETUPSetten up URIReadyChange transport param TEARDOWNPrs URIInitNo session hdr, NRM = 0 TEARDOWNmedia URI, NRM=1InitNo session hdr, NRM = 0 TEARDOWNmedia URI, NRM>1ReadySession hdr, NRM -=1 PLAYPrs URI, No rangePlayPlay from RP PLAYPrs URI, RangePlayAccording to range PAUSEPrs URIReadyReturn PP S->C : REDIRECTRange HeaderReadySet Redirection Point S->C : REDIRECTNo Range HeaderInitSession is removed Timeout Init Redirection Point reached InitTEARDOWN of Session
28
POSTECH DP&NM Lab 28 State Transition Design Play State: Session is playing (sending media stream data) ActionRequisiteNew StateResponse PAUSEPrs URIReadySet RP to present point PP reached ReadyRP = PP End of mediaAll mediaPlaySet RP = End of media End of mediaPlaySet RP = End of range PLAYPrs URI, No rangePlayPlay from present point PLAYPrs URI, RangePlayAccording to range SETUPNew URIPlay455 (method not valid) SETUPSetuped URIPlay455 TEARDOWNPrs URIInitNo session hdr TEARDOWNmedia URI, NRM=1InitNo Session hdr, NRM=0 TEARDOWNmedia URIPlay455 S->C:REDIRECTRange hdrPlaySet Redirection Point S->C:REDIRECTno range hdrInitSession is removed Redirection Point reached InitTEARDOWN of session Timeout InitStop Media playout
29
POSTECH DP&NM Lab 29 Summary RTSP provides an extensible framework to enable controlled, on-demand delivery of real-time data This protocol is intended to control multiple data delivery sessions, provide a means for choosing delivery channels, and provide a means for choosing delivery mechanisms based upon RTP There’s no security vulnerability No details of state transition is available –State transition conditions and proper responses were proposed
30
POSTECH DP&NM Lab 30 Future Work Open source RTSP server/client implementation Interoperability check
31
POSTECH DP&NM Lab 31 Media Transport Alternatives RTP [RFC3550] AVP [RFC3551] : Audio-Video Protocol –RTP Profile for Audio and Video Conferences with Minimal Control AVP/UDP AVPF/UDP [RFC4584] –Extended RTP Profile for RTCP-based Feedback SAVP/UDP [RFC3711] –RTP Profile for Secure Real-time Transport Protocol (SRTP) SAVPF/UDP –Extended RTP Profile for RTCP-based Feedback RTP over TCP
32
POSTECH DP&NM Lab 32 Question? ?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.