Dynamic Adaptive Streaming over HTTP

Slides:



Advertisements
Similar presentations
Internet for multimedia content Yogendra Pal Chief Engineer, All India Radio.
Advertisements

Dynamic Adaptive Streaming over HTTP – Design Principles and Standards Thomas Stockhammer, Qualcomm DASHDASH.
NUS.SOC.CS Roger Zimmermann Project Create a DASH-compliant (Dynamic Adaptive Streaming over HTTP) streaming system.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 27 – DASH (Dynamic Adaptive Streaming over HTTP) Klara Nahrstedt Spring 2012.
Suphakit Awiphan, Takeshi Muto, Yu Wang, Zhou Su, Jiro Katto
Dynamic Adaptive Streaming over HTTP2.0. What’s in store ▪ All about – MPEG DASH, pipelining, persistent connections and caching ▪ Google SPDY - Past,
Video over ICN IRTF Interim Meeting Boston, MA Cedric Westphal.
CPSC Characteristics of Streaming Media Stored on the Web M. Li, M. Claypool, R. Kinicki, and J. Nichols To appear in ACM Transactions on Internet.
12/10/2006ConfidentialSlide 1 Video Streaming over UMTS: practical issues Stefan Rugel, Klaus Schäfer February 2008.
Streaming Video over the Internet: Approaches and Directions Dapeng Wu, Yiwei Thomas Hou et al. Presented by: Abhishek Gupta
1 School of Computing Science Simon Fraser University CMPT 820: Multimedia Systems Multimedia Protocols, Files Formats and Live Broadcast Bassam Almohammadi.
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Prefix Caching assisted Periodic Broadcast for Streaming Popular Videos Yang Guo, Subhabrata Sen, and Don Towsley.
1 Video and Audio Over The Net Mahdi ZandakbariVesal Hajiabbas.
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
1 CMSCD1011 Introduction to Computer Audio Lecture 10: Streaming audio for Internet transmission Dr David England School of Computing and Mathematical.
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
HTTP Streaming bar BoF, IETF 79th HTTP Streaming Survey and Gap Analysis Ning Zong draft-zong-httpstreaming-gap-analysis-01.
Media Server Streaming Elizabeth Canela David Vera Bernard James Lilian Ohanian.
Dynamic Adaptive Streaming over HTTP
The Way Forward Factors Driving Video Conferencing Dr. Jan Linden, VP of Engineering Global IP Solutions.
PPSP Peer Protocol draft-gu-ppsp-peer-protocol PPSP WG IETF 82 Taipei Rui Cruz (presenter) Yingjie Gu, Jinwei Xia, Mário Nunes, David Bryan, João Taveira.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 28 Multimedia.
Internet Measurment Multimedia 1. Properties Challenges Tools State of the Art 2.
The MPEG-DASH Standard for Multimedia Streaming Over the Internet Chih-Hsiang Chou Advisor: Prof Dr. Ho-Ting Wu Department of Computer Science and Information.
Presented by : BEN AMOR Adel MAKNI Mahmoud Ramzi
An Adaptive Video Streaming Control System: Modeling, Validation, and Performance Evaluation PRESENTED BY : XI TAO AND PRATEEK GOYAL DEC
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
CS Spring 2014 CS 414 – Multimedia Systems Design Lecture 30 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring.
Mobile Peer-to-Peer Video Streaming over Information-Centric Networks The International Journal of Computer and Telecommunications Networking, 2015 Andrea.
California State University, LA Presented by Amanda Steven StevenAamirObaid.
WhatNOW: A System to Enable Videostream in a Mobile Network Alexandre Martini, Sandro Mourão, Wesley Silva Nokia Technology Institute, Manaus, Brazil 報告者:劉源蔁.
Over-the-Top Content Delivery State of the Art and Challenges
Adaptive Streaming over ICN draft-video-streaming-over-ICN-00.txt
VoIP ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts.
SwiftServe Sales Training
Accelerating Peer-to-Peer Networks for Video Streaming
Chapter 7 Multimedia Networking
Chapter 9: Transport Layer
19 – Multimedia Networking
Klara Nahrstedt Spring 2012
Web Engineering CS-4513 Prepared By: Junaid Hassan Lecturer at UOS M.B.Din Campus
DASH2M: Exploring HTTP/2 for Internet Streaming to Mobile Devices
Instructor Materials Chapter 9: Transport Layer
Dynamic Adaptive Streaming over HTTP
Live Global Sports Events
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
Project Create a DASH-compliant (Dynamic Adaptive Streaming over HTTP) live streaming system.
Enterprise Town Hall solution
Proxy Caching for Streaming Media
Klara Nahrstedt Spring 2009
Rate Adaptations.
MDC METHOD FOR HDTV TRANSMISSION OVER EXISTING IP NETWORK
Mohammad Malli Chadi Barakat, Walid Dabbous Alcatel meeting
SwiftServe Technical Workshop
Rate Adaptations.
Understand the OSI Model Part 2
Video Multicast over the Internet (IEEE Network, March/April 1999)
Internet Networking recitation #12
Chapter 2 Introduction Application Requirements VS. Transport Services
Chapter 25 Multimedia TCP/IP Protocol Suite
Available Bit Rate Streaming
Distributed Systems CS
Multimedia and Networks
NUS PI: Roger Zimmermann ZJU PI: TBD NUS Co-PIs: Ben Leong
Lecture 2: Overview of TCP/IP protocol
Gigabit measurements – quality, not (just) quantity
Technical Capabilities
EE 122: Lecture 22 (Overlay Networks)
Streaming multimedia CS 352, Lecture 22
Presentation transcript:

