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

Similar documents
Scaling Adaptive Streaming Systems with Network Support

HTTP Adaptive Streaming Enhancements for Large-Scale Deployments

Algorithms and Formats for Adaptive Streaming

Interoperability Quest: OTT Video, WebApps and CE

Adaptive Streaming of Traditional and Omnidirectional Media

Internet Video Delivery. Professor Hui Zhang

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

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

A TV platform jelen kihívásai és a fejlődés iránya. Horváth Ede 2017 October 05.

Achieving Low-Latency Streaming At Scale

IMPROVING LIVE PERFORMANCE IN HTTP ADAPTIVE STREAMING SYSTEMS

MPEG's Dynamic Adaptive Streaming over HTTP - An Enabling Standard for Internet TV. Thomas Stockhammer Qualcomm Incorporated

A Joint SLC/RealEyes Production.

Streaming Video over HTTP with Consistent Quality

How Libre can you go?

Guaranteeing Video Quality

Measuring Over-the-Top Video Quality

Designing the ideal video streaming QoE analysis tool

Video Developer Report 2017

QoE-aware Traffic Shaping for HTTP Adaptive Streaming

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

Mobile Cloud Computing & Adaptive Streaming

Cobalt Digital Inc Galen Drive Champaign, IL USA

Characterizing Netflix Bandwidth Consumption

SamKnows test methodology

Watching the Olympics live over the Internet?

Widevine DRM for HLS. version 0.9

Video Coding and Delivery at Scale

Contents. About Objective Quality Benchmarks 15 Overview of Objective Benchmarks and Tools 16

DASH trial Olympic Games. First live MPEG-DASH large scale demonstration.

A Converged Content Delivery Platform for IP and QAM Video

What Happens When HTTP Adaptive Streaming Players Compete for Bandwidth?

Lecture 27 DASH (Dynamic Adaptive Streaming over HTTP)

Mohammad Hossein Manshaei 1393

Cisco Media Origination System

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

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

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

MULTISCREEN DELIVERY SOLUTION

Multimedia: video ... frame i+1

Sky Italia - Operation Evolution. London March 20th, 2018

MULTISCREEN DELIVERY SOLUTION

A Seamless Web Integration of Adaptive HTTP Streaming

CSC 401 Data and Computer Communications Networks

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

Optimized Strategies for Real-Time Multimedia Communications from Mobile Devices

Chapter 28. Multimedia

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

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

INTRODUCTION FIGURE. 1: SUPPORT OF DRMS ACROSS DIFFERENT DEVICES.

Neural Adaptive Content-aware Internet Video Delivery. Hyunho Yeo, Youngmok Jung, Jaehong Kim, Jinwoo Shin, Dongsu Han

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

Octoshape. Commercial hosting not cable to home, founded 2003

AWS Elemental MediaPackage. User Guide

SET Expo Nova TV por Assinatura. A Tecnologia por traz da Harmonic Inc. All rights reserved worldwide.

Our Market. Overwhelming Growth of Video & It s Still Early

Stakeholders Forum on Quality of Service and Consumer Experience (Nairobi, Kenya, November 2015)

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

Week-12 (Multimedia Networking)

Important Encoder Settings for Your Live Stream

White Paper: HTML5 Streaming (Plug-in Free Web Viewer) hanwhasecurity.com

OpenCache. A Platform for Efficient Video Delivery. Matthew Broadbent. 1 st Year PhD Student

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

Digital Asset Management 5. Streaming multimedia

nanostream WebRTC.live

Content Protection for HTTP Live Streaming

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

Emulation of Dynamic Adaptive Streaming over HTTP with Mininet

ADDRESSING IP VIDEO ADAPTIVE STREAM LATENCY AND VIDEO PLAYER SYNCHRONIZATION JEFFREY TYRE - ARRIS WENDELL SUN - VIASAT

Dynamic Adaptive Streaming over HTTP (DASH) using feedback linearization: a comparison with a leading Italian TV operator

internet technologies and standards

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

Transitioning Video to All-IP IP Video Better Than Broadcast. Fabio Souza Cisco Video Group May/2017

Optimal Design of Encoding Profiles for ABR Streaming

DASH IN ATSC 3.0: BRIDGING THE GAP BETWEEN OTT AND BROADCAST

