RTSP Report
RTSP Report
RTSP Report
TABLE OF CONTENTS
1. INTRODUCTION..............................................................................................................................................3 2. RTSP ORIGIN & HISTORY...........................................................................................................................3 3. RTSP OVERVIEW............................................................................................................................................3 3.1 DIFFERENCES BETWEEN RTSP AND HTTP..........................................................................................................4 3.2 THE PROPERTIES OF RTSP.................................................................................................................................4 3.3 WHAT RTSP DOES NOT DO................................................................................................................................5 3.4 FEATURES OF RTSP..........................................................................................................................................5 3.5 RTSP INTEROPERABILITY...................................................................................................................................5 4. RTSP METHODS..............................................................................................................................................6 4.1 RTSP STATES..................................................................................................................................................7 5. RTSP OPERATION..........................................................................................................................................8 6. SECURITY CONSIDERATIONS.................................................................................................................10 7. CONCLUSION................................................................................................................................................10
1. Introduction
The document covers RTSP (Real Time Streaming protocol). The document states its evolution, overview, the message format, and working. Finally we end with some of the security considerations for RTSP.
3. RTSP Overview
The Real-Time Streaming Protocol (RTSP) establishes and controls either a single or several time-synchronized streams of continuous media such as audio and video. It does not typically deliver the continuous streams itself, although interleaving of the continuous media stream with the control stream is possible. In other words, RTSP acts as a "network remote control" for multimedia servers. RTSP takes advantage of streaming which breaks data into many packets sized according to the bandwidth available between client and server. When enough packets have been received by the client, the user's software can be playing one packet, decompressing another and downloading the third. The user is able to start listening almost immediately without having to get the entire media file. Both live data feeds and stored clips can be the sources of data. The Real Time Streaming Protocol is more of a framework than a protocol. It's meant to control multiple data delivery sessions, provide a way to choose delivery channels such as UDP, TCP and IP-multicast. The delivery mechanisms are based solely on RTP. RTSP has been designed to be on top of RTP to both control and deliver realtime content. Thus RTSP implementations will be able to take advantage of RTP improvements, such as RTP header compression. Although RTSP can be used with unicast, its use might help to smoothen the
change from unicast to IP multicasting with RTP. Real Time Streaming Protocol can also be used with RSVP to set up and manage reserved-bandwidth streaming sessions.
This makes "virtual hosting" easier, where a single host with one IP address hosts several document trees. RTSP URL is in form rtsp://media.example.com:554/twister/audiotrack, where rtsp:// is the identifier for TCP rtsp scheme (rtspu:// is used for UDP scheme) 554 is the assumed port for Real-Time Streaming Protocol twister is the name of the presentation audiotrack is the name of certain stream in the presentation (this is optional)
Suitable for professional applications (frame-level accuracy through SMPTE time stamps is supported to allow remote digital editing) Presentation description neutral (no particular format imposed, the presentation description must contain at least one RTSP URI, however) Proxy and firewall friendly (protocol should be readily handled by both application and transport-layer firewalls) HTTP-friendly (RTSP reuses HTTP concepts, where sensible) Appropriate server control (i.e. servers should not start streaming to clients in such a way that clients cannot stop the stream) Transport negotiation (transport method can be negotiated just before streaming) Capability negotiation(client must have a way to find out if some of the basic features are disabled in the server)
and tools must also store datatypes in the files in formats that will eventually be understood by players. It all locks together in the following way:
4. RTSP Methods
DESCRIBE A DESCRIBE request includes an RTSP URL (rtsp://...), and the type of reply data that can be handled. The reply includes the presentation description, typically in SDP format. ANNOUNCE
A ANNOUNCE method allows one end to push the other end various types of information. SETUP A SETUP request specifies how a single media stream must be transported. This must be done before a PLAY request is sent. PLAY A PLAY request causes to play one or all media streams. Play requests can be stacked by sending multiple PLAY requests. PAUSE A PAUSE request temporarily halts one or all media streams, so it can later be resumed with a PLAY request. RECORD The RECORD request can be used to send a stream to the server for storage. TEARDOWN A TEARDOWN request is used to terminate the session. It stops all media streams and frees all session related data on the server. GET PARAMETER / SET PARAMETER A GET/ SET PPARAMETER allow the parameters to be exchanged. REDIRECT A REDIRECT method causes client to go to another server for part of the presentation.
The RTSP methods that provide a proxy with all of the port information necessary to open up, map and close ports are SETUP and TEARDOWN. The server needs to maintain session state to be able to correlate RTSP requests with a stream. Most of the methods in RTSP do not contribute to state. The methods that play a central role in allocating and using stream resources on the server are SETUP, PLAY, RECORD, PAUSE, and TEARDOWN.
5. RTSP Operation
Exchange of Commands
6. Security Considerations
Denial of service: Sometimes there can be RTSP request streams sent to the server leading to flooding. These can have no originationg sourse or client If such request exceed a certain number then legitimate requests can be denied leading to a denial of service attack. Session hijacking: RTSP unlike HTTP is a stateful server and uses session IDs to keep track of sessions. Session Hijacking is a possible threat to RTSP servrs as sessions can be sniffed and existing sessions IDs can be used to steal the session. Authentication: After a HTTP GET request sent from the Web Browser and a GET RSP got from the Web server, there is absolutely no authentication taking place between the media player and media server. Authentication is at the transport level which again makes RTSP vulnerable to false clients using media server to get media.
7. Conclusion
Real Time Streaming protocol has brought a lot of changes to the way media (video/audio/presentation) are streamed and the different ways in which they can be controlled. Most of the standards proposed are already in use. Bringing a change from IPv4 to Ipv6 can affect the functioning of these protocols in a great way offering higher bandwidth and better streaming for these real-time protocols. References: [1] IETF - The Internet Engineering Task Force 20.10.1998 [referenced 22.11.1998] <http://www.ietf.org/> [2] RealNetworks, RealMedia SDK 22.11.1998 [referenced 22.11.1998] < http://www.real.com/devzone/tools/rmsdk/index.html> [3] Schulzrinne, H, RTSP: Real-Time Streaming Protocol [Referenced 22.11.1998] < http://www.cs.columbia.edu/~hgs/rtsp/> Websites: [1] Perkins C.,Kouvelas I., Notes on the 38th IETF - Real-Time Streaming Protocol (RTSP) http://www.cs.ucl.ac.uk/staff/c.perkins/reports/ietf_38/node3.html [2] RealNetworks, Real Time Streaming Protocol (RTSP) http://www.real.com/devzone/library/fireprot/rtsp/index.html [3] Chunlei Liu, "Multimedia Over IP: RSVP, RTP, RTCP, RTSP" http://www.netlab.ohio-state.edu/~jain/cis788-97/ip_multimedia/index.htm
10