Dynamic Adaptive Streaming over HTTP Introduction to DASH Dynamic Adaptive Streaming over HTTP

Dynamic Adaptive Streaming over HTTP (DASH) Christian Timmerer and Christopher Müller Alpen-Adria Universität Klagenfurt (AAU)  Faculty of Technical Sciences (TEWI) Institute of Information Technology (ITEC)  Multimedia Communication (MMC) http://research.timmerer.com  http://blog.timmerer.com  mailto:christian.timmerer@itec.uni-klu.ac.at 02 May 2011 Acknowledgment: Thomas Stockhammer (QUALCOMM), Mark Watson (Netflix) – reused their presentations from MMSys’11 accessible via http://www.mmsys.org/

User Frustration in Internet Video Video not accessible Behind a firewall Plugin not available Bandwidth not sufficient Wrong/non-trusted device Wrong format Fragmentation Devices Content Formats DRMs Low Quality of Experience Long start-up delay Frequent Re-buffering Low playback quality No lip-sync No DVD quality (language, subtitle) Expensive Sucks my bandwidth Need a dedicated devices Other costs… One way to build confidence ➪ Open Standards Ack & ©: Thomas Stockhammer 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria

Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria What is DASH? http://en.wikipedia.org/wiki/Dash_(disambiguation) 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria

HTTP Streaming of Media Server MF DF ISOBMFF M2TS Client easy conversion 1 MF DF 2 easy conversion ISOBMFF M2TS ISOBMFF … ISO Base Media File Format (e.g., mp4 – others: avi) M2TS … MPEG-2 Transport Stream (e.g., DVB, DMB) MF … Manifest Format (e.g., MPD, FMF) DF … Delivery Format (e.g., F4F, 3gs) 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria

Adaptive Streaming in Practice Ack & ©: Mark Watson 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria

