Streaming Audio and Video



Similar documents
Voice-Over-IP. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Classes of multimedia Applications

Digital Audio and Video Data

Lecture 33. Streaming Media. Streaming Media. Real-Time. Streaming Stored Multimedia. Streaming Stored Multimedia

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Streaming Stored Audio & Video

Internet Services & Protocols Multimedia Applications, Voice over IP

internet technologies and standards

Multimedia Networking. Yao Wang Polytechnic University, Brooklyn, NY11201

Internet Services & Protocols Multimedia Applications, Voice over IP

Multimedia Networking. Yao Wang Polytechnic University, Brooklyn, NY11201

Multimedia Communications Voice over IP

Sources: Chapter 6 from. Computer Networking: A Top-Down Approach Featuring the Internet, by Kurose and Ross

Mul$media Networking. #3 Mul$media Networking Semester Ganjil PTIIK Universitas Brawijaya. #3 Requirements of Mul$media Networking

IP-Telephony Real-Time & Multimedia Protocols

Transfer and Control Protocols H.261. Standards of ITU

RTP / RTCP. Announcements. Today s Lecture. RTP Info RTP (RFC 3550) I. Final Exam study guide online. Signup for project demos

Encapsulating Voice in IP Packets

EDA095 Audio and Video Streaming

Final for ECE374 05/06/13 Solution!!

3.2: Transfer and Control Protocols Multimedia Operating Systems. The H.x Protocols Chapter 4: Multimedia Systems

point to point and point to multi point calls over IP

Unit 23. RTP, VoIP. Shyam Parekh

Advanced Networking Voice over IP: RTP/RTCP The transport layer

Voice over IP: RTP/RTCP The transport layer

6. Streaming Architectures 7. Multimedia Content Production and Management 8. Commercial Streaming Systems: An Overview 9. Web Radio and Web TV

Mixer/Translator VOIP/SIP. Translator. Mixer

technology standards and protocol for ip telephony solutions

Requirements of Voice in an IP Internetwork

Multimedia Networking and Network Security

Chapter 7: Multimedia Networking. Chapter 7: Multimedia Networking. Contents: Multimedia, QoS, CDN, P2P. Multimedia. Multimedia Networking Map

Computer Networks. Voice over IP (VoIP) Professor Richard Harris School of Engineering and Advanced Technology (SEAT)

White paper. Latency in live network video surveillance

QOS Requirements and Service Level Agreements. LECTURE 4 Lecturer: Associate Professor A.S. Eremenko

Basic principles of Voice over IP

Broadband Networks. Prof. Dr. Abhay Karandikar. Electrical Engineering Department. Indian Institute of Technology, Bombay. Lecture - 29.

An Introduction to VoIP Protocols

Voice over IP (VoIP) Overview. Introduction. David Feiner ACN Introduction VoIP & QoS H.323 SIP Comparison of H.323 and SIP Examples

Nortel Technology Standards and Protocol for IP Telephony Solutions

TECHNICAL CHALLENGES OF VoIP BYPASS

Voice over IP. Presentation Outline. Objectives

Session Initiation Protocol (SIP) The Emerging System in IP Telephony

Project Code: SPBX. Project Advisor : Aftab Alam. Project Team: Umair Ashraf (Team Lead) Imran Bashir Khadija Akram

Transport and Network Layer

IP (RTP, RTCP, SIP, RSTP)

Internet Working 15th lecture (last but one) Chair of Communication Systems Department of Applied Sciences University of Freiburg 2005

Real-time apps and Quality of Service

Multimedia Requirements. Multimedia and Networks. Quality of Service

Bandwidth Adaptation for MPEG-4 Video Streaming over the Internet

802.11: Mobility Within Same Subnet

Application Note How To Determine Bandwidth Requirements

Audio and Video for the Internet

Indepth Voice over IP and SIP Networking Course

VRT Testing What Makes BullsEye Better and Different from the rest (Our competitive Advantage)

