understanding and improving video quality

40
- Conviva Confidential - Understanding and Improving Video Quality Vyas Sekar, Ion Stoica, Hui Zhang

Upload: kuper

Post on 25-Feb-2016

68 views

Category:

Documents


0 download

DESCRIPTION

Understanding and Improving Video Quality. Vyas Sekar, Ion Stoica , Hui Zhang. Recap: Main Quality Metrics. Buffering Bitrate JoinTime JoinFailures. Outline. How good is the quality today? What “causes” the quality problems? CDN? ISP? Players? Provider? - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Understanding and Improving  Video Quality

- Conviva Confidential -

Understanding and Improving Video Quality

Vyas Sekar, Ion Stoica, Hui Zhang

Page 2: Understanding and Improving  Video Quality

Recap: Main Quality MetricsBuffering

Bitrate

JoinTime

JoinFailures

Page 3: Understanding and Improving  Video Quality

OutlineHow good is the quality today?

What “causes” the quality problems? CDN? ISP? Players? Provider?

Can we fix some of these problems? Better bitrate adaptation Better CDN/server/bitrate selection? Global coordination?

Lessons and Takeaways

Page 4: Understanding and Improving  Video Quality

Non-trivial #sessions have problems

Page 5: Understanding and Improving  Video Quality

Non-trivial #sessions have problems

Page 6: Understanding and Improving  Video Quality

Problem trends are quite “consistent”

Page 7: Understanding and Improving  Video Quality

Video Source

Encoders & Video ServersCMS

and Hosting

Content Delivery Networks (CDN)

ISP & Home Net

Screen

Video Player

Video ecosystem is quite complex!

Page 8: Understanding and Improving  Video Quality

Video Source

Encoders & Video ServersCMS

and Hosting

Content Delivery Networks (CDN)

ISP & Home Net

Screen

Video Player

Quality problems can occur everywhere!

Page 9: Understanding and Improving  Video Quality

Shedding light on structureLongitudinal analysis of “problem sessions”

Look at key session attributes: AS, CDN, Provider, Player, Browser,ConnectionType, Genre

Intuitive “clustering” idea

Page 10: Understanding and Improving  Video Quality

Many problems are “persistent”

Might even be possible to “reactively” fix problems

Page 11: Understanding and Improving  Video Quality

Breakdown of causes: Buffering

Page 12: Understanding and Improving  Video Quality

Breakdown of causes: JoinTime

Page 13: Understanding and Improving  Video Quality

How can we improve the quality?Dimensions to “Design space”What knobs can we tune?

Bitrate, CDNWhere in the network?

Client, Server, Routers, CDNsWhen do we change parameters?

Startup, midstreamDecentralized vs Coordinated?

Page 14: Understanding and Improving  Video Quality

Bitrate adaptation

Page 15: Understanding and Improving  Video Quality

HTTP Adaptive

Player

Web browser Web serverHTTP

TCP

HTTP

TCP

…A1 A1 A2

B1 B2

A1B1

Cache

Client

Web server

……

A1 A2

B1 B2

HTTP GET A1

Server

A2 2nd Chunk in bitrate A

Recap: HTTP Adaptive streaming

Page 16: Understanding and Improving  Video Quality

Internet

Abstract Player ModelB/W

Estimation

Bitrate Selectio

n

Chunk Schedulin

g

HTTPGET

Chunk

Bitrate of next chunk

When to request

Throughput of a chunk

Feedback loop between player and the network

Video Player

Page 17: Understanding and Improving  Video Quality

Three Metrics of GoodnessInefficiency: Fraction of bandwidth un/over used

Bitrate (Mbps)

timeBitrate(Mbps)

time

Unfairness: Discrepancy of bitrates used by multiple players

Player A

Player B0.7

Instability: The frequency and magnitude of recent switches

0.71.3

Bottleneck b/w 2Mbps

Page 18: Understanding and Improving  Video Quality

Real World: SmoothStreaming

Visually, SmoothStreaming seems bad.

Setup: total b/w 3Mbps, three SmoothStreaming players

Player APlayer BPlayer C

Page 19: Understanding and Improving  Video Quality

SmoothStreaming (SS) appears to be better than other players.

Unfairness index Instability index Inefficiency index

SmoothStreaming (SS)

AkamaiAdob

eNetflix

Other adaptive players are no better

Page 20: Understanding and Improving  Video Quality

Limited control Overlaid on HTTP Constrained by browser sandbox

Limited feedback No packet level feedback, only throughput

Local view Client-driven adaptation Independent control loop

• S Akshabi et al An Experimental Evaluation of Rate Adaptation .. MMSys 2011

• T-Y Huang et al Confused, Timid and Unstable .. IMC 2012 • J Jiang et al Improving Fairness .. With FESTIVE .. CoNext 2012

What makes this problem hard?

Page 21: Understanding and Improving  Video Quality

Bias due to chunk schedulingMany players use this to keep fixed video buffere.g., if chunk duration = 2 sec, chunk requests at T= 0,2,4,… sec

0.5 sec

time

1 sec1 sec

1s 2s

Example setup: Total bandwidth: 2MbpsBitrate 0.5 Mbps, 2 sec chunksChunk size: 0.5 Mbps x 2 sec = 1.0Mb

Throughput: 1 Mbps

Throughput: 1 Mbps

0.5 sec1 sec

1 sec Throughput: 2 Mbps

Unfair! Start time impacts observed throughputNOT a TCP problem!

b/w (Mbps)

Player A, T=0,2,4,

Player BT=0,2,4,

Player CT=1,3,5,

210

Page 22: Understanding and Improving  Video Quality