Dynamic Adaptive Streaming over HTTP (DASH) Proprietary Solutions Int’l Standard Solutions V1 Int’l Standard Solutions V2 Apple HTTP Live Streaming Adobe HTTP Dynamic Streaming Microsoft Smooth Streaming Netflix Akamai Movenetworks’ Movestreaming Amazon . . . 3GPP Rel.9 Adaptive HTTP Streaming 3GPP Rel.10 DASH MPEG DASH OIPF HTTP Adaptive Streaming time http://multimediacommunication.blogspot.com/2010/05/http-streaming-of-mpeg-media.html 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria

Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria Outline Introduction DASH Design Principles Scope: What is specified – and what is not! DASH Data Model Media Presentation Description Segment Indexing Dynamic & Adaptive Video on Demand vs. Live The Adaptation Problem Conclusions & Future Work 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria

DASH Design Principles DASH is not system, protocol, presentation, codec, interactivity, client specification DASH is an enabler It provides formats to enable efficient and high-quality delivery of streaming services over the Internet It is considered as one component in an end-to-end service System definition left to other organizations (SDOs, Fora, Companies, etc.) Design choices Enable reuse of existing technologies (containers, codecs, DRM etc.) Enable deployment on top of HTTP-CDNs (Web Infrastructures, caching) Enable very high user-experience (low start-up, no rebuffering, trick modes) Enable selection based on network and device capability, user preferences Enable seamless switching Enable live and DVD-kind of experiences Move intelligence from network to client, enable client differentiation Enable deployment flexibility (e. g., live, on-demand, time-shift viewing) Provide simple interoperability points (profiles) Ack & ©: Thomas Stockhammer 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria

What is specified – and what is not? Ack & ©: Thomas Stockhammer 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria

Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria DASH Data Model Segment Info Initialization Segment http://www.e.com/ahs-5.3gp Media Presentation Media Segment 1 start=0s http://www.e.com/ahs-5-1.3gs Period, start=100 baseURL=http://www.e.com/ Representation 1 500kbit/s … Representation 2 100kbit/s Period, start=0s … Representation 1 bandwidth=500kbit/s width 640, height 480 Segment Info duration=10s Template: ./ahs-5-$Index$.3gs … Media Segment 2 start=10s http://www.e.com/ahs-5-2.3gs Media Segment 3 start=20s http://www.e.com/ahs-5-3.3gh Media Segment 20 start=190s http://www.e.com/ahs-5-20.3gs Period, start=100s … Period, start=295s … … Ack & ©: Thomas Stockhammer 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria

Media Presentation Description Redundant information of Media Streams for the purpose to initially select or reject Groups or Representations Examples: Codec, DRM, language, resolution, bandwidth Access and Timing Information HTTP-URL(s) and byte range for each accessible Segment Earliest next update of the MPD on the server Segment availability start and end time in wall-clock time Approximated media start time and duration of a Media Segment in the media presentation timeline For live service, instructions on starting playout such that media segments will be available in time for smooth playout in the future Switching and splicing relationships across Representations Relatively little other information Ack & ©: Thomas Stockhammer 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria

Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria DASH Groups & Subsets Group id="grp-1" Group by codec, language, resolution, bandwidth, views, etc. – very flexible (in combination with xlink)! Ranges for the @bandwidth, @width, @height and @frameRate Representation id="rep-1" Representation id="rep-2" . . . Representation id="rep-n" Subset id="ss-1" Contains group="grp-1" Contains group="grp-4" Contains group="grp-7" Group id="grp-2" Representation id="rep-1" Representation id="rep-2" . . . Representation id="rep-n" Subsets Mechanism to restrict the combination of active Groups Expresses the intention of the creator of the Media Presentation . . . Group id="grp-m" Representation id="rep-1" 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria Representation id="rep-2" . . . Representation id="rep-n"

Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria Segment Indexing Provides binary information in ISO box structure on Accessible units of data in a media segment Each unit is described by Byte range in the segments (easy access through HTTP partial GET) Accurate presentation duration (seamless switching) Presence of representation access positions, e.g. IDR frames Provides a compact bitrate-over-time profile to client Can be used for intelligent request scheduling Generic Data Structure usable for any media segment format, e.g. ISO BMFF, MPEG-2 TS, etc. Hierarchical structuring for efficient access May be combined with media segment or may be separate Ack & ©: Thomas Stockhammer 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria

Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria Segment Indexing seg1.mp4 Segment Index in MPD only <MPD> ... <URL sourceURL="seg1.mp4"/> <URL sourceURL="seg2.mp4"/> </MPD> seg2.mp4 ... <MPD> ... <URL sourceURL="seg.mp4" range="0-499"/> <URL sourceURL="seg.mp4" range="500-999"/> </MPD> seg.mp4 Segment Index in MPD + Segment <MPD> ... <Index sourceURL="idx.mp4"/> <URL sourceURL="seg.mp4"/> </MPD> idx.mp4 seg.mp4 Segment Index in Segment only <MPD> ... <BaseURL>seg.mp4</BaseURL> </MPD> idx seg.mp4 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria

Adaptive Streaming Summary For on demand Chunks are unnecessary and costly Byte range requests have caching and flexibility advantages Separate audio/video essential for language support For live Chunks are unavoidable Still value in decoupling request size from chunk size Multiple language audio tracks are rare May need manifest updates For both Switch point alignment required for most CE decoding pipelines Ack & ©: Mark Watson and Thomas Stockhammer 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria

Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria Adaptation Problem Choose sequence and timing of requests to minimize probability of re-buffers and maximize quality Ack & ©: Mark Watson 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria

Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria Conclusions Asynchronous delivery of the same content to many users is a first-class network service HTTP CDNs may not be the “perfect” architecture, but it’s working pretty well at scale Many variations on HTTP Adaptive Streaming theme in deployed systems and emerging standards DASH provides sufficient flexibility here DASH is rich and simple at the same time Understand more detailed market needs Create profiles as considered necessary Collaborate with system creators on how to integrate DASH Ack & ©: Mark Watson and Thomas Stockhammer 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria

Potential Future Work Items MMSys’11 Keynote HTTP Adaptive Streaming in Practice by Mark Watson (Netflix) Future work Good models for future bandwidth Tractable representations of future choices - how to efficiently search the 'choice space’ What are the quality goals? Call for adaptation logics Efficient implementations of the actual adaptation logic which is responsible for the dynamic and adaptive part of DASH Get it deployed and adopted (e.g. W3C, DVB – what is necessary?) Join this activity, everyone is invited – get involved in and exited about DASH! http://multimediacommunication.blogspot.com/2011/02/beta-version-of-vlc-dash-plugin.html 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria

Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria Implementations Reference Software Open Source, ISO Copyright Currently not publicly available GPAC Implementation GNU Lesser General Public License http://gpac.wp.institut-telecom.fr/ VLC Plugin http://www-itec.uni-klu.ac.at/dash/ 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria

Thank you for your attention ... questions, comments, etc. are welcome … Ass.-Prof. Dipl.-Ing. Dr. Christian Timmerer Klagenfurt University, Department of Information Technology (ITEC) Universitätsstrasse 65-67, A-9020 Klagenfurt, AUSTRIA christian.timmerer@itec.uni-klu.ac.at http://research.timmerer.com/ Tel: +43/463/2700 3621 Fax: +43/463/2700 3699 © Copyright: Christian Timmerer 2010/05/02 Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria

ABR – Adaptive Bitrate Adaptation Adaptation Schemes ABR – Adaptive Bitrate Adaptation

Dynamic Adaptive Video Streaming over HTTP (DASH) Abdelhak Bentaleb bentaleb@comp.nus.edu.sg Supervisor Prof. Roger Zimmermann School of Computing National University of Singapore

Introduction Real-time Entertainment Streaming video and audio, More than 65% of Internet traffic at peak periods Popular Services YouTube (16.9%), Netflix (34.9%), Amazon Video (2.95%), Hulu (2.5%) All delivered over the top (OTT) Network operators are looking for novel ways to optimally utilize the resources What happens when multiple client compete with each other? Source: Global Internet Phenomena Report (DEC 2015) Sandvine Source: Trends and Analysis Report (May 2015) CISCO