VoIP Analysis Fundamentals with Wireshark. Phill Shade (Forensic Engineer Merlion s Keep Consulting)

VoIP Bandwidth Considerations - design decisions

Voice over IP (VoIP) for Telephony. Advantages of VoIP Migration for SMBs BLACK BOX blackbox.com

IP Telephony v1.0 Scope and Sequence. Cisco Networking Academy Program

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

7 Streaming Architectures

VOICE over IP H.323 Advanced Computer Network SS2005 Presenter : Vu Thi Anh Nguyet

Applied Networks & Security

TSIN02 - Internetworking

B12 Troubleshooting & Analyzing VoIP

Asynchronous Transfer Mode: ATM. ATM architecture. ATM: network or link layer? ATM Adaptation Layer (AAL)

Methods for Mitigating IP Network Packet Loss in Real Time Audio Streaming Applications

Version 0.1 June Xerox WorkCentre 7120 Fax over Internet Protocol (FoIP)

Clearing the Way for VoIP

VOICE OVER IP AND NETWORK CONVERGENCE

Network Simulation Traffic, Paths and Impairment

VoIP with SIP. Session Initiation Protocol RFC-3261/RFC

2.1 Introduction. 2.2 Voice over IP (VoIP)

Chapter 2 Voice over Internet Protocol

An Analysis of Error Handling Techniques in Voice over IP

Introduction VOIP in an Network VOIP 3

Overview of Voice Over Internet Protocol

VoIP QoS. Version 1.0. September 4, AdvancedVoIP.com. Phone:

Quality of Service for Streamed Multimedia over the Internet

Performance Evaluation of AODV, OLSR Routing Protocol in VOIP Over Ad Hoc

Chapter 3 ATM and Multimedia Traffic

QoS issues in Voice over IP

Applications that Benefit from IPv6

Multimedia Applications. Streaming Stored Multimedia. Classification of Applications

Network Service Model. What Transport Services Does an App Need?

Glossary of Terms and Acronyms for Videoconferencing

Troubleshooting VoIP and Streaming Video Problems

Voice Over IP. Priscilla Oppenheimer

SIP Trunking and Voice over IP

(Refer Slide Time: 01:46)

Combining Voice over IP with Policy-Based Quality of Service

TDM services over IP networks

A Comparative Study of Signalling Protocols Used In VoIP

VoIP network planning guide

Comparison of Voice over IP with circuit switching techniques

Using the ClearSight Analyzer To Troubleshoot the Top Five VoIP Problems And Troubleshooting Streaming Video

IAB CONCERNS ABOUT CONGESTION CONTROL. Iffat Hasnian

Goal We want to know. Introduction. What is VoIP? Carrier Grade VoIP. What is Meant by Carrier-Grade? What is Meant by VoIP? Why VoIP?

QoS and the Advantages of Multimedia over IP

Voice over IP. Overview. What is VoIP and how it works. Reduction of voice quality. Quality of Service for VoIP

Receiving the IP packets Decoding of the packets Digital-to-analog conversion which reproduces the original voice stream

Transcription:

Streaming Audio and Video Multimedia on the Internet Daniel Zappala Brigham Young University Computer Science Department Streaming Audio and Video Daniel Zappala 1/39

1 Introduction 2 Stored Media 3 CDNs 4 Streaming Protocols 5 Real Time Media Overview Delay Loss 6 Real-Time Protocols RTP RTCP SIP 7 Take-Home Points Streaming Audio and Video Daniel Zappala 2/39

Question of the Day How can we stream audio and video over the Internet? Streaming Audio and Video Daniel Zappala 3/39

