Page 1. Outline / Computer Networking : 1 st Generation Commercial PC/Packet Video Technologies

Similar documents
Internet Video Delivery. Professor Hui Zhang

Πολυμεσικό Υλικό στο Internet: Συγχρονισμός, Επεξεργασία και Διακίνηση

CS640: Introduction to Computer Networks. Application Classes. Application Classes (more) 11/20/2007

Streaming (Multi)media

Chapter 7 Multimedia Networking

CS 218 F Nov 3 lecture: Streaming video/audio Adaptive encoding (eg, layered encoding) TCP friendliness. References:

Multimedia Networking

Mohammad Hossein Manshaei 1393

The Transport Layer: User Datagram Protocol

Digital Asset Management 5. Streaming multimedia

Multimedia: video ... frame i+1

Outline. QoS routing in ad-hoc networks. Real-time traffic support. Classification of QoS approaches. QoS design choices

Chapter 28. Multimedia

CSC 4900 Computer Networks: Multimedia Applications

Week-12 (Multimedia Networking)

Networking Applications

Service/company landscape include 1-1

Chapter 9. Multimedia Networking. Computer Networking: A Top Down Approach

Advanced Networking Technologies

IMPROVING LIVE PERFORMANCE IN HTTP ADAPTIVE STREAMING SYSTEMS

Multimedia Networking

CSC 401 Data and Computer Communications Networks

Streaming Technologies Delivering Multimedia into the Future. May 2014

Tema 0: Transmisión de Datos Multimedia

MULTIMEDIA I CSC 249 APRIL 26, Multimedia Classes of Applications Services Evolution of protocols

Including location-based services, IoT, and increasing personalization... Service models and delivery architectures

Adaptive Video Acceleration. White Paper. 1 P a g e

Achieving Low-Latency Streaming At Scale

Multimedia Applications: Streaming. Hamid R. Rabiee Mostafa Salehi, Fatemeh Dabiran, Hoda Ayatollahi Spring 2011

irtc: Live Broadcasting

Characterizing Netflix Bandwidth Consumption

Introduction to LAN/WAN. Application Layer 4

Multimedia! 23/03/18. Part 3: Lecture 3! Content and multimedia! Internet traffic!

Part 3: Lecture 3! Content and multimedia!

BUILDING LARGE VOD LIBRARIES WITH NEXT GENERATION ON DEMAND ARCHITECTURE. Weidong Mao Comcast Fellow Office of the CTO Comcast Cable

Video Streaming and Media Session Protocols

CS 457 Multimedia Applications. Fall 2014

Measuring Over-the-Top Video Quality

Computer Networks. Wenzhong Li. Nanjing University

Multimedia Networking

Cobalt Digital Inc Galen Drive Champaign, IL USA

internet technologies and standards

Chapter 2 Application Layer

ADAPTIVE STREAMING. Improve Retention for Live Content. Copyright (415)

SamKnows test methodology

4 rd class Department of Network College of IT- University of Babylon

Multimedia in the Internet

in the Internet Andrea Bianco Telecommunication Network Group Application taxonomy

Chapter 20: Multimedia Systems

Chapter 20: Multimedia Systems. Operating System Concepts 8 th Edition,

Anatomy of a DASH Client. Ali C. Begen, Ph.D.

Whitepaper. Building Unicast IPTV services leveraging OTT streaming technology and adaptive streaming. Fraunhofer FOKUS & Zattoo

It s Not the Cost, It s the Quality! Ion Stoica Conviva Networks and UC Berkeley

Chapter 7: Multimedia Networking

Mohammad Hossein Manshaei 1393

Emulation of Dynamic Adaptive Streaming over HTTP with Mininet

Internet Networking recitation #13 HLS HTTP Live Streaming

CS 528 Mobile and Ubiquitous Computing Lecture 4a: Playing Sound and Video Emmanuel Agu

Lecture 9: Media over IP

Mobile Cloud Computing & Adaptive Streaming

Guaranteeing Video Quality

CSCD 433/533 Advanced Networks Fall Lecture 14 RTSP and Transport Protocols/ RTP

