A basic introduction to the "standard' streaming media protocols
Size: 79.1 KB
Language: en
Added: Apr 11, 2008
Slides: 14 pages
Slide Content
Streaming Media Protocols
Understand “Standard” Streaming Media Protocols and Introduce the
main commercially used ones
Sanjoy Sanyal:
http://itforintelligentfolks.blogspot.com/
Streaming Media Protocols
•Real Time Transport (RTP) and its control protocol RTCP:
–Addresses the time critical high bandwidth needs of streaming
•Real Time Streaming Protocol
–Allows play pause fast forward
•Synchronised Multimedia Integration Language (SMIL)
–Text based mark up language that allows multimedia elements to be precisely
presented in a time constrained manner
Streaming media is media types with time constraints and continuous data flow
Content can be prerecorded or live
Sanjoy Sanyal:
http://itforintelligentfolks.blogspot.com/
Why is HTTP not suitable for streaming
•HTTP runs on TCP together they have these limitations :
–TCP enforces reliability without regard to timeliness.
–TCP changes the data transfer rate of the client-server connection according to
the availability of bandwidth, not the needs of the media.
–HTTP has only rudimentary mechanisms for random access.
–TCP is not suited to multicast.
Sanjoy Sanyal:
http://itforintelligentfolks.blogspot.com/
Real-Time Transport Protocol (RTP) - basics
•RTP transports streaming media on UDP
–UDP unlike TCP does not have retransmission and data rate management
services which makes it more efficient for streaming
•RTP streams are typically sent in parallel with RTCP (control)
•RTP streams and RTCP packets are transmitted separately for
audio & video
Sanjoy Sanyal:
http://itforintelligentfolks.blogspot.com/
How does RTP help in correct media decoding?
Header Information Function
Packet Sequence number Allow the receiver to reconstruct the
sender’s packet sequence
M bit header information of significant
events
Significant events (such as a frame
boundary) help in control of decoder
operations
Synchronization Source a 32 bit numberTo identify packets derived from a source
with a common time base and packet
sequence and therefore help in
synchronizing
Sanjoy Sanyal:
http://itforintelligentfolks.blogspot.com/
How does RTP work?...Mixers & Translators
Together mixers and translators allows RTP to accommodate a variety of network and
receiver configurations
Mixers
What it does?
Resynchronizes media
packets to reconstruct the
stream & combines the
streams
How does it work?
Acts a timing source and
writes its own SSRC identifier
into each RTP packet header
Translator
What it does?
Transforms media packets
based on network demands
How does it work?
Function includes changing
encoding formats, regenerate
packet sequence numbers,
replicating from unicast to
multicast…
Sanjoy Sanyal:
http://itforintelligentfolks.blogspot.com/
Real-Time Control Protocol (RTCP)
•What does RTCP do?
–Provides the sender and the receiver with timely reports on the QoS (Quality of
Service)
–Information about the participant in an ongoing session
–Helpful in diagnosing problems, controlling codecs
•What Ports are used by RTP and RTCP?
–RTP: on an even numbered port
–RTCP: on the next higher (therefore odd) numbered port
•How does RTCP work?
•RTCP functions using Receiver Report (RR) packet containing:
–The fraction of lost packets
–The cumulative number of lost packets
–The highest sequence number packet received
–The interarrival jeter (variance of the RTP data packet interarrival time)
–The identification of the last Sender Report (SR) packet recd. from sender
–The delay since the last SR packet
Sanjoy Sanyal:
http://itforintelligentfolks.blogspot.com/
Real Time Streaming Protocol (RTSP)
•Provides select/play, pause/fast forward functions
•Relies on RTP to deliver the actual media stream it controls
•RTSP can be transferred over UDP but it is usually over TCP
•RTSP reuses HTTP concepts when possible
Sanjoy Sanyal:
http://itforintelligentfolks.blogspot.com/
How does RTSP work?…RTSP methods
•DESCRIBE (C S):
–Retrieves from server the description of object specified by URL
•ANNOUNCE
–C S: describes an object specified by URL
– C S: updates session describition
•SETUP (C S): specifies the transport mechanism
•SETUP (C S):tells the server to start sending data
•PAUSE (C S)
•TEARDDOWN (C S): stop
•REDIRECT (S C): tells client to connect to another server
•RECORD (C S): initatiates recording
Sanjoy Sanyal:
http://itforintelligentfolks.blogspot.com/
How do the Protocols work together?
Application
Transport
Network
RTSP RTP
UDPTCP
IP
RTCPHTTP
A Protocol Layer view
Sanjoy Sanyal:
http://itforintelligentfolks.blogspot.com/
How do the Protocols work together?
RTSP Client Web Server
HTTP GET
Session Description including
rtsp://audio.hiphop.com/track01
SETUP rtsp://audio.hiphop.com/track01
Transport:RTP/UDP:unicast:client_port=4588-
4589
Acknowledgement, Sequence
Number ….
PLAY rtsp://audio.hiphop.com/track01 Cseq: XXX
Sesssion = 420123
RTP Audio Streams
RTCP Information
TEARDOWN rtsp://audio.hiphop.com/track01
Cseq: XXX Sesssion = 420123
Sanjoy Sanyal:
http://itforintelligentfolks.blogspot.com/
Synchronized Multimedia Integratation Language
•What it does?
–SMIL sequences streams relative to a single time base
•What is it?
–XML-based markup language that provides multimedia screen layout and timing
capabilities
•How does it work?
–SMIL media tags: <animation>, <audio>, <img>, <ref>, <text>, <textstream>,
<video>
–SMIL timing tags:
•<seq>: two or more clips should be played in sequence
•<par>: one or more clips share a common time base
•<excl>: only one of the media clips may be active at one time
•Also : <beg>, <dur>, <end>
Sanjoy Sanyal:
http://itforintelligentfolks.blogspot.com/
Proprietary Protocols
•Dominant companies use proprietary protocol
•Real Networks
–Progressive Network Architecture (PNA) in place of RTSP
–Real Data Transport Protocol (RDT) in place of RTP
•Microsoft
– Microsoft Media Server (MMS)
•Apple
–Quicktime
•Adobe
– FlV
Sanjoy Sanyal:
http://itforintelligentfolks.blogspot.com/
Summary
•Three standard protocols for streaming media:
–RTP,RTCP and RTSP
–They work together for transporting streaming media , provide satisfactory user
experience and user controls
•SMIL is used to create “multimedia” content
•Major companies use similar technologies but not exactly
standard protocols
Sanjoy Sanyal:
http://itforintelligentfolks.blogspot.com/