Multimedia Applications streaming stored audio and video content pre-recorded and stored at server user begins playback before entire file received content played continuously, at same rate as original recording user can pause, rewind, fast-forward, index content streaming live audio and video content is sent live, rather than pre-recorded, still continuous higher expectation that delays are short, no pauses unless user requests it real-time interactive audio and video user interaction - conversations highest expectation for low delay must be below human thresholds for interactive conversation to be possible delay < 150ms not perceptible, 150 400ms acceptable, > 400 ms not tolerable Streaming Audio and Video Daniel Zappala 4/39

Challenge the Internet offers only best-effort service no guarantee on delay (affects live and interactive streaming) no guarantee on throughput (affects video streaming) Streaming Audio and Video Daniel Zappala 5/39

Quality of Service network service that provides applications with performance guarantees bandwidth delay jitter: variability of inter-packet delays multimedia applications are typically delay sensitive but loss tolerant data applications are typically loss sensitive but delay tolerant Streaming Audio and Video Daniel Zappala 6/39

Internet Support for QoS how will the Internet support QoS? do nothing use application-level techniques to mitigate effects of delay and jitter add more bandwidth as needed use CDNs for stored content use application-layer multicast for live content integrated services per-flow virtual circuits to guarantee bandwidth, delay must upgrade all routers and hosts differentiated services per-class virtual circuits to guarantee bandwidth, delay to classes of traffic from an organization must upgrade all routers and hosts Streaming Audio and Video Daniel Zappala 7/39

Audio Compression 1 analog signal sampled at constant rate telephone: 8,000 samples/second CD music: 44,100 samples/second 2 each sample quantized (rounded) for example 256 possible values 3 each quantized value represented by bits for example 8 bits for 256 values 9,000 samples/second, 256 quantized values : 64,000 bps 4 receiver converts digital data back to analog signal, some quality reduction typical rates CD: 1.411 Mbps MP3: 96, 128, 160 kbps VoIP: 14 kbps Streaming Audio and Video Daniel Zappala 8/39

Video Compression video is a sequence of images displayed at a constant rate for example 24 frames/second each frame is divided into an array of pixels each pixel is represented by some bits can eliminate spatial and temporal redundancy in and between frames example video rates MPEG 1 (CD-ROM): 1.5 Mbps MPEG 2 (DVD): 3-6 Mbps MPEG 4 (Internet): < 1 Mbps layered video hierarchical encoding into layers additional layers produce increasing resolution send number of layers that path to receiver can handle Streaming Audio and Video Daniel Zappala 9/39

Streaming Stored Audio and Video applications make the best out of best-effort service client buffering use UDP instead of TCP use multiple encodings and select the best that can be delivered media player responsibilities remove jitter decompress stream conceal errors user controls: pause, rewind, fast forward Streaming Audio and Video Daniel Zappala 10/39

Typical Streaming Architecture Streaming Audio and Video Daniel Zappala 11/39

Client Buffering playout delay compensates for delay, jitter need adequate buffer size to prevent draining the buffer Streaming Audio and Video Daniel Zappala 12/39

UDP vs TCP UDP server sends at rate appropriate for client (often ignores congestion control) send rate = encoding rate = constant rate fill rate = constant rate - packet loss short playout delay (2-5 seconds) to compensate for network delay jitter recover errors if time permits TCP send at maximum possible rate under TCP: congestion control fill rate fluctuates due to TCP congestion control need a larger playout delay to smooth TCP delivery rate HTTP/TCP passes more easily through firewalls Streaming Audio and Video Daniel Zappala 13/39

Content Distribution Networks serving stored video high bandwidth costs potential for delay and loss the greater the separation between client and server a CDN replicates content at hundreds of servers servers located in lower-tier ISPs, clients for each client CDN delivers content from the best server, e.g. one in the same ISP Streaming Audio and Video Daniel Zappala 14/39

CDN Example origin server links to CDN servers for objects it wants CDN to distribute CDN name server returns IP address of CDN server closest to the requesting host: uses a network map in this example, using CDN to distribute images Streaming Audio and Video Daniel Zappala 15/39

