520 likes | 1.06k Views
Real-time Streaming Protocol (RTSP). Byungchul Park DPNM Lab., CSE, POSTECH Email: fates@postech.ac.kr 2008. 6. 3. Table of Contents. Introduction RTSP Message RTSP Methods Existing Problems of RTSP MIB for RTSP Summary. Introduction - Streaming. What is Streaming ?
E N D
Real-time Streaming Protocol (RTSP) Byungchul Park DPNM Lab., CSE, POSTECH Email: fates@postech.ac.kr 2008. 6. 3
Table of Contents • Introduction • RTSP Message • RTSP Methods • Existing Problems of RTSP • MIB for RTSP • Summary
Introduction - Streaming • What is Streaming? • Streaming is the process of playing a file while it is still downloading • Streaming technology lets a user view and hear digitized content – video, sound and animation – as it is being downloaded • Streaming breaks the data into packets with size suitable for the transmission between server and clients • RTSP establish and controls streams
Introduction - RTSP • 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 (April, 1998) • RTSP uses RTP as the underlying data delivery protocol and offers a VCR-like control to the user: • PLAY, STOP, PAUSE, FF, REW • RTSP = Network remote controller
RTSP vs. RTP • RTSP allows two-way communication • Viewers can communicate with the streaming server and do things like rewind the movie, go to a chapter, and so on • It does not typically deliver the continuous streams itself • RTP is one-way protocol • Send live or stored streams from the server to the client
RTSP vs. HTTP • RTSP has similar syntax and operations with HTTP • Both an RTSP server and client can issue requests • An RTSP server needs to maintain state by default in almost all cases, as opposed to the stateless nature of HTTP • Data is carried out-of-band by a different protocol (RTP) • RTSP has various methods while HTTP has only two methods (GET, POST)
Message Types • RTSP is a text-based protocol and uses UTF-8 (Unicode octet) encoding • Messages can be either requests or responses • Request contain methods, the object the method is operating upon and parameters to further describe the method • After receiving and interpreting request, the recipient replies with a response message • RTSP messages are based on HTTP messages, with slight changes to allow for new status codes and different primitives
RTSP Message • RFC 2616 - HTTP/1.1
Protocol State Machines • The RTSP client and server state machines describe the behavior of the protocol from RTSP session initialization through RTSP session termination
Problems of Current Protocol • NAT Traversal problem • The RTSP protocol says nothing about the problems of recovering state over machine or software failure • Quality problem • Insufficient functionalities • No billing infrastructure: pay-per-play?
NAT Problem (1/3) • What is NAT (Network Address Translator)? • Translate private IP address to public IP address • Acts as a firewall [출처]NAT란??|작성자야쿨트
NAT Problem (2/3) • What makes the problem? • Server behind NAT • Client can not access the server • Client behind NAT • Client can access the server however server may not respond to client (RTP)
NAT Problem (3/3) • Possible Solution? • MMUSIC WG working on ICE + RTSP • Skype Protocol • MMUSIC (Multiparty Multimedia Session Control) • ICE (Interactive Connection Establishment) • ICE is designed for RIP’s NAT traversal • Work on mapping ICE to RTSP • Skype Rendezvous-Relay Service • Skype works well on every NAT environment and firewall
Recovering State over Machine (1/2) • State Machine ?? PAUSE
Recovering State over Machine (2/2) PAUSE PLAY, PAUSE, RECORD RECORD PLAY
Quality Problem (1/2) • In case of network congestion or packet loss • RTSP will cause part of the stream to be lost. • That's how RTP (the underlying conveyance protocol) behaves, as it uses UDP • RTP is the de facto standard protocol to carry real-time delay-sensitive payloads such voice over IP • With voice calls, people definitely prefer to loose some audio frames that have to wait a few seconds for the network to recover and retransmit • With video on demand, people may well prefer to wait a while for the audio/video buffers to refill
Quality Problem (2/2) • It’s not RTSP’s problem. This problem caused by • Lack of QoS management mechanism (IPv4) • Underlying conveyance protocol is RTP (UDP) • What could be a solution? • IPv6? • There’s no certain solution for QoS problem
Insufficient Functionalities (1/2) • Suppose your VCR • Play a video • Pause • Stop • FF • RWD • Record • RTSP • Play a video • Pause • TearDown (Stop) • Record
Insufficient Functionalities (2/2) • The authors are lacking experience with RECORD • Seem to need significant clarification on how to use it • Issues related to RECORD are: • How to use ANNOUNCE • How to signal “Disk Full” or “Quota Reached” • SETUP requirements to be able to RECORD • Appending, replacing • Creation of new files and there status • Recording and watching is not possible
No Charging Infrastructure (1/2) • There are many commercial products that employ RTSP • Real Player (www.real.com/player) • Cisco Application Control Engine (ACE) (http://www.cisco.com/en/US/prod/collateral/modules/ps2706/ps6906/prod_bulletin0900aecd8045859e.html) • Nokia5300 • Unlimited TV On PC (www.thecomputertv.com) • Application Streaming (www.thinstall.com) • Free Premium TV for PC (www.PremiumTVforPC.com) • PlayBox Technology (www.playbox.tv) • Etc.
No Charging Infrastructure (2/2) • Contents providers or service providers may need charging infrastructure for their revenues in short time • Possible charging scheme • Pay-per-playing • Pay-per-duration • Pay-per-packet • Flat-rate • At least usage data should be kept for charging
MIB for RTSP • There’s no MIB for RTSP • MIB for RTSP should contain • Client’s IP address • # of Packets • # of Octets • Client’s Tool • Start time • End time • Playing time • # of lost packets • Accessed media • Disk space for recording • Etc.
Summary • RTSP provides an extensible framework to enable controlled, on-demand delivery of real-time data • This protocol is intended to control multiple data delivery sessions, provide a means for choosing delivery channels, and provide a means for choosing delivery mechanisms based upon RTP • There’s no security vulnerability • However, this protocol has some possible problems