Push and Pull-Based video delivery source Push-Based Delivery Pull-Based Delivery Source (Server) Broadcasters/servers like: Windows Media, Apple QuickTime, RealNetworks Helix, Cisco VDS/DCM Web/FTP servers such as: LAMP, Microsoft IIS, Adobe Flash, RealNetworks Helix, Cisco VDS Protocols RTSP, RTP, UDP HTTP, RTMPx, FTP Video Monitoring and User Tracking RTCP for RTP transport (Currently) Proprietry Multicast Support Yes No Caching Support Yes for HTTP Traditional Video Streaming: Push-based Initiate, manage and control a video streaming session between the client and server Adaptive HTTP Video Streaming (HAS): Pull-based Uses HTTP and TCP to fetch data

What is Streaming? Definition Two Main Characteristics Streaming is transmission of a continuous content from a server to a client. Simultaneous consumption by the client. Two Main Characteristics Client consumption rate may be limited by real-time constraints as opposed to just bandwidth availability. Server transmission rate (loosely or tightly) matches to client consumption rate.

HAS Video Delivery Benefits Dynamic Adaptation to the network condition. Reuse of existing Internet infrastructure. Adaptation logic located at the client side. HTTP protocol: simplifies getting through NATs and firewalls.

HTTP Dynamic Adaptive video Streaming (DASH) Fragment the video into small fixed duration (2 to 10s) segments Encode and store segments at different bitrate and resolution levels List the encoded segments in a Media Presentation Description (MPD) Send segments using HTTP POST Request the MPD Download segments using HTTP GET select bitrate based on TCP bandwidth estimation Adapt to network resources dynamically

HTTP Dynamic Adaptive video Streaming (DASH) Adaptation to dynamic network conditions Adapts to dynamic conditions anywhere on the path through the Internet and/or home network. Decrease continual connections between S and C’s while increase scalability of clients. Improved end-user Quality of Experience (QoE) Enables faster start-up and seeking. Reduces freezes. Use of HTTP/TCP Provides easy traversal for all kinds of middleboxes. Enables cloud access, leverages existing HTTP caching infrastructure (Cheaper CDN costs). HTTP TCP

Overview

Client-side Bitrate (BR) Adaptation The bitrate adaptation logic is fully controlled by the client (purely client-driven). Bitrate adaptation heuristics based on: Available bandwidth Playback buffer size Chunk scheduling Hybrid-based Interesting algorithms Li et al (2014), Liu et al (2011) Huang et al (2014), Mueller et al (2015) Jiang et al (2012), Chen et al (2013) Yin et al (2015), Li et al. (2014), De Cicco et al. (2013), Miller et al. (2012), Zhou et al. (2012)

Adaptation Comparison (1) “A Comparison of Quality Scheduling in Commercial Adaptive HTTP Streaming Solutions on a 3G Network” Haakon Riiser, Håkon S. Bergsaker, Paul Vigmostad, Pål Halvorsen, Carsten Griwodz, ACM MoVid '12, proceedings of the 4th Workshop on Mobile Video, pp. 25-30. This paper compares four commuter scenarios:

Adaptation Comparison (2) Netview Netview

1. Available Bandwidth BR Adaptation Uses the available bandwidth estimation as an heuristic in the bitrate adaptation logic algorithm. Interesting algorithms: Li et al. (2014), Liu et al. (2011) Challenges and drawbacks: Blind available bandwidth sharing between competing clients Each client strives to fetch the high chunk bitrate => unfairness, congestion Distribute the available bandwidth equally between clients Heterogeneous devices with various capabilities case? The bandwidth estimation is not accurate  DASH scalability issues Lack of a central manager May suffer from buffer starvation and undesirable QoE Worst decisions when number of clients increase