Provisioning and Dimensioning provide bandwidth to eliminate queueing delay and loss bandwidth provisioning: given a topology, determine the capacity required on all links to meet performance requirements network dimensioning: design a topology (place routers, create links, assign bandwidth to links) to meet performance requirements provisioning process model traffic between network end points (e.g. arrival rate of users, arrival rate of packets for a given application) define performance requirements develop a model to predict performance given a workload find a minimal cost bandwidth allocation that will meet all user requirements who will pay the ISPs to install sufficient bandwidth? will ISPs cooperate to ensure the entire path is properly provisioned? Streaming Audio and Video Daniel Zappala 16/39

RTSP: User Control RFC 2326 client-server, application layer protocol user can pause, rewind, fast forward, index, etc does not define how media is streamed over network: packet format transport protocol used client buffering messages are out-of-band with respect to the streaming media: port 554 Streaming Audio and Video Daniel Zappala 17/39

RTSP Example Streaming Audio and Video Daniel Zappala 18/39

RTSP Description File Example <title>twister</title> <session> <group language=en lipsync> <switch> <track type=audio e="pcmu/8000/1" src = "rtsp://audio.example.com/twister/audio.en/lo <track type=audio e="dvi4/16000/2" pt="90 DVI4/8000/1" src="rtsp://audio.example.com/twister/audio.en/hifi </switch> <track type="video/jpeg" src="rtsp://video.example.com/twister/video"> </group> </session> Streaming Audio and Video Daniel Zappala 19/39

RTSP Protocol Example C: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0 Transport: rtp/udp; compression; port=3056; mode=play S: RTSP/1.0 200 1 OK Session 4231 C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=0- C: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=37 C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 S: 200 3 OK Streaming Audio and Video Daniel Zappala 20/39

Internet Phone Example streaming audio: alternating talk spurts, silent periods packets generated only during talk spurts talk spurt = 64 kbps sample every 20 ms: 160 bytes per packet send packets using UDP ideally, during a talk spurt a packet arrives every 20ms and you play it loss varying delay current applications must make the best of best-effort service Streaming Audio and Video Daniel Zappala 21/39

Effects of Loss and Delay loss can be tolerated, based on encoding and concealing methods (e.g. FEC) excessive loss (10 to 20%) is rare, but deadly delay must be less than 400 ms less than 150 ms is ideal jitter packets experience different amounts of queueing delay can be eliminated with buffering, but this increases delay Streaming Audio and Video Daniel Zappala 22/39

Coping With Delay use buffering to compensate for delay, jitter play packets from the buffer at a certain rate want to prevent draining the buffer too early want to prevent delaying the packets too much: 400 ms maximum, but less is better Streaming Audio and Video Daniel Zappala 23/39

Fixed Playout Delay play packet i at t i + q i t i : time the packet was generated small q: better real-time interaction large q: fewer missed playouts Streaming Audio and Video Daniel Zappala 24/39

Adaptive Playout Delay goal: minimize playout delay, infrequent missed playouts for start of talk spurt, play packet i at p i = t i + d i + Kv i d i = estimate of delay (EWMA) v i = estimate of delay variation (EWMA) K = constant, e.g. K = 4 for other packets, p j = t j + p i t i use the same offset from t as beginning of talk spurt application may denote start of talk spurt because playout delay is adaptive, silent periods may be compressed or elongated Streaming Audio and Video Daniel Zappala 25/39

Coping With Loss Forward Error Correction (FEC): add some redundant data to the stream for every group of n packets, create a redundant packet: exclusive-or of the n original packets send n + 1 packets, increasing bandwidth by 1/n receiver can reconstruct the stream with any n packets must wait for n packets before playout trade-offs larger n: less bandwidth smaller n: shorter playout delay, smaller chance of two packets out of n being lost simple version of FEC: see RFC 2733 Streaming Audio and Video Daniel Zappala 26/39

FEC With Lower Quality Redundant Data add lower-resolution audio to each packet substitute lower quality when needed: Free Phone, RAT many other more complex kinds of FEC available Streaming Audio and Video Daniel Zappala 27/39