The Guide to Best Practices in PREMIUM ONLINE VIDEO STREAMING

Wowza Streaming Engine

MEKMEDIA VIDEO CLOUD MEKmedia GmbH

TechNote AltitudeCDN Multicast+ and OmniCache Support for Citrix

ADAPTIVE STREAMING AT. Justin Ruggles Lead Engineer, Transcoding & Delivery

Adopting DASH and Multi-DRM for Video Delivery An Obscure Change in Browser Architecture Presents a Great Opportunity for Change

Codecs in 2018 and Beyond

Service Mesh and Microservices Networking

TotalCode Enterprise is an ideal solution for video-on-demand content preparation for any screen anywhere.

TCP and BBR. Geoff Huston APNIC

SOLUTION GUIDE FOR BROADCASTERS

WHITE PAPER. SECURE PEER ASSIST and how it works in THE BLUST SYSTEM

Antik Media Streamer. End-to-End TV Everywhere delivery system. Key features

Project Details. Jiasi Chen Lectures: Monday 1:10-2pm in Sproul 2343 TA: Ryan Holt Lab: Tuesday 7-10pm in Chung 133

HTTP Adaptive Streaming

Assuring Media Quality in IP Video Networks. Jim Welch IneoQuest Technologies

Multimedia Systems Project 3

Performance Characterization of a Commercial Video Streaming Service. Mojgan Ghasemi, Akamai Technologies - Princeton University

Project Details. Jiasi Chen CS 179i: Project in Computer Science (Networks) Lectures: Monday 3:10-4pm in Spieth 1307

A Comparative Case Study of HTTP Adaptive Streaming Algorithms in Mobile Networks

Lecture 21. Reminders: Homework 6 due today, Programming Project 4 due on Thursday Questions? Current event: BGP router glitch on Nov.

Video Quality for Live Adaptive Bit-Rate Streaming: Achieving Consistency and Efficiency

CONTENTS. System Requirements FAQ Webcast Functionality Webcast Functionality FAQ Appendix Page 2

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

The Dash for HEVC Nov 2012 Ittiam Systems Pvt Ltd Contact us at

Transcription:

Anatomy of a DASH Client Ali C. Begen, Ph.D. http://ali.begen.net

Video Delivery over HTTP Enables playback while still downloading Server sends the file as fast as possible Pseudo Streaming Enables seeking via media indexing Server paces transmission based on encoding rate Content is divided into short-duration chunks Enables live streaming and ad insertion Adaptive Streaming Multiple versions of the content are created Enables to adapt to network and device conditions Progressive Download Chunked Streaming 2

Dead, Surviving, Maturing and Newborn Technologies Move Adaptive Stream (Long gone) http://www.movenetworks.com Microsoft Smooth Streaming (Legacy) http://www.iis.net/expand/smoothstreaming Adobe Flash (Almost dead) http://www.adobe.com/products/flashplayer.html Adobe HTTP Dynamic Streaming (Legacy) http://www.adobe.com/products/httpdynamicstreaming Apple HTTP Live Streaming (The elephant in the room) http://tools.ietf.org/html/draft-pantos-http-live-streaming (Soon to be an RFC) MPEG DASH and CMAF (The standards) http://mpeg.chiariglione.org/standards/mpeg-dash http://mpeg.chiariglione.org/standards/mpeg-a/common-media-application-format 3

Adaptive Streaming over HTTP Multi-rate Encoder Packager Origin (HTTP) Server Server Storage Content Ingest (Live or Pre-captured) HTTP GET Request Response Media Buffer Streaming Client Decoding and Presentation 4

Scope of MPEG DASH Shown in Red MPD... MPD... MPD... MPD Transport Control Engine MPD Parser Segment Parser Media Engines HTTP 1.1 HTTP Client HTTP Server DASH Client 5

