Real Time Streaming Protocol Sravanthi Swathi
Outline: Introduction RTP Vs RTSP RTSP methods State Diagram Working of RTSP RTSP message formats Security considerations of RTSP Applications of RTSP
Purpose Streaming???? Streaming breaks the data into packets with size suitable for the transmission between servers and clients. RTSP establish and controls streams Client can play the first packet, decompress the second while receiving the third…
Introduction RTSP is an application level protocol for the control of real-time streaming data with syntax and operations similar to HTTP. IEFT standard RFC 2326 It uses RTP as the underlying data delivery protocol and offers a VCR-like control to the user: Play, Stop Pause, FF, Rew, as well as random access to any part of media clip.
Introduction (contd..) RTSP helps the server to adjust the media bandwidth to the network congestion in order to suit the available capacity. Multicast data stream RTSP is able to choose the optimum delivery channel to the client. For instance, if UDP cannot be used the streaming server has to offer a choice of delivery protocols – multicast UDP or TCP to suit different clients.
RTP Vs RTSP RTSP allows two-way communication; that is, viewers can communicate with the streaming server and do things like rewind the movie, go to a chapter, and so on. By contrast, RTP is a one-way protocol used to send live or stored streams from the server to the client.
RTSP methods: Options Get available methods Setup Establish transport Announce Change description of media objects Describe Get (low-level) description of media objects Play start playback, reposition Record Start Recording Redirect Redirect client to new server Pause Halt delivery, but keep state and server resources allocated Set_parameter Device or encoding controls Teardown Removes state
RTSP State Transitions Setup Start an RTSP session and resource allocation for a stream Play and Record Start data transmission of the stream Pause Temporarily halt a stream without freeing server resources Teardown Free resources associated with stream and end of a session
Working of RTSP:
Example: Media On Demand
Example of RTSP message exchange
Cont…
Cont…
Cont….
Cont…
Cont…
RTSP message format RTSP is a text based protocol and use the same message format as HTTP. Text-based protocols have the advantage of easy extendibility and human friendly messages. Suffer from major overhead that text coding brings about. RTSP text coding is the optimal choice, due to the nature of the protocol, which is prone to extensions and does not burden the network with frequent or high sized messages.
Cont… General syntax for an RTSP method is {method name} {URL} {protocol version} CRLF {parameters} Example of an RTSP request DESCRIBE http://foo.com/bar.rm RTSP/1.0 CSeq: 312 Accept: application/sdp, application/mheg
Cont… General syntax for a method with a body. {method name} {URL} {protocol version} CRLF {MIME header field} CRLF ... CRLF {optional body, depending on the presence of a "Content-length"}
RTSP message types
Cont… A start-line if sent in a request is called Request-line otherwise if in a response, is called Status-line. Start-line = Request-Line | Status-Line Generic format of request line is Generic format of status line is
Example of request response pair C->S: PAUSE rtsp://example.com/foo RTSP/1.0 CSeq: 834 Session: 12345678 S->C: RTSP/1.0 200 OK Date: 23 Jan 1997 15:35:06 GMT
RTSP message fields Different types of header fields General-header field Request-header field Response-header field Entity-header field Generic format for a header field is
Streaming in multimedia environment
Security considerations of RTSP Concentrated denial of service attack Session hijacking Persistently suspicious behavior Stream securing
RTSP applications Streaming of multimedia via internet Video conferencing and lectures Broadcasting of entertainment Remote digital editing Voice mail
Draw backs: The RTSP protocol says nothing about the problems of recovering state over machine or software failure. RTSP is a state less protocol