Interleaving interleave smaller (5 ms) pieces among packets if a packet is lost, still have most of the stream no redundancy overhead, but added playout delay Streaming Audio and Video Daniel Zappala 28/39

RTP: Real-Time Protocol specifies packet structure for audio and video streams payload identification sequence number timestamp used for interoperability between multimedia applications runs on top of UDP RFC 1889 Streaming Audio and Video Daniel Zappala 29/39

RTP Header payload type (7 bits): type of encoding, e.g. PCM, GSM, JPEG, MPEG audio, MPEG video sequence number (16 bits): detect packet loss and order packets timestamp (32 bits): sampling time of first byte SSRC (32 bits): source of RTP stream - allows multiple sources per session Streaming Audio and Video Daniel Zappala 30/39

RTCP: Real-Time Control Protocol works with RTP each participant in RTP session periodically transmits RTCP control packets to other participants statistics from sender and receiver on session quality use feedback to control performance, e.g. congestion control, type of encoding packets sent using same mechanism as data (unicast or multicast) Streaming Audio and Video Daniel Zappala 31/39

RTCP Packets source description: sender s name, host name, email address, SSRC of associated RTP stream sender report: SSRC of RTP stream, current time, number of packets sent, number of bytes sent receiver report: fraction of packets lost, last sequence number, average jitter Streaming Audio and Video Daniel Zappala 32/39

RTCP Extras synchronization of different media streams in an RTP session timestamps in audio and video streams tied to sampling clocks, not wall-clock time each RTCP sender report contains timestamp of most recent RTP packet and wall-clock time of when it was created bandwidth scaling RTCP will limit control traffic to 5% e.g. if sender transmits video at 2 Mbps, then RTCP tries to use 100 kbps 75% of rate for receivers, 25% to sender receivers try to share 75% equally receiver determines RTCP transmission period by dividing average RTCP packet size by allocated rate Streaming Audio and Video Daniel Zappala 33/39

SIP: Session Initiation Protocol vision all telephone and video conference calls take place over the Internet people are identified by names and email addresses rather than by phone numbers you can reach the person you are calling wherever she is on the Internet call setup start and end call agree on media type and encoding map name and email to IP address call management add new streams during call change encoding during call invite other users to call transfer and hold calls Streaming Audio and Video Daniel Zappala 34/39

SIP Call Setup example assumes Alice knows Bob s IP address Alice provides port number, IP address, preferred encoding Bob responds with new port number, IP address, preferred encoding SIP messages can use TCP or UDP, default port 5060 Streaming Audio and Video Daniel Zappala 35/39

SIP Extras encoding negotiation may not have requested encoder may prefer a different one respond with 606 Not Acceptable and list encoders sender can send a new invitation with new encoder can reject a call busy, gone, it payment required, forbidden media can use RTP or any other protocol syntax is similar to HTTP Streaming Audio and Video Daniel Zappala 36/39

Name Translation and User Location need to map user name or email address to IP address mobility changing IP addresses due to DHCP many different IP devices per user call forwarding SIP registrar: clients register to provide current location and IP address (similar to instant messaging) SIP proxy: find callee on behalf of caller (similar to DNS server) Streaming Audio and Video Daniel Zappala 37/39

Session Initiation Example Streaming Audio and Video Daniel Zappala 38/39

Take-Home Points stored versus real-time streaming stored: lower delay expectation real-time: very low delay required for interactivity use CDN, provisioning to provide low enough loss, high enough bandwidth for good quality streaming real-time applications are typically delay sensitive but loss tolerant use buffering and adaptive playout delay to conceal delay, jitter use FEC to conceal loss functionality provided by RTP - RTCP - SIP RTP: packet format for compatibility RTCP: sender and receiver reports SIP: session initiation Streaming Audio and Video Daniel Zappala 39/39