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?  Sanjoy Sanyal: http://itforintelligentfolks.blogspot.com/ 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 To identify packets derived from a source with a common  time base and packet sequence  and therefore help in synchronizing
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? RTSP RTP UDP TCP IP RTCP HTTP A Protocol Layer view Sanjoy Sanyal: http://itforintelligentfolks.blogspot.com/ Application Transport Network
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/

Streaming Media Protocols

  • 1.
    Streaming Media ProtocolsUnderstand “Standard” Streaming Media Protocols and Introduce the main commercially used ones Sanjoy Sanyal: http://itforintelligentfolks.blogspot.com/
  • 2.
    Streaming Media ProtocolsReal 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/
  • 3.
    Why is HTTPnot 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/
  • 4.
    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/
  • 5.
    How does RTPhelp in correct media decoding? Sanjoy Sanyal: http://itforintelligentfolks.blogspot.com/ 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 To identify packets derived from a source with a common time base and packet sequence and therefore help in synchronizing
  • 6.
    How does RTPwork?...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/
  • 7.
    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/
  • 8.
    Real Time StreamingProtocol (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/
  • 9.
    How does RTSPwork?…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/
  • 10.
    How do theProtocols work together? RTSP RTP UDP TCP IP RTCP HTTP A Protocol Layer view Sanjoy Sanyal: http://itforintelligentfolks.blogspot.com/ Application Transport Network
  • 11.
    How do theProtocols 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/
  • 12.
    Synchronized Multimedia IntegratationLanguage 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/
  • 13.
    Proprietary Protocols Dominantcompanies 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/
  • 14.
    Summary Threestandard 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/