DASH Manifest Media Presentation Description (MPD) List of Accessible Segments and Their Timings MPD Period id = 1 start = 0 s Period id = 2 start = 100 s Period id = 3 start = 300 s Period id = 4 start = 850 s Period id = 2 start = 100 s Adaptation Set 0 subtitle turkish Adaptation Set 1 video Adaptation Set 2 audio english Adaptation Set 3 audio italian Adaptation Set 1 BaseURL=http://abr.rocks.com/ Representation 1 Rate = 500 Kbps Representation 2 Rate = 1 Mbps Representation 3 Rate = 2 Mbps Representation 4 Rate = 3 Mbps Representation 3 Rate = 2 Mbps Resolution = 720p Segment Info Duration = 10 s Template: 3/$Number$.mp4 Segment Access Initialization Segment http://abr.rocks.com/3/0.mp4 Media Segment 1 start = 0 s http://abr.rocks.com/3/1.mp4 Media Segment 2 start = 10 s http://abr.rocks.com/3/2.mp4 Splicing of arbitrary content like ads Selection of components/tracks Selection of representations Well-defined media format Chunks with addresses and timing 6

Smart Clients - Client fetches and parses the manifest - Client uses the OS-provided HTTP stack (HTTP may run over TCP or QUIC) - Client uses the required decryption tools for the protected content HTTP Server Request Response (One can also multicast media segments) Client Client monitors and measures - Size of the playout buffer (both in bytes and seconds) - Chunk download times and throughput - Local resources (CPU, memory, window size, etc.) - Dropped frames Client performs adaptation Client measures and reports metrics for analytics 7

Tradeoffs in Adaptive Streaming Overall quality Quality stability Proximity to live edge Stalls Zapping/seeking time 8

Types of Browser-Based Playback Type 1: Minimum control architectural model for HTML5 support of adaptive streaming where manifest and heuristics are managed by the user agent Type 2: Adaptation control architectural model for HTML5 support of adaptive streaming providing script manageable features Type 3: Full media control architectural model for HTML5 support of adaptive streaming allowing script to explicitly send the media segments (MSE + EME) Source: CTA WAVE 9

MSE Support in Web Browsers Source: http://caniuse.com/#search=mse 10

DRM Support on Desktop Browsers Browser OS EME/CDM Flash Player NPAPI/ Silverlight 5 Chrome Win Widevine (Yes) No OS X (Yes) No Linux (Yes) No Firefox Win Widevine Yes No OS X Yes No Linux Yes No Safari > OS X Yosemite (FairPlay) Yes Yes < OS X Yosemite No Yes Yes IE/Edge < Win 7 No Yes Yes Win 10 PlayReady Yes No 11

DRM Support on Mobile Platforms Platform Browser Native App / DRM ios No MSE/EME yet HLS (AES-128 CBC) via <video> Native SDK and WebView: FairPlay Android MSE/EME Native + Android SDK (MediaDRM APIs) (Widevine + OMA v2) ExoPlayer Native + WebView with Widevine Windows 10 MSE/EME WebViews/Hosted Web Apps with PlayReady 12

Streaming over HTTP The Promise Leverage tried-and-true Web infrastructure for scaling Video is just ordinary Web content! Leverage tried-and-true TCP Congestion avoidance Reliability No special QoS for video It should all just work J 13

Does It Just Work? When a streaming client competes with other types of traffic, mostly yes When streaming clients compete with each other, we begin to see problems: The clients adaptation behaviors interact with each other The competing clients form an accidental distributed control-feedback system Unexpected behaviors will result in places like Multiple screens within a household ISP access and aggregation links Small cells in stadiums and malls 14

Demystifying a Streaming Client A Single Microsoft Smooth Streaming Client under a Controlled Environment 5 Bitrate (Mbps) 4 3 2 1 0 Steady State Periodic requests Buffer-filling State Back-to-back requests 0 50 100 150 200 250 300 350 400 450 500 Time (s) Available Bandwidth Requests Chunk Tput Average Tput Reading: An experimental evaluation of rate-adaptation algorithms in adaptive streaming over HTTP, ACM MMSys 2011 15

A Simple Test Scenario 10 (Commercial) Streaming Clients Sharing a 10 Mbps Link Requested Bitrate (Kbps) 1400 1200 1000 800 600 400 200 0 0 100 200 300 400 500 Time (s) Client1 Client2 Client3 16

Selfishness Hurts Everyone Viewer Experience Statistics Source: Conviva Viewer Experience Report, 2015 17

Inner and Outer Control Loops Manifest Media HTTP Origin Module Request Response Manifest Resource Monitors Streaming Application TCP Sender HTTP Server Data / ACK TCP Receiver Streaming Client There could be multiple TCPs destined to the same or different servers 18