Lec 17 Multimedia Transport: RTP, TCP/HTTP and QUIC

Content distribution networks

Review of Previous Lecture

How to achieve low latency audio/video streaming over IP network?

ADAPTIVE STREAMING AND CONVERGED MANAGEMENT STRATEGY IN MULTISCREEN VIDEO SERVICE IMPLEMENTATION Duncan Potter, Goran Appelquist Edgeware AB

Steady stream of bits 9/6/2014 5:02:53 PM. Edward Jackson

An Experimental Evaluation of Rate Adaptation Algorithms in Adaptive Streaming over HTTP

UNIVERSITY OF CALGARY. Parallel HTTP for Video Streaming in Wireless Networks. Mohsen Ansari A THESIS SUBMITTED TO THE FACULTY OF GRADUATE STUDIES

Optimized Strategies for Real-Time Multimedia Communications from Mobile Devices

UNIVERSITY OF OSLO Department of informatics. Investigating the limitations of video stream scheduling in the Internet. Master thesis.

HTTP Adaptive Streaming Enhancements for Large-Scale Deployments

Multimedia Networking

IxLoad Data Streaming (RTSP, RTP)

CSC 4900 Computer Networks: End-to-End Design

Scaling Internet TV Content Delivery ALEX GUTARIN DIRECTOR OF ENGINEERING, NETFLIX

Multimedia Networking

Quality of Service. Qos Mechanisms. EECS 122: Lecture 15

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

Today. March 7, 2006 EECS122 Lecture 15 (AKP) 4. D(t) Scheduling Discipline. March 7, 2006 EECS122 Lecture 15 (AKP) 5

ITEC310 Computer Networks II

Lecture 27 DASH (Dynamic Adaptive Streaming over HTTP)

ITTC Communication Networks The University of Kansas EECS 780 Multimedia and Session Control

Chapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach

Octoshape. Commercial hosting not cable to home, founded 2003

Application Layer Introduction; HTTP; FTP

Multimedia Networking

QoE Characterization for Video-On-Demand Services in 4G WiMAX Networks

Confused, Timid, and Unstable: Picking a Video Streaming Rate is Hard

QoE-aware Traffic Shaping for HTTP Adaptive Streaming

Minimizing Server Throughput for Low-Delay Live Streaming in Content Delivery Networks. F. Zhou, S. Ahmad, E. Buyukkaya, R. Hamzaoui and G.

CMSC 322 Computer Networks Applications and End-To- End

Measuring KSA Broadband

Scaling Adaptive Streaming Systems with Network Support

Android Player User Guide

Distributed Systems. 21. Content Delivery Networks (CDN) Paul Krzyzanowski. Rutgers University. Fall 2018

CS November 2018

CS 3516: Advanced Computer Networks

Protocol Layers, Security Sec: Application Layer: Sec 2.1 Prof Lina Battestilli Fall 2017

Transcription:

Outline 15-441/15-641 Computer Networking Lecture 18 Internet Video Delivery Peter Steenkiste Slides by Professor Hui Zhang Background Technologies: - HTTP download - Real-time streaming - HTTP streaming - Runtime adaptation Fall 2016 www.cs.cmu.edu/~prs/15-441-f16 1 2 Bad Things to Avoid in Streaming Video 1990 2004: 1 st Generation Commercial PC/Packet Video Technologies Simple video playback, no support for rich app Not well integrated with Web browser No critical mass of compelling content over Internet No enough broadband penetration 3 4 Page 1

2005: Beginning of Internet Video Era 2006 2013: Internet Video Going Prime Time 100M streams first year Premium Sports Webcast on Line 5 2006 2007 2008 2009 2010 2011 6 Today Internet Video on Multiple Devices Internet Video Data-plane Video Source Screen Encoders & Video Servers CMS and Hosting Content Delivery Networks (CDN) Video Player ISP & Home Net 7 8 Page 2

