Media Streaming Protocols Presented by: Janice Ng and Yekaterina Tsipenyuk May 29 th, 2003 CSE 228: Multimedia Systems.

Slides:



Advertisements
Similar presentations
Streaming Video over the Internet
Advertisements

Chapter 6: Multimedia Networking
Multimedia Systems As Presented by: Craig Tomastik.
29.1 Chapter 29 Multimedia Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
29.1 Chapter 29 Multimedia Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
RTP: A Transport Protocol for Real-Time Applications Provides end-to-end delivery services for data with real-time characteristics, such as interactive.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 25 Multimedia.
19 – Multimedia Networking. Multimedia Networking7-2 Multimedia and Quality of Service: What is it? multimedia applications: network audio and video (“continuous.
User Control of Streaming Media: RTSP
Multimedia Streaming Protocols1 Multimedia Streaming: Jun Lu Xinran (Ryan) Wu CSE228 Multimedia Systems Challenges and Protocols.
Streaming Video over the Internet: Approaches and Directions Dapeng Wu, Yiwei Thomas Hou et al. Presented by: Abhishek Gupta
Streaming Media. Unicast Redundant traffic Multicast One to many.
Multimedia Applications r Multimedia requirements r Streaming r Phone over IP r Recovering from Jitter and Loss r RTP r Diff-serv, Int-serv, RSVP.
CSc 461/561 CSc 461/561 Multimedia Systems Part C: 1. RTP/RTCP.
Streaming Video Gabriel Nell UC Berkeley. Outline Scalable MPEG-4 video – Layered coding method – Integrated transport-decoder buffer model RAP streaming.
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
Multimedia Communications over the Internet. IP Packet-Switching Networks Packet-switching protocols based on the Internet Protocol (IP) generally consist.
High-Performance Prefetching Protocols for VBR Prerecorded Video 윤 지 숙 Martin Reisslein, Keith Ross.
Multimedia Computer Networks 10/02/02 Xavier Appé.
RTP/RTCP – Real Time Transport Protocol/ Real Time Control Protocol Presented by Manoj Sivakumar.
RTP: A Transport Protocol for Real-Time Applications
Computer Networking Multimedia.
CS640: Introduction to Computer Networks
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
6: Multimedia Networking6a-1 Chapter 6: Multimedia Applications r Multimedia requirements r Streaming r Phone over IP r Recovering from Jitter and Loss.
Multimedia and QoS#1#1 Multimedia Applications. Multimedia and QoS#2#2 Multimedia Applications r Multimedia requirements r Streaming r Recovering from.
Ch 7. Multimedia Networking Myungchul Kim
Advance Computer Networks Lecture#14
Computer Networks: Multimedia Applications Ivan Marsic Rutgers University Chapter 3 – Multimedia & Real-time Applications.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 4: Multimedia.
1 How Streaming Media Works Bilguun Ginjbaatar IT 665 Nov 14, 2006.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
Multimedia Over IP: RTP, RTCP, RTSP “Computer Science” Department of Informatics Athens University of Economics and Business Λουκάς Ελευθέριος.
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
1 Lecture 17 – March 21, 2002 Content-delivery services. Multimedia services Reminder  next week individual meetings and project status report are due.
CS640: Introduction to Computer Networks Aditya Akella Lecture 19 - Multimedia Networking.
Multimedia, Quality of Service: What is it?
Chapter 6 outline r 6.1 Multimedia Networking Applications r 6.2 Streaming stored audio and video m RTSP r 6.3 Real-time Multimedia: Internet Phone Case.
Sudarsun S 1 Audio and Video over Internet Sudarsun S., M.Tech Checktronix India Pvt Ltd Chennai
Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot.
Streaming Media Control n The protocol components of the streaming n RTP/RTCP n RVSP n Real-Time Streaming Protocol (RTSP)
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 28 Multimedia.
Chapter 28. Network Management Chapter 29. Multimedia
Part 2: Making the Best of Best-Effort
Multimedia and Networks. Protocols (rules) Rules governing the exchange of data over networks Conceptually organized into stacked layers – Application-oriented.
Chapter 15 Chapter 15 Multimedia and Networks Multimedia Systems.
Computer Networking Multimedia. 11/15/20052 Outline Multimedia requirements Streaming Phone over IP Recovering from Jitter and Loss RTP QoS Requirements.
Internet multimedia: simplest approach audio, video not streamed: r no, “pipelining,” long delays until playout! r audio or video stored in file r files.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
Ch 6. Multimedia Networking Myungchul Kim
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
Ch 6. Multimedia Networking Myungchul Kim
Multimedia Streaming I. Fatimah Alzahrani. Introduction We can divide audio and video services into three broad categories: streaming stored audio/video,
3/10/2016 Subject Name: Computer Networks - II Subject Code: 10CS64 Prepared By: Madhuleena Das Department: Computer Science & Engineering Date :
RTP/RTCP/RTSP Ben Biro CISC 856 – Spring '10 University of Delaware Thanks to Professor Amer, Henning Schulzrinne, Colin Perkins, Amit Hetawal.
Multimedia Communication Systems Techniques, Standards, and Networks Chapter 6 Multimedia Communication Across Networks.
7: Multimedia Networking7-1 protocols for real-time interactive applications RTP, RTCP, SIP.
Networked Multimedia Basics. Network Characteristics.
Chapter 13: Multimedia and Networking BITM1113- Multimedia Systems.
The Transport Layer Congestion Control & UDP
19 – Multimedia Networking
RTP: A Transport Protocol for Real-Time Applications
Multimedia Applications
Chapter 25 Multimedia TCP/IP Protocol Suite
Multimedia and Networks
Process-to-Process Delivery:
Multimedia Applications
Presentation transcript:

Media Streaming Protocols Presented by: Janice Ng and Yekaterina Tsipenyuk May 29 th, 2003 CSE 228: Multimedia Systems

Why the Traditional Protocols Like HTTP, TCP, and UDP Are Not Sufficient HTTP Designers of HTTP had fixed media in mind: HTML, images etc. HTTP does not target stored continuous media (i.e., audio, video etc.) TCP Reliable, in-order delivery, but no enforcement of timing constraints for continuity of media; retransmissions can violate time constraints Overhead of acknowledging packets – when all applications care about is getting a packet on time UDP Eliminates acknowledgement overhead Very primitive: no flow control, no synchronization between stream, no higher level functions for multimedia

Currently Used Media Streaming Protocols Protocol Stack RTSP Real Time Streaming Protocol RTP and RTCP Real Time Protocol Real Time Control Protocol UDP or TCP Functions Application level functions: Play, Fast Forward, Rewind Stream synchronization, timing, jitter control, rate manipulation Underlying transport protocol

Real Time Streaming Protocol: RTSP RTSP: RFC 2326 Client-server application layer protocol For user to control display: rewind, fast forward, pause, resume, repositioning, etc… Example - RealNetworks Server and player use RTSP to send control info to each other What it doesn’t do: Does not define how audio/video is encapsulated for streaming over network Does not restrict how streamed media is transported; it can be transported over UDP or TCP Does not specify how the media player buffers audio/video Does not offer QoS type guarantees – QoS is another topic in an of itself

RTSP Initiates and Controls Delivery Client obtains a description of the multimedia presentation, which can consist of several media streams The browser invokes media player (helper application) based on the content type of the presentation description Presentation description includes references to media streams, using the URL method rtsp:// Player sends RTSP SETUP request; server sends RTSP SETUP response Player sends RTSP PLAY request; server sends RTSP PLAY response Media server pumps media stream Player sends RTSP PAUSE request; server sends RTSP PAUSE response Player sends RTSP TEARDOWN request; server sends RTSP TEARDOWN response

Real-Time Protocol (RTP) RTP: RFC 1889 Specifies packet structure for packets carrying audio and video data RTP operates as and end-to-end protocol. Intermediate routers do not make any special effort to ensure that RTP packets arrive at the destination in a timely matter Like RTSP, RTP does not provide QoS RTP typically runs over UDP RTP header contents: Payload Type: 7 bits, providing 128 possible different types of encoding; eg PCM, MPEG2 video, etc. Sequence Number: 16 bits; used to detect packet loss Timestamp: 32 bytes; gives the sampling instant of the first audio/video byte in the packet; used to remove jitter introduced by the network Synchronization Source identifier (SSRC): 32 bits; an id for the source of a stream; assigned randomly by the source

RTP Streams RTP allows each source (for example, a camera or a microphone) to be assigned its own independent RTP stream of packets For example, for a videoconference between two participants, four RTP streams could be opened: two streams for transmitting the audio (one in each direction) and two streams for the video (again, one in each direction) However, some popular encoding techniques -- including MPEG1 and MPEG2 -- bundle the audio and video into a single stream during the encoding process. In this case, only one RTP stream is generated in each direction For a many-to-many multicast session, all of the senders and sources typically send their RTP streams into the same multicast tree with the same multicast address

Real Time Control Protocol (RTCP) Works in conjunction with RTP Protocol specifies report packets exchanged between sources and destinations of multimedia streams Three reports are defined: Receiver reports, Sender reports, and Source descriptions Reports contain statistics such as the number of packets sent, number of packets lost, inter-arrival jitter, and RTP timestamps Used to modify sender transmission rates and for diagnostics purposes Each participant in an RTP session periodically transmits RTCP control packets (containing reports) to all other participants. The interval between reports based on the number of participating receivers. Typically, RTCP bandwidth is limited to 5% of the session bandwidth, in which 25% is allocated for sender reports and 75% for receiver reports (75%)

Synchronization of Streams RTCP is used to synchronize different media streams within a RTP session Consider a videoconferencing application in which each sender generates one RTP stream for video and one for audio The timestamps in these RTP packets are tied to the video and audio sampling clocks, and are not tied to the wall-clock time (i.e., to real time) Each RTCP sender-report contains, for the most recently generated packet in the associated RTP stream, the timestamp of the RTP packet and the wall-clock time for when the packet was created, thus, associating the sampling clock to the real-time clock Receivers can use this association to synchronize the playback of audio and video

Recent Research Topics Protocols for distributed video streaming Packet-switched, best-effort networks Multiple senders, single receiver Forward Error Correction (FEC) to minimize packet loss Protocols for adaptive streaming of multimedia data Quality adaptation for internet video streaming Sender/receiver/proxy initiated adaptation Objectives: network heterogeneity, heterogeneity in client’s capabilities, fluctuations in bandwidth Protocols for scalable on-demand media streaming with packet loss recovery

Prefetching Protocol for Streaming of Prerecorded Continuous Media in Wireless Environments Problems: continuity is difficult to achieve, unreliability of wireless links Properties of prerecorded continuous media: Client consumption rate over duration of playback is known when streaming starts Parts of the stream can be prefetched into client’s memory Solutions: Use Join-the-Shortest-Queue (JSQ) policy to balance prefetched reserves in wireless clients within wireless cells Use channel probing to utilize transmission capacities of wireless links

Architecture Both forward (base station to client) and backward (client to base station) transmissions are supported Several parallel channels are available for transmission to a client Base station keeps track of contents of prefetch buffers in clients

J - number of clients, N(j) - length of video stream j in frames, x n (j) - number of packets in the n th frame of stream j, t n (j) – interarrival time between n th frame and (n+1) th frame of stream j, b(j) – number of packets in prefetch buffer of client j, p(j) – length of prefetched video segment in prefetch buffer of client j in seconds Architecture Cont. Sequences (x 1 (j), x 2 (j),…x N(j) (j)) and (t 1 (j), t 2 (j),…t N(j) (j)) are fully known when streaming starts b(j) and p(j) are updated when: Client j acknowledges reception of sent packet: b(j) = b(j) + x n (j) and p(j) = p(j) + t n (j) Frame is removed from prefetch buffer, decoded, and displayed at client j: b(j) = max(0, b(j)-x Θ(j) (j)) and p(j) = max(0, p(j)-t Θ(j) (j)), where Θ(j) is frame to be removed from prefetch buffer Playback starvation occurs when b(j)- x Θ(j) (j) < 0 : frame to be removed is not in the prefetch buffer

JSQ Prefetch Policy S - number of orthogonal channels available at base station, z(j) – length of video segment (in seconds) scheduled for transmission to client j in the current forward slot, R(j) - number of parallel channels available at a client j, B(j) – prefetch buffer capacity of client j in packets, r(j) – number of packets scheduled for client j in upcoming forward slot Initialize z(j)’s to 0 Pick client j* with smallest p(j)+z(j) Check that r(j*) <= R(j*)-1 [1] and b(j*) <= B(j*)-1 [2] Update z(j*): z(j*) = z(j*)+t σ(j*) (j*)/x σ(j*) (j*), where σ(j*) is frame number of stream j* that is partially carried by scheduled packet Update r(j*) If [1] and/or [2] are violated, skip corresponding client to find new j* Procedure ends if we: Schedule S packets or Skip over all J streams

Performance Tested in wireless environments with the following parameters: S = 15, and each channel provides C = 64 kbit/sec bit rate downlink B(j) = B and R(j) = R for all clients Streams encoded both at VBR and CBR with average r¯ = 64 kbit/sec Traces have frame rate of 25 frames/sec, are frames long, bursty Wireless link is simulated as discrete-time Markov Chain with two states: “good” and “bad” π g = 0.99, π b = 0.01, P l g = 0.05, P l b = 1 Bandwidth efficiency = sum of average rates of streams supported by base station divided by total available effective transmission capacity of base station: π g - steady state probability of being in a good state of wireless connection, π b - steady state probability of being in a bad state, P l g – packet loss probability in a good channel, P l b - packet loss probability in a bad channel

Performance Cont.