Real Time Streaming Protocol - PowerPoint PPT Presentation

About This Presentation
Title:

Real Time Streaming Protocol

Description:

Title: Real Time Streaming Protocol (RTSP) Author: labstation Last modified by: College of Arts & Sciences Created Date: 4/20/2005 10:46:11 PM Document presentation ... – PowerPoint PPT presentation

Number of Views:178
Avg rating:3.0/5.0
Slides: 37
Provided by: LabSt3
Learn more at: https://www.cse.unt.edu
Category:

less

Transcript and Presenter's Notes

Title: Real Time Streaming Protocol


1
Real 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.

5
RTSP 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.

7
RTSP 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

12
Protocols 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)
14
Role 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.

16
RTP 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.

18
Streaming from a streaming server to a media
player
19
Working of RTSP
  • FIGURE

20
RTSP 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
21
Explanation 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.

22
Example 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

23
Explanation 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

26
Streaming in Mobile Environments
27
RTSP 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
28
RTSP Applications
  • Streaming of multi-media via Internet
  • Video conferencing lectures.
  • Broadcasting of entertainment.
  • Remote digital editing
  • Voice mail

29
RTSP 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.

33
Solution to the Vulnerabilities
  • Here all the problems can be resolved by
    applying a patch from the vendor.

34
References
  • 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

35
Questions
  • 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
  • THANK YOU
Write a Comment
User Comments (0)
About PowerShow.com