Internet Video Requirements Smooth/continuous playback Elasticity to startup delay: need to think in terms of RTTs Elasticity to throughput - Multiple encodings: 200Kbps, 1Mbps, 2 Mbps, 6 Mbps, 30Mbps Multiple classes of applications with different requirements 2, N-way conference Delay Bandwidth Examples < 200 ms 4 kbps audio only, 200 kbps 5 Mbps video Skype, Google hangout, Polycom, Cisco Short form VoD < 1-5s 300 kbps 2 Mbps & higher Youtube Long form VoD < 5-30s 500 kbps 6 Mbps & higher Netflix, Hulu, Qiyi, HBOGO Live Broadcast < 5-10s 500 kbps 6 Mbps & higher WatchESPN, MLB Linear Channel < 60s 500 kbps 6 Mbps & higher DirectTV Live 9 Video Data Unlike audio, video compression is essential: - Too much data to begin with, but - Compression ratios from 50 to 500 Takes advantage of spatial, temporal, and perceptual redundancy Temporal redundancy: Each frame can be used to predict the next -> leads to data dependencies To break dependencies, we insert "I frames" or keyframes that are independently encoded. - Allows us to start playback from middle of a file Video data is highly structured Data dependency Credit: http://www.icsi.berkeley.edu/pet/gifs/mpeg_gop.gif 10 Terminology Challenges Bitrate - Information stored/transmitted per unit time - Usually measured in kbps to mbps - Ranges from 200Kbps to 30 Mbps Resolution - Number of pixels per frame - 160x120 to 1920x1080 (1080p) to 4096x2160 (4K) FPS (frames per second) - 24, 25, 30, or 60 TCP/UDP/IP suite provides best-effort - no guarantees on expectation or variance of packet delay Streaming applications delay of 5 to 10 seconds is typical and has been acceptable - but performance deteriorate if links are congested Real-Time Interactive requirements on delay and its jitter have been satisfied by over-provisioning (providing plenty of bandwidth) - what will happen when the load increases? 11 12 Page 3

First Generation: HTTP Download Browser requests the object(s) and after their reception pass them to the player for display - No pipelining Simple architecture: browser and player are separate applications First Generation Enhancement: HTTP Progressive Download (2) Alternative: set up connection between server and player; player takes over Web browser requests and receives a Meta File (a file describing the object) instead of receiving the file itself; Browser launches the appropriate Player and passes it the Meta File; Player sets up a TCP connection with Web Server and downloads or streams the file 13 14 Meta file requests Buffering Continuous Media Jitter = variation from ideal timing Media delivery must have very low jitter - Video frames every 30ms or so - Audio: ultimately samples need <1ns jitter But network packets have much more jitter that that! Solution: buffers - Fill buffer over the network with best effort service - Drain buffer via low-latency, local access 15 16 Page 4

HTTP Progressive Download Streaming, Buffers and Timing With helper application doing the download, playback can start immediately... Or after sufficient bytes are buffered Sender sends at maximum possible rate under TCP; retransmit when error is encountered; Player uses a much larger buffer to smooth delivery rate of TCP File Position "Bad": Buffer overrflows "Good" Region: smooth playback Buffer Duration Buffer Size Max Buffer Size Max Buffer Duration = allowable jitter "Bad": Buffer underflows and playback stops Buffer almost empty 17 Time 18 Drawbacks of HTTP Progressive Download 2nd Generation: Real-Time Streaming HTTP connection keeps data flowing as fast as possible to user's local buffer - May download lots of extra data if user does not watch the entire video - TCP file transfer can use more bandwidth than necessary Mismatch between whole file transfer and stop/start/seek playback controls. - However: player can use file range requests to seek to video position Cannot change video quality (bit rate) to adapt to network congestion 19 Replace HTTP + TCP by custom streaming protocol Application layer protocols - gets around problems with HTTP Allows a choice of UDP vs. TCP Multimedia 20 Page 5