Streaming with Multiple TCP Connections Using multiple concurrent TCPs Should not be used to greedily get a larger share of the bandwidth Can help mitigate head-of-line blocking Allows fetching multiple (sub)segments in parallel Allows to quickly abandon a non-working connection without having to slow-start a new one System performance deteriorates very quickly if many clients adopt this approach without limiting the aggregated bandwidth consumption 19

Understanding the Root Cause Two Competing Clients Depending on the timing of the ON periods: Unfairness, underutilization and/or instability may occur Clients may grossly overestimate their fair share of the available bandwidth Clients cannot figure out how much bandwidth to use until they use too much Reading: What happens when HTTP adaptive streaming players compete for bandwidth?, ACM NOSSDAV 2012 20

How to Solve the Issues? Fix the clients (Use a better algorithm like PANDA or BOLA) Solution Approaches Get support from the network (QoS in the core/edge, SDN, etc.) Enable a control plane (E.g., 23009-5 SAND) 21

Commercial OTT Issues Content format issues Each asset is copied to multiple media formats different video codecs different audio codecs different (regional) frame rates Cost to content creators and distributors Inefficiencies in CDNs and higher storage costs Platform issues Lack of consistent app behavior across platforms Varying video features, APIs and semantics across platforms Playback issues Codec incompatibility Partial profile support Switching bitrate glitches Audio discontinuities Ad splicing problems Long-term playback instability Request protocol deficiencies Memory problems, CPU weaknesses Scaling (display) issues Variable HDR support Unknown capabilities 22

That is Why We Need Analytics OS Vendor: Your Internet connection must be bad Service Provider: Your video or CDN provider must be slow Device/App Vendor: It must be the OS Video/CDN Provider: Your home network must be slow Consumer: The device or the app is slow 23

Netflix s Content-Based Encoding Method 24

Segments Have Different Complexities Quality Video Segment #1 Consistent Quality Video Segment #2 Equal Bitrate Allocation among Segments Bitrate 25

Adaptation Feature Does Not Deliver Consistent Quality Guidelines Limited Bitrate Variability to (Mostly) 10% So Far Segment Size Large variation in quality Segment Quality S Small variation in encoding bitrate Easy Moderate Easy Easy Easy Difficult Difficult Difficult Moderate Moderate Moderate Moderate 0 2 4 6 8 10 12 14 16 18 20 22 24 Q CBR Time (s) If there is something worse than having to watch a video at a lousy quality, it is to watch that video with varying quality 26

What if We Encode in a More Subtle Fashion? Segment Size Small variation in quality Segment Quality S Q VBR Easy Moderate Easy Easy Difficult Difficult Difficult Moderate Moderate Moderate Moderate Large variation in Easy encoding bitrate 0 2 4 6 8 10 12 14 16 18 20 22 24 Time (s) While we spend the same total amount of bits, we not only increase average quality but also reduce quality variation Note: HLS authoring spec for ATV allows 2x capping rate for VoD. For linear content, variability is limited to 10-25% range. 27

Generating VBR-encoded segments is easy, but streaming them is not! Content Aware Encoding Content Aware Streaming 28

Multiple Representations Naturally Enable Cherry-Picking 4 Mbps 3 Mbps 2 Mbps 1 Mbps 2 2 2 2 3 4 3 4 3 4 3 4 5 5 5 5 2.5 Mbps Network 5 4 3 2 1 HTTP Server Streaming Client Segment Size Segment Quality Q VBR S 0 2 4 6 8 10 Reading: Streaming video over HTTP with consistent quality, ACM MMSys 2014 Time (s) 29

Dimensions In-Stream vs. Across-Streams Same principle applies to both: In-stream: Temporal bit shifting between segments Across-streams: Bit shifting between streams sharing a bottleneck link Quality Video Segment #1 Quality Stream 1 (News) Consistent Quality Video Segment #2 Consistent Quality Stream 2 (Sports) Equal Bitrate Allocation among Segments Bitrate Equal Bitrate Allocation among Streams Bitrate Reading: Spending quality time with the Web video, IEEE Internet Comput., 2016 30

Any Questions?