Title: Real Time Streaming Protocol
1Real Time Streaming Protocol
- Prasanti Adusumilli
- Swathi Borra
-
-
-
2- TOPICS
- Introduction
- RTSP and Streaming
- Role of RTSP
- RTP and RTSP
- Working of RTSP
- RTSP Methods
- Applications of RTSP
- RTSP Vulnerabilities
3 Introduction
- RTSP is an application-level protocol for the
control of real-time streaming data. - 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 and REW, as well as
random access to any part of the media clip. -
4(Introductioncontd)
- RTSP also helps the server to adjust the media
bandwidth to the network congestion in order to
suit the available capacity. - Another important function of RTSP is its ability
to choose the optimum delivery channel to the
client. For instance, if UDP cannot be used (some
corporate firewalls - will not pass UDP), the streaming server has
to offer a choice of delivery protocols
multicast UDP or TCP to suit different clients.
5RTSP and HTTP
- RTSP is similar to HTTP/1.1 in terms of syntax
and operation but differs in several important
aspects. - With RTSP, both the client and the server can
issue requests during interaction, as opposed to
HTTP where the client always issues the requests
(for documents).
6(RTSP and HTTPcontd)
- RTSP maintains a state by default which happens
to be very important in streaming media files. - The HTTP protocol is a stateless protocol. This
simply means that HTTP is unable to retain a
memory of the identity of each client that
connects to a web site and therefore treats each
request for a web page as a unique and
independent connection, with no relationship
whatsoever to the connections that preceded it.
7RTSP and Streaming
- RTSP is the central protocol of a streaming
framework. - Streaming is the process of playing a file while
it is still downloading. - The innovation of streaming
- ? No need to entirely store it locally
before playing
8(contd)
- Large audio and video files need not be
downloaded to your computer . - Streaming media technology allows the client to
see or hear the content in just a few seconds
instead of waiting.
9- Streaming media will usually take the form of
- pre-stored media Its already been recorded and
archived somewhere, when the user wants to access
it we serve it as a stream - live broadcast media The content is streamed as
its produced (there may be a small editing /
safety delay, as with traditional broadcasting)
straight to the user - live interactive media Such as videoconferencing
- each user might produce their own stream, and
there isn't control by one broadcaster
10- The transmission of the stream can be
- one-to-one or point to point - in networking
terms, unicast. The stream travels directly from
the source (server) to the user (client). - one-to-many or multicast. One stream will be
(literally) broadcast to many users.
11 Kinds of streaming audio or video
available
- Real Networks (with RealMedia, Real Video and
RealAudio) - Microsoft (with Windows Media - audio and video)
- Apple (with QuickTime)
- Null soft Streaming Video (.nsv) and Shoutcast,
IceCast (GNU GPL/Open Source version of
Shoutcast), Live365 streaming audio
12Protocols used in Streaming Technology
- ? Session Description Protocol (SDP)
- ? Real Time Transport Protocol (RTP)?
Real-time Control Protocol (RTCP) - ? Hypertext Transfer Protocol (HTTP)
- ? Real Time Streaming Protocol (RTSP)
13(No Transcript)
14Role of RTSP
- Controlling and processing the interactive
control functions such as pause/resume, fast
forward, rewind is an important aspect of
streaming and RTSP takes up this major role. - Delivery mechanisms are based solely on RTP.
- RTSP is designed to be on top of RTP to both
control and deliver real-time content.
15- RTSP implementations will be able to take
advantage of RTP improvements such as RTP header
compression - Here we need to know the differences between RTP
and RTSP to know that both have their own
specific functions in streaming.
16RTP and RTSP
- Its important to distinguish between RTP and
Real-Time Streaming Protocol (RTSP), another
transfer protocol. RTSP is used when viewers
communicate with a unicast server. - 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.
17- QuickTime automatically translates the viewer
interaction with the on-screen movie controller
into the proper RTSP requests. - By contrast, RTP is a one-way protocol used to
send live or stored streams from the server to
the client.
18Streaming from a streaming server to a media
player
19Working of RTSP
20RTSP Media Player-Server Sequence Chart
User Interface
RTSP Player
RTSP Server
OpenURL
SETUP
response1
PLAY
Activate RTP
response2
Activate RTP
audio
PAUSE
response3
Quit
TEARDOWN
response10
21Explanation Working of RTSP
- Before a client can establish the streaming
session it some how has to get the session
description from the web server using the HTTP
protocol. - According to the information in the session
description the client sends a RTSP SETUP request
to the streaming server.
22Example of a RTSP Description File
- lttitlegtTwister/titlegt
- ltsessiongt
- ltgroup languageen lipsyncgt
- ltswitchgt
- lttrack typeaudio
- ePCMU/8000/1
- src rtsp//audio.example.com/twister/
- audio.en/lofigt
- lttrack typeaudio
- eDVI4/16000/2 pt90 DVI4/8000/1
- scrrtsp//audio.example.com/twister/
- audio.en/hifigt
- lt/switchgt
- lttrack typevideo/jpeg
- scrrtsp//video.example.com/twister/videogt
- lt/groupgt
- lt/sessiongt
23Explanation of the Description File
-
- The RTSP Content Markup Language document
can be defined using an XML DTD (Document Type
Definition), and is HTML-like. Most of it is
self-explanatory. The group includes two audio
tracks and a video track, and the group tag
includes the language parameter (en English) and
a requirement that the sound shall be
lip-synchronised with the video. The swich tag
indicates that we can swich between two sound
tracks. The coding schemes for the audio are
given by the parameters e and pt. To locate
resources, RTSP defines a variant of URL, see
src. The parameter lofi indicates low
fidelity sound. The RTSP URL may include a port
number.
24(working of RTSP contd)
- The server informs the client with an OK (ack)
response to indicate that the stream has been
prepared successfully. - The client starts the streaming with a RTSP PLAY
request and ends the streaming session with a
RTSP TEARDOWN request.
25 RTSP Message Format
- The RTSP message formats share a similar syntax
to HTTP The general syntax for an RTSP method is - method name URL protocol versionCRLF
parameters - An example of an RTSP request follows
- DESCRIBE http//foo.com/bar.rm RTSP/1.0
- CSeq 312
- Accept application/sdp, application/mheg
- This is a request for an RTSP server to send a
description of the media - content, http//foo.com/bar.rm, using either
Session Description Protocol - (SDP) or Multimedia and Hypermedia Experts Group
(MHEG) formats. - An RTSP message may also contain a body. The
general syntax for a method with a body is - method name URL protocol versionCRLF
- MIME header fieldCRLF
- ...
- MIME header fieldCRLF
- CRLF
- optional body, depending on the presence of a
"Content-length"
- The following example contains a
description of the media referenced by the
request URL, rtsp//foo.bar.com/bar.rm, using the
SDP format. - ANNOUNCE rtsp//foo.bar.com/bar.rm RTSP/1.0
- CSeq 312
- Date 9 Sep 1998 130000 GMT
- Session 45991232
- Content-Type application/sdp
- Content-Length 332
- v0
- oefutz 1928384477 1928386879 IN IP4 127.15.32.2
- sA Short Story
- iA short narrative depicting the early days of
the Internet - uhttp//www.yo.com/efutz/sdp.04.ps
- eefutz_at_yo.com (Elmer Futz)
- cIN IP4 225.2.14.10/127
- t3928384899 3928493389
- arecvonly
- maudio 8756 RTP/AVP 0
- mvideo 3487 RTP/AVP 31
- Each RTSP request is followed by a response
message. Syntax protocol version status code
reason-phraseCRLF
26Streaming in Mobile Environments
27RTSP Methods
Method DESCRIBE ANNOUNCE GET_PARAMETER OPTIONS PAUSE PLAY RECORD REDIRECT SETUP SET_ PARAMETER TEARDOWN Description Retrieves the description of a presentation Posts the description of a presentation Retrieves the value of a parameter Queries the available methods Streams delivery is halted temporarily Starts sending data Starts receiving data Informs to connect another server location Specifies the transport mechanism Requests to set the value of a parameter Stops the stream delivery and frees the resources
28RTSP Applications
- Streaming of multi-media via Internet
- Video conferencing lectures.
- Broadcasting of entertainment.
- Remote digital editing
- Voice mail
29RTSP Vulnerabilities
- Vulnerability VU329561
-
- Real Networks Helix Universal server
Vulnerable to buffer overflow when supplied an
overly long string within the "Transport" field
of a SETUP RTSP request. - Impact
- A remote attacker may be able to execute
arbitrary code on the vulnerable system. This
attacker-supplied code would be run with the
privileges of the user running the Helix Server. -
30- Vulnerability Note VU934932
- Real Networks media server RTSP protocol
parser buffer overflow. - Impact
- A remote attacker can either execute
arbitrary code with privileges of the running
service or cause it to crash.
31- Vulnerability Note VU485057
- Real Networks Helix Universal Server vulnerable
to buffer overflow when supplied an overly long
string for the "Describe" field - Impact
- A remote attacker may be able to execute
arbitrary code on the vulnerable system. This
attacker-supplied code would be run with the
privileges of the user running the Helix Server.
32- Vulnerability Note VU460350
- Apple QuickTime/Darwin Streaming Server fails to
properly parse DESCRIBE requests. - Impact
- An unauthenticated, remote attacker could
prevent legitimate users from accessing the
streamed content.
33Solution to the Vulnerabilities
- Here all the problems can be resolved by
applying a patch from the vendor.
34References
- www.ietf.org
- http//www.kb.cert.org/vuls
- http//www.cswl.com/whiteppr/tech/StreamingTechnol
ogy.html - http//www.javvin.com/protocolRTSP.html
- http//www.cisco.com/univercd/cc/td/doc/product/so
ftware/ios120/120newft/120t/120t7/fw_rtsp.htm
35Questions
- 1. What is the transport protocol being used
by RTSP? - Ans. An RTSP client may use reliable transport
connection such as TCP or alternatively
use UDP.(So could be on top of UDP/IP or
TCP/IP) - 2. Where is RTSP used?
- Ans. It is used by streaming media players ,to
control the media streams. - 3. What is main difference between RTSP and
HTTP? - Ans. HTTP is a stateless protocol ,where as RTSP
maintains the state through out.
36