Example: Real Time Streaming Protocol (RTSP) RTSP Operation For user to control display: rewind, fast forward, pause, resume, etc Out-of-band protocol (uses two connections, one for control messages (Port 554) and one for media stream) RFC 2326 permits use of either TCP or UDP for the control messages connection, sometimes called the RTSP Channel As before, meta file is communicated to web browser which then launches the Player; Player sets up an RTSP connection for control messages in addition to the connection for the streaming media 21 22 RTSP Exchange Example RTSP Media Stream C: SETUP rtsp://audio.example.com/xena/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/xena/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=0 (npt = normal play time) C: PAUSE rtsp://audio.example.com/xena/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=37 C: TEARDOWN rtsp://audio.example.com/xena/audio.en/lofi RTSP/1.0 Session: 4231 S: 200 3 OK Stateful Server keeps track of client's state Client issues Play, Pause,..., Close Steady stream of packets - UDP - lower latency - TCP - may get through more firewalls, reliable 23 24 Page 6

Drawbacks of RTSP, RTMP 3rd Generation: HTTP Streaming Web downloads are typically cheaper than streaming services offered by CDNs and hosting providers More complex servers Not commodity traffic (at the time) Streaming (non-http) often blocked by routers UDP itself often blocked by firewalls HTTP delivery can use ordinary proxies and caches Conclusion: hard to adapt the Internet to streaming applications Alternative: adapt media delivery to the Internet Other terms for similar concepts: Adaptive Streaming, Smooth Streaming, HTTP Chunking Client-centric architecture with stateful client and stateless server - Standard server: Web servers - Standard Protocol: HTTP - Session state and logic maintained at client Video is broken into multiple chunks Chunks begin with a keyframe so each chunk is independent of other chunks A series of HTTP progressive downloads of chunks Playing chunks in sequence gives seamless video 26 27 Adaptive Bit Rate with HTTP Streaming HTTP Chunking Protocol Encode video at different levels of quality/bandwidth Client can adapt by requesting different sized chunks Chunks of different bit rates must be synchronized - All encodings have the same chunk boundaries and all chunks start with key frames, so you can make smooth splices to chunks of higher or lower bit rates Client HTTP Adaptive Player HTTP GET HTTP GET A1 Web browser Server A1 B1 A1 A2 Cache B1 Web server A1 A2 B1 Web server HTTP HTTP TCP TCP 28 29 Page 7

Client HTTP Adaptive Player Web browser HTTP TCP Reasons for Wide Adoption Client-driven control enables server/cdn switch CDN Infrastructure A1 B1 A1 A2 Cache B1 Web server HTTP TCP A1 A2 B1 Web server Advantages of HTTP Streaming Easy to deploy: it's just HTTP! - Work with existing caches/proxies/cdn/firewall Fast startup by downloading lowest quality/smallest chunk Bitrate switching is seamless Many small files - Small with respect to the movie size - Large with respect to TCP 5-10 seconds of 1Mbps 3Mbps 0.5MB 4MB per chunk Middlebox/firewall penetration Reuse the CDN infrastructure 30 31 Example of HTTP Streaming Protocols Apple HLS: HTTP Live Streaming Microsoft IIS Smooth Streaming: part of Silverlight Adobe HDS: HTTP Dynamic Streaming DASH: Dynamic Adaptive Streaming over HTTP CharlieBitMe_10Mb ps.mp4 Mezzanine file Smooth Streaming Encoders 5Mbps.MP4 1Mbp s.mp4 50 0. MP 4.ISM.ISMC Server & Client Manifest files IIS Server with Smooth Streaming Extension Fetch Client Manifest File HTTP GET http://video.foo.com/charliebiteme.ism/qualityle vels(500000)/fragments(video=0) 32 HTTP GET http://video.foo.com/charliebiteme.ism/qualitylevel s(1000000)/fragments(video=300000) 33 Page 8

Example of HLS Meta Data Internet Video Today Video Source Video/Content Broker Screen Content Provider Encoders & Video Servers CMS and Hosting Multiple CDNs Client Video Player ISP & Home Net ISPs 34 35 Concluding Remarks NOT all contents are the same Video is fundamentally different from transaction traffic We are at the very beginning of Internet video revolution video is more than 60% Internet traffic today, video will be more than 90% Internet traffic in 2-3 years What is next? Premium video on big screens zero tolerance for poor quality: 4K + 3D video Mobile video Technical challenges Quality, scalability, mobility, security, usability 36 Page 9