Bias due to bitrate selectionStrawman: Bitrate = f (observed throughput)

21

0.6

Unfair! Bitrate impacts observed throughput.Biased feedback loop implies unfairness

b/w (Mbps)

Example setup: Total bandwidth 2MbpsPlayer A: 0.7 Mbps, Player B: 0.3 Mbps, Player C: 0.3 Mbps

Throughput: ~1.6 Mbps

Throughput: ~1.1 Mbps

Throughput: ~1.1 MbpsPlayer A Player B Player C

0 time

Page 23: Understanding and Improving  Video Quality

Design space to fix player issuesWhat layer in “stack” can we change?

HTTP only TCP only TCP + HTTP?

Where in the network? Client-side Server-side Network-assisted

Page 24: Understanding and Improving  Video Quality

What layer in the stack?HTTP-based

TCP-based

Others?

• J Jiang et al Improving Fairness .. With FESTIVE .. CoNext 2012• S. Akhshabi et al. What Happens when HTTP Adaptive Streaming

Players Compete for Bandwidth? NOSSDAV, 2012.

• M. Ghobadi et al Trickle: Rate Limiting YouTube Video Streaming. USENIX ATC, 2012.

• T-Y Huang et al Confused, Timid and Unstable .. IMC 2012 • G. Tian and Y. Lu, Towards Agile and Smooth Video Adaptiation …

CoNext 2012

Page 25: Understanding and Improving  Video Quality

Where in the network?Client-driven

Server-driven

In-network

• J Jiang et al Improving Fairness .. With FESTIVE .. CoNext 2012• S. Akhshabi et al. What Happens when HTTP Adaptive Streaming

Players Compete for Bandwidth? NOSSDAV, 2012.

• S. Akhshabi et al Server-based Traffic Shaping .. NOSSDAV, 2013.• L. De Cicco et al Feedback Control for Adaptive Live Video Streaming

MMSys, 2011

• R. K. P. Mok et a . QDASH: A QoE-aware DASH system MMSys, 2012.• R. Houdaille and S. Gouache. Shaping http adaptive streams for a

better user experience . MMSys, 2012

Page 26: Understanding and Improving  Video Quality

CDN/Server Selection

Page 27: Understanding and Improving  Video Quality

CDN Performance varies in “Space”

• X Liu et al A Case for a Coordinated Internet Video Control Plane SIGCOMM 2012

• H Liu et al Optimizing Cost and Performance for Content Multihoming SIGCOMM 2012

Page 28: Understanding and Improving  Video Quality

CDN Performance Varies in Time

Page 29: Understanding and Improving  Video Quality

Potential Improvement via CDN Switching/Multihominh

Partition clients by (ASN, DMA, CDN)DMA: Designated Market Area

For each partition compute:Buffering ratioStart timeFailure ratio….

Akamai (buffering ratio)

DMA

ASN

Level3 (buffering ratio)

DMA

ASN

Page 30: Understanding and Improving  Video Quality

Potential Improvement Example

Oracle:For each partition select best CDN

and assume all clients in same partition selected that CDN

Essentially, pick partition with best quality across CDNs

Akamai (buffering ratio)

DMA

ASN

Level3 (buffering ratio)

DMA

ASNBest CDN (buffering ratio)

DMA

ASN

Page 31: Understanding and Improving  Video Quality

Case study for potential gainsCustomer1: large UGV siteCustomer2: large content provider

Metric Customer1 Customer2Current Project

edCurre

ntProject

edBuffering ratio (%)

6.8 2.5 / 1* 1 0.3 / 0.1*

Start time (s) 6.41 2.91 1.36 0.9Failure ratio (%)

16.57 2.4 1.1 0.7

Between 2.7X and 10X improvement in buffering ratio

Page 32: Understanding and Improving  Video Quality

How can we improve the quality?Dimensions to “Design space”What knobs can we tune?

Bitrate, CDNWhere in the network?

Client, Server, Routers, CDNsWhen do we change parameters?

Startup, midstreamDecentralized vs Coordinated?

Page 33: Understanding and Improving  Video Quality

Akamai DMA

ASN

DMA

ASN

DMA

ASN

Limelight

Level3

0 2000 4000 6000 8000 10000 12000 14000 16000 18000 200000

20

40

60

80

100

Band

widt

h Fl

uctu

atio

n

Peak Concurrent Viewers

0 5000 10000 15000 20000 25000 30000 3500005

10152025303540

Band

widt

h Fl

uctu

atio

n

Peak Concurrent Viewers

ASN/DMA saturated on all CDNs Don’t switch CDN; reduce bitrates, instead

Case for Global views?

Page 34: Understanding and Improving  Video Quality

Vision of Video Control Plane

Continuous measurement and optimizationMulti-bit rate streams delivered using multiple CDNs “Global” optimization algorithms

Page 35: Understanding and Improving  Video Quality

Open issues in realizationHow scalable?Interactions between controllers? Interactions with CDN optimizations?Is “history” reliable? Oscillations?Can we get real-time information about

the network?What APIs for coordination? Data sharing?

Page 36: Understanding and Improving  Video Quality

Lessons/Takeaways

Page 37: Understanding and Improving  Video Quality

Need a multi-pronged approachBetter player algorithms

Better CDN/server selection

More diverse bitrate encoding

Coordination?

Page 38: Understanding and Improving  Video Quality

Even simple strategies may work!

Fixing a small number of problems can yield a lot of improvement

Reactively identifying “problem clusters”

Page 39: Understanding and Improving  Video Quality

There is plenty of room for improvement

Even within scope of “dirty-slate” i.e., don’t change HTTP/TCP/CDN

Still deliver a lot better quality