the tension between high video rate and no rebuffering
DESCRIPTION
The Tension Between High Video Rate and No Rebuffering. Te-Yuan (TY) Huang Stanford University IRTF Open Meeting @IETF 87 July 30th, 2013 Joint work Prof. Nick McKeown and Prof. Ramesh Johari. Outline. How does streaming video work today? Video streaming over HTTP - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/1.jpg)
The Tension Between High Video Rate and No Rebuffering
Te-Yuan (TY) HuangStanford University
IRTF Open Meeting @IETF 87July 30th, 2013
Joint work Prof. Nick McKeown and Prof. Ramesh Johari
![Page 2: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/2.jpg)
2
Outline
• How does streaming video work today?– Video streaming over HTTP– Video rate selection over HTTP– The goals of rate selection
• The tension between the goals• Initial thoughts on how to break the tension
![Page 3: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/3.jpg)
3
Video is the BIG thing on the Internet
• Video is more than 50% of peak traffic in the US• Trend: Streaming over HTTP– Content Distribution Networks (CDNs)
• Well-provisioned HTTP servers at the edge of the Internet• Cheap (1-2 cents per GB in 2013)
– Firewall friendliness
![Page 4: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/4.jpg)
4
How does rate selection over HTTP work?
The Internet
Client
Standard, commoditized HTTP Servers
Rate selection logic resides at client side
CDN 3
File 1:
File 2:
1750 1750
1050 1050 1050Get File 1 (1750kb/s)
Serve the video with quality 1750kb/s
PlayoutBuffer
![Page 5: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/5.jpg)
5
The Rate Selection Process
Initialvideo rate
Video rate for the next video segment
CapacityestimationDownload
& measure Pick a rate
![Page 6: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/6.jpg)
6
The Common Goals
1. Achieve the highest possible video rate– Video rate represents video quality
2. Avoid “rebuffer” as much as possible– “Rebuffer” means under-running playout buffer• Unavoidable: Network or Service Outage
– Necessary rebuffers• Avoidable: Requesting a video rate that is too high
– Unnecessary rebuffers
![Page 7: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/7.jpg)
7
The Tension Between The Goals
• The actual capacity is unknown and varies– Accurate estimation is hard
• Underestimate the capacity– Picking a rate that is too low– leads to sub-optimal video quality (Fail Goal #1!)
• Over-estimate the capacity– Picking a rate that is too high– leads to rebuffering (Fail Goal #2!)
![Page 8: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/8.jpg)
8
![Page 9: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/9.jpg)
9
Before download started
Afterdownload started
![Page 10: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/10.jpg)
10
What happened?
• Both the download and video are over HTTP– TCP shares my home link equally among all flows
What is the problem?
![Page 11: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/11.jpg)
11
Experiment Setup
The Internet
Bandwidth Controller
CDN 1
CDN 2
CDN 3Content Distribution Networks
![Page 12: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/12.jpg)
12
Video Ratein the Presence of a Competing Flow
Video Rate
AvailableVideo Rates
Fair share
Competing FlowThroughout
Steps down all the way to the lowest quality
Video FlowThroughput
![Page 13: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/13.jpg)
13
What If we manually select a video rate?
AvailableVideo Rates Manually select
1750kb/s
Video FlowThroughput Video keeps playing
without any problem
Video Rate
![Page 14: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/14.jpg)
14
What If we manually select a video rate?Competing FlowThroughput
Video Rate
AvailableVideo Rates Manually select
1750kb/s
Competing flow throughput is brought downVideo Flow
Throughput
![Page 15: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/15.jpg)
15
Not Just One Service’s Problem
• This happens in all the three services we measured– Hulu, Netflix and Vudu
Video Rate
Video Rate
![Page 16: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/16.jpg)
16
The Problem
Why?
It picks a video rate that is much too low
Video client ends up with much less throughput than its fair share
![Page 17: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/17.jpg)
17
The Rate Selection Process
Initialvideo rate
Video rate for the next video segment
CapacityestimationDownload
& measure Pick a rate
What goes wrong?
![Page 18: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/18.jpg)
18
TCP Throughput of the Video Flow
Playout Buffer is Full
TCP Throughput
OFF Period: 1-2 seconds
![Page 19: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/19.jpg)
19
Impact of OFF period on TCP
• TCP sender resets its congestion window– When idle more than one RTO (200ms)– Slow-start restart, RFC 2581/5681– Linux 3.x (tcp_output.c, line 163)
• Throughput will be affected– Worse with a competing flow• Experience packet loss during slow start
50% of the segments get < 1.8Mb/s(Fair Share is 2.5Mb/s)
![Page 20: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/20.jpg)
20
The Rate Selection Process
Capacityestimation
Download& measure Pick a rate
Underestimation
If perceived 1.8 Mb/s, which video rate would it pick?
1400 kb/s?1750 kb/s? Even lower?
Video rate for the next video segment
Initialvideo rate
![Page 21: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/21.jpg)
Conservative Rate Selection
Available BW
Video Rate
21
If 1.8Mb/s BW is perceived,the client switches down to1050kb/s video rate
![Page 22: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/22.jpg)
22
The Rate Selection Process
Capacityestimation
Download& measure
Pick a rateUnderestimation
Conservatively
Is there any consequence of being conservative?
Initialvideo rate
Video rate for the next video segment
![Page 23: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/23.jpg)
23
Smaller Segment Size for Lower Video RateWhen requesting a smaller segment size, lower probability of obtaining fair share.
![Page 24: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/24.jpg)
24
Lower video rate leads to further bandwidth underestimation
Lowest Video Rate
Highest Video Rate
![Page 25: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/25.jpg)
25
The Rate Selection Process
Capacityestimation
Download& measure
Pick a rateUnderestimation
Conservatively
Request for a smaller segment
Further
Video rate for the next video segment
Initialvideo rate
![Page 26: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/26.jpg)
26
The Complete Story
Video QualityCapacity Underestimation
Conservatism
Further Underestimation
Being conservative can trigger a vicious cycle!
![Page 27: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/27.jpg)
27
at least it will avoid rebuffer (Goal #2) …
Right?
So being conservative is understandable.
But the available capacity is unknown & varies,
Although this leads to sub-optimal quality (Fails Goal #1),
![Page 28: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/28.jpg)
28
The Tension Between The Goals
• The actual capacity is unknown and varies– Accurate estimation is hard
• Underestimate the capacity– Picking a rate that is too low – leads to sub-optimal video quality
• Over-estimate the capacity– Picking a rate that is too high– leads to rebuffering
![Page 29: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/29.jpg)
29
![Page 30: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/30.jpg)
30
What happened?
![Page 31: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/31.jpg)
31
What happened?
AvailableVideo Rates
![Page 32: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/32.jpg)
32
What happened? – Cont.
AvailableVideo Rates
Video Rate
![Page 33: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/33.jpg)
What happened? – Cont.
AvailableVideo Rates
Buffer Level
![Page 34: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/34.jpg)
What happened? – Cont.Start Playing Again
AvailableVideo Rates
Video RateBuffer Level
Rebuffer!
Rate Adapted.
Not low enough!Not fast enough!
![Page 35: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/35.jpg)
35
Why did the stream rebuffer?
• Capacity is estimated by weighted average of recent throughput
• The drop of the actual capacity does not reflect on the estimation until later
• Request a higher rate than it should• End up under-running the buffer
Rebuffer!
![Page 36: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/36.jpg)
36
Why does the tension exist?
• Under-estimate the capacity– Picking a rate lower than the actual capacity– leads to sub-optimal video quality (Fail Goal #1!)
• Over-estimate the capacity– Picking a rate higher than the actual capacity – leads to rebuffering (Fail Goal #2!)
• To break the tension– Need accurate capacity estimation
Why the tension exists?
![Page 37: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/37.jpg)
37
Why does the tension exist?
• Pick video rate based on capacity estimation– The actual capacity is unknown and varies– The estimation never equals to the actual capacity
• The same algorithm can both under-estimate and over-estimate the capacity
![Page 38: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/38.jpg)
What if….
Pick the video rate based on something we know:
The Playout Buffer
Can we break the tension?
![Page 39: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/39.jpg)
39
Break the Tension – Goal #1
• To achieve the highest possible video rate:– Need to fully utilize the capacity
• Avoid ON/OFF behavior• Unless we have more capacity than we need
• Request for the highest video rate before the buffer is full – Playout Buffer will only be full:
• When the capacity is larger than the highest video rate• Have more capacity than needed
– Fully utilize the bandwidth– Average video rate = Average throughput
![Page 40: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/40.jpg)
40
Goal #2: Avoid Rebuffers
BufferRmin
Rmax
when Buffer → 0
Video Rate → Rmin (min video rate)
As long as Capacity > Rmin, Buffer will grow.
Never Unnecessarily Rebuffer!
![Page 41: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/41.jpg)
42
Break the Tension – Goal #1 & #2
Rate
BufferRmin
Rmax
Rebuffer Avoided!
Highest Video Rate Achieved!
![Page 42: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/42.jpg)
43
Practical Concerns
• Discrete segment downloads– Can only pick video rate when requesting a
segment• Discrete video rates• Many more… • Buffer-based algorithm provides a framework
to address these concerns“Downton Abbey without the Hiccups: Buffer-Based Rate Adaptation for HTTP Video Streaming”. SIGCOMM FhMN Workshop, Aug. 16th, 2013
![Page 43: The Tension Between High Video Rate and No Rebuffering](https://reader035.vdocument.in/reader035/viewer/2022062813/568164ae550346895dd6babe/html5/thumbnails/43.jpg)
44
Conclusion
• Current practice of rate selection algorithm: – Pick a video rate based on capacity estimation– Two common goals:
• Achieve highest possible video rate• Avoid rebuffer as much as possible
• The tension between two common goals– Underestimation vs. Overestimation
• The tension is caused by the estimation– Let’s take that out from the algorithm
• Focus on the one thing we know: The Playout Buffer– The tension will be broken down