2. Buffer Level Size BR Adaptation Uses the current buffer level size as an criterion in the bitrate adaptation logic algorithm. Interesting algorithms: Huang et al. (2014), Mueller et al. (2015) Challenges and drawbacks: Suffer from frequent bitrate switch with a low perpetual quality Low end-user QoE Can not deal with rapid and/or sudden bandwidth variations Very slow detection  very slow detection, eliminate the available bandwidth estimation Can not support many clients

3. Chunk Scheduling BR Adaptation Divides the bitrate adaptation algorithm into many components and uses scheduling approach to select a suitable bitrate level. Interesting algorithms: Jiang et al. (2012), Chen et al. (2013) Challenges and drawbacks: Is exposed to instability issue when the number of players increases Inaccurate bandwidth estimation Ignored responsiveness to bandwidth fluctuations Buffer undershoot issue and stalls Achieves unpleasant end-user QoE Hard to implement in a real word without any central control manager that schedules bitrate decisions for each client

4. Hybrid BR Adaptation The client makes its bitrate selection based on combination between available bandwidth and buffer level heuristics. Interesting algorithms: Yin et al. (2015), Li et al. (2014), De Cicco et al. (2013), Miller et al. (2012), Zhou et al. (2012) Challenges and drawbacks: Supports few number of clients Avoid just one or two of scalability issues e.g., consistent quality without taking into account fair share of bandwidth Lack of optimal bitrate decisions Does not consider any metric of user satisfaction Suffers from video instability and stalls Achieves a poor end-user QoE

Server-side Bitrate Adaptation The bitrate adaptation logic is fully controlled by the server (purely server-driven) Uses traffic shaping mechanism to assign the bitrate for each client, e.g., based on some pricing rules Not requiring any cooperation from the client Like traditional video streaming systems Some interesting algorithms Akhshabi et al. (2013) Houdaille and Gouache (2012) De Cicco et al. (2011) DASH Server DASH client 600Kbps 300Kbps 900Kbps 1000Kbps Traffic Shaper

SVC-based Bitrate Adaptation Each segment can be split into a subset of bit-streams. The client selects the base layer of the lower quality and increases the quality by downloading more enhancement layers. Downloading more layers is based on network conditions. Interesting algorithms Kreuzberger et al. (2015), Sieber et al. (2013), Andelin et al. (2012)

SDN-based Bitrate Adaptation Software defined networking is used. Network resources control and monitoring capabilities simplify/rapidity of network resource programming and deployment Avoid the purely client-driven bitrate adaptation issues The bitrate adaptation logic is controlled, monitored and assisted by a central coordinator called SDN controller. QoE improvement => interaction between a SDN controller and DASH client All Interesting algorithms: Georgopoulos et al. (2013), Farshad et al. (2015), Arefin et al. (2013), Nam et al. (2014), Wang et al. (2014), Ferguson et al. (2013), Bari et al. (2013), Gorlatch et al. (2015), Gudipati et al. (2013), Yap et al. (2013)

In-network based Bitrate Adaptation Bitrate adaptation logic is based on in-network decisions. In-network process needs a special component. Agent and/or proxy deployed in the network Offer the required information that allow bitrate adaptation algorithm to use efficiently the network resources. Interesting algorithms Mok et al. (2012), Eckert and Knoll (2013), Bouten et al. (2015), Petrangeli et al. (2015), Thomas et al. (2015), Joseph and de Veciana (2014), El Essaili et al. (2013)

Commercial Solution Bitrate Adaptation Microsoft smooth player (MSS) Current available bandwidth, playback windows resolution and CPU load as heuristics for bitrate adaptation logic. Apple HTTP Live streaming player (HLS) Current available bandwidth, device capabilities as heuristics during the bitrate adaptation logic process. Adobe OSMF Adapts to the network variations based on the available bandwidth and device processing capabilities. Akamai HD Adapts to the network variations based on the available bandwidth and CPU load.

Comparison heterogeneous systems = different device capabilities with different communication technologies