Real Time Streaming Protocol

Real-time streaming protocol, or presentation control protocol, commonly known as RTSP, is a standard protocol widely used for efficiently controlling the streaming of audio and video data over the internet. The protocol is developed by Multiparty Multimedia Session Control Working Group (MMUSIC WG), also a joint venture work of RealNetworks, Netscape Communications and Columbia University during the 1990s.

Unlike the traditional HTTP which uses a progressive technique, real-time streaming protocol delivers continuous streams of requested data without actually storing it on the hard disk, the technique known as “real-time” streaming, thus acts like a “remote control” enabling the flow on demand. The protocol is used in applications such as Windows Media Player, QuickTime, RealPlayer, MPEG4IP, JavaFX SDK for Windows platform, Skype, for uni-cast streaming (where data transfer occurs between one client and one server) and multi-cast streaming(between one server and multiple clients).

Real-time streaming protocol uses a combination of protocols such as TCP (connection based protocol), UDP (connectionless protocol), and RTP to achieve various functions by maintaining session/state between server and client through an identifier. In other words, the RTSP server and client can send requests simultaneously by choosing the appropriate delivery mechanism, an advantage over other protocol types. The session begins with “Setup” from the client or already defined transport information that indicates the server to allocate resource for data stream, “Play” where the data is transmitted according to the request from client, “Pause” in which the streaming is temporarily disabled without actually disconnecting the server, “Record” where the streaming data is recorded by the client as per the time-stamp carrying the information of start and end time and “Close” where the resources are freed and the client-server session comes to an end.

The other advantage of RTSP is, it is extendable, in the sense new features, parameters and methods can be easily added while coding and/or can include features from other protocols like HTTP, TCP etc. The RTSP provides a secure and reliable connection by letting the end user choose the appropriate authentication type. Since the data can arrive from various servers, this type of protocol is generally prescribed for professional presentations. Also, the client can identify which features are enabled and which are not, in the requested server, making that information available for other purposes.

RTSP uses the standard ISO 10646 UTF-8 encoding (hence called a text-based protocol) where each line is terminated by CRLF, which is then interpreted by the receiver on the other end. Due to this nature of the protocol, it is extensively implemented for scripting languages like Perl and VB. The RTSP is a proposed standard in its preliminary stage and hence some RTSP servers use RTP as the transport protocol and others RDP for the audio/video stream.

All data types are not supported by this type of connection and RTSP option is not recommended for those who do not want to compromise on video quality. The real-time streaming protocol is vulnerable to packet loss, transmission delay, congestion and other jitters, just like any other communication protocols, but can prove to be advantageous in many instances such as a conference which could be viewable to many people at once regardless of location.

Keywords: RTSP, Real Time Streaming Protocol, Streaming Video, internet video, live streaming video