Streaming Media Protocols


Published on

A basic introduction to the "standard' streaming media protocols

Published in: Technology, Economy & Finance
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Streaming Media Protocols

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