7. Multi-Bitrate Encoding and Representation Switching
June 2016 QoMEX 2016 Tutorial 7
Contents on the Web Server
Movie A – 200 Kbps
Movie A – 400 Kbps
Movie A – 1.2 Mbps
Movie A – 2.2 Mbps
. . .
. . .
Movie K – 200 Kbps
Movie K – 500 Kbps
Movie K – 1.1 Mbps
Movie K – 1.8 Mbps
. . .
. . .
Time (s)
Start quickly
Keep requesting
Improve quality
Loss/congestion detection
Revamp quality
. . .
. . .
Segments
9. Formats and Standards
• Adobe
– HTTP Dynamic Streaming (HDS)
– Almost dead
• Apple
– HTTP Live Streaming (HLS)
– Required for iOS
• Microsoft
– Smooth Streaming
– Almost dead, too! Or not?
• MPEG Dynamic Adaptive Streaming over HTTP (DASH)
– Supported by Netflix, YouTube, Bitmovin, etc.
June 2016 QoMEX 2016 Tutorial 9
Source: http://xkcd.com/927/
10. Scope of DASH: what is specified?
June 2016 QoMEX 2016 Tutorial 10
Media Presentation on
HTTP Server
DASH-enabled ClientMedia Presentation
Description
.
.
.
Segment
…
.
.
.Segment
…
.
.
.
Segment
…
.
.
.Segment
…
…
Segments located
by HTTP-URLs
DASH Control Engine
HTTP/1.1
HTTP
Client
MPD
Parser
Media
Engine
On-time HTTP
requests to
segments
11. Scope of DASH: what is specified?
June 2016 QoMEX 2016 Tutorial 11
Media Presentation on
HTTP Server
DASH-enabled ClientMedia Presentation
Description
.
.
.
Segment
…
.
.
.Segment
…
.
.
.
Segment
…
.
.
.Segment
…
…
Segments located
by HTTP-URLs
DASH Control Engine
HTTP/1.1
HTTP
Client
MPD
Parser
Media
Engine
On-time HTTP
requests to
segments
13. June 2016 QoMEX 2016 Tutorial 13
type=static typically,
for on demand content
Base URL of the
segments
Subtitles
Audio adaptation set
with different
representations (bw)
Video adaptation set
with different
representations (bw)
Different codecs
(profiles)
Segment URL constructed
with template and base
URL
16. Adaptive Streaming Content Workflow
June 2016 QoMEX 2016 Tutorial 16
Source Transcoding Encapsulation Encryption
Origin
Server
HelperDistribution
Client
Linear: Multicast
VoD: FTP, RTMP, HTTP, etc.
Unicast HTTP (PUSH), FTP, etc.
HTTP GET small objects
Single highest-bitrate
stream
Multiple streams at
target bitrates
Multiple streams at
target encapsulation formats
Large video/virtual
files and manifests
19. !
http://www.bitcodin.com/
http://www.dash-player.com/
QoE Evaluation for DASH-based Services
• Test sequence
– Many datasets available
– Adopted Big Buck Bunny & DASHed it with bitcodin
• Players
– bitdash
– Proprietary solutions (smooth, HLS, HDS)
– YouTube, dash.js, DASH-JS
– …and compare it with ten different adaptation algorithms
• Objective evaluation
– Common test setup using network emulation & bandwidth shaping
– Predefined bandwidth trajectory (or real network traces)
• Subjective evaluation
– Lab [ITU-T B.500 / P.910] vs.
crowdsourcing with special
platforms or social networks
June 2016 QoMEX 2016 Tutorial 19
20. Crowdsourced QoE Evaluation
• Quality of Experience …
– Mean Opinion Score [0..100]
– [other objective metrics:
start-up time, throughput, stalls]
• … Web-based Adaptive HTTP Streaming Clients …
– HTML5+MSE: DASH-JS (dash.itec.aau.at), dash.js (DASH-IF, v1.1.2), YouTube
• … Real-World Environments …
– DASH-JS, dash.js hosted at ITEC/AAU (~ 10Gbit/s)
– YouTube hosted at Google data centers
– Content: Tears of Steel @ 144p (250 kbit/s), 240p (380 kbit/s), 360p (740 kbit/s), 480p (1308 kbit/s), and
720p (2300 kbit/s); segment size: 2s
– Users access content over the open Internet (i.e., real-world environment)
• … Crowdsourcing
– Campaign at Microworker platform (others also possible: Mechanical Turk, social networks) limited to
Europe, USA/Canada, India
– Screening Techniques: Browser fingerprinting, stimulus presentation time, QoE ratings and pre-
questionnaire
June 2016 QoMEX 2016 Tutorial 20
B. Rainer, C. Timmerer, “Quality ofExperience ofWeb-based Adaptive HTTP Streaming Clients in Real-World Environments using Crowdsourcing”,
Proceedings of International Workshop on VideoNext: Design,Quality andDeployment of Adaptive Video Streaming, Sydney, Australia,Dec. 2014.
23. Results Summary
• DASH-JS
– High start-up time
– Low number of stalls
– Good throughput, QoE
• dash.js
– Low start-up time
– High # stalls
– Low throughput
– Low QoE
• YouTube
– Low start-up time
– Low number of stalls
– Best throughput, QoE
June 2016 QoMEX 2016 Tutorial 23
27. DASH-JS vs. bitdash
June 2016 QoMEX 2016 Tutorial 27
C. Timmerer, D. Weinberger, C. Mueller, and S. Lederer, “Ultra-High-Definition-Quality of Experience with MPEG-DASH”,
Proceedings of the Broadcast EngineeringConference (BEC), NAB2015, Las Vegas, NV, USA, April 2015.
30. Conclusions (1)
• MPEG-DASH defines formats only
– Media Presentation Description (MPD)
– Segment format: mp4, ts
• MPEG-DASH is not
– System, protocol, presentation, codec, interactivity, DRM, client specification
– Other standards required for a complete ecosystem: e.g., DASH-IF, WAVE,
HMTL5, MSE, EME
• Do we need MPEG-DASH? (for adaptive media streaming)
– Not necessarily: e.g., WebM + VPx + manifest & control end-to-end
– Required to address heterogeneous environments
• Role of standards sometimes overrated but often underestimated
June 2016 QoMEX 2016 Tutorial 30
31. Conclusions (2)
• QoE for DASH-based services (a rule of thumb)
– Startup delay (low [but live vs. on-demand & short vs. long-tail
content])
– Buffer underrun / stalls (zero)
– Quality switches (low) and media throughput (high)
– Energy- and cost-awareness (data plan)
• No general applicable QoE model for DASH
– (Too) many factors influencing / features of QoE for DASH-based
services
– Methodology for reproducible research is in place and well established
– Ample research opportunities
June 2016 QoMEX 2016 Tutorial 31
Main QoE
factors for DASH
➡ Come up with our own QoE factor and design, conduct, analyze a small-scale experiment