1 / 43

The Tension Between High Video Rate and No Rebuffering

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

avi
Download Presentation

The Tension Between High Video Rate and No Rebuffering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Tension Between High Video Rate and No Rebuffering Te-Yuan (TY) Huang Stanford University IRTF Open Meeting @IETF 87July 30th, 2013 Joint work Prof. Nick McKeownand Prof. RameshJohari

  2. Outline • Howdoes 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

  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

  4. How does rate selection over HTTP work? 1750 1750 File 1: 1050 1050 1050 Get File 1 (1750kb/s) File 2: The Internet CDN 3 PlayoutBuffer Client Rate selection logic resides at client side Standard, commoditized HTTP Servers Serve the video with quality 1750kb/s

  5. The Rate Selection Process Capacityestimation Initial video rate Download& measure Pick a rate Video rate for the next video segment

  6. The Common Goals • Achieve the highest possible video rate • Video rate represents video quality • 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

  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!)

  8. Before download started Afterdownload started

  9. What happened? • Both the download and video are over HTTP • TCP shares my home link equally among all flows What is the problem?

  10. Experiment Setup CDN 1 The Internet CDN 2 CDN 3 Bandwidth Controller Content Distribution Networks

  11. Video Ratein the Presence of a Competing Flow Video Flow Throughput Competing Flow Throughout Fair share Steps down all the way to the lowest quality Video Rate Available Video Rates

  12. What If we manually select a video rate? Video Flow Throughput Video keeps playing without any problem Video Rate Available Video Rates Manually select 1750kb/s

  13. What If we manually select a video rate? Competing Flow Throughput Competing flow throughput is brought down Video Flow Throughput Video Rate Available Video Rates Manually select 1750kb/s

  14. Not Just One Service’s Problem • This happens in all the three services we measured • Hulu, Netflix and Vudu Video Rate Video Rate

  15. The Problem Video client ends up with much less throughput than its fair share It picks a video rate that is much too low Why?

  16. The Rate Selection Process Capacityestimation Initial video rate Download& measure Pick a rate Video rate for the next video segment What goes wrong?

  17. TCP Throughput of the Video Flow Playout Buffer is Full TCP Throughput OFF Period: 1-2 seconds

  18. 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)

  19. The Rate Selection Process Capacityestimation Initial video rate Underestimation Download& measure Pick a rate Video rate for the next video segment If perceived 1.8 Mb/s, which video rate would it pick? Even lower? 1750 kb/s? 1400 kb/s?

  20. Conservative Rate Selection Available BW If 1.8Mb/s BW is perceived,the client switches down to1050kb/s video rate Video Rate 21

  21. The Rate Selection Process Capacityestimation Initial video rate Underestimation Download& measure Pick a rate Conservatively Video rate for the next video segment Is there any consequence of being conservative?

  22. Smaller Segment Size for Lower Video Rate When requesting a smaller segment size, lower probability of obtaining fair share.

  23. Lower video rate leads to further bandwidth underestimation Lowest Video Rate Highest Video Rate

  24. The Rate Selection Process Further Capacityestimation Initial video rate Underestimation Download& measure Pick a rate Conservatively Video rate for the next video segment Request for a smaller segment

  25. The Complete Story Capacity Underestimation Video Quality Conservatism Further Underestimation Being conservative can trigger a vicious cycle!

  26. But the available capacity is unknown & varies, So being conservative is understandable. Although this leads to sub-optimal quality (Fails Goal #1), at least it will avoid rebuffer (Goal #2) … Right?

  27. 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

  28. What happened?

  29. What happened? Available Video Rates

  30. What happened? – Cont. Video Rate Available Video Rates

  31. What happened? – Cont. Buffer Level Available Video Rates

  32. What happened? – Cont. Start Playing Again Buffer Level Video Rate Rate Adapted. Available Video Rates Not fast enough! Not low enough! Rebuffer!

  33. 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!

  34. 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?

  35. 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

  36. What if…. Pick the video rate based on something we know: The Playout Buffer Can we break the tension?

  37. 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

  38. Goal #2: Avoid Rebuffers Rmax Video Rate → Rmin (min video rate) Rmin when Buffer → 0 Buffer As long as Capacity > Rmin, Buffer will grow. Never Unnecessarily Rebuffer!

  39. Break the Tension – Goal #1 & #2 Highest Video Rate Achieved! Rate Rmax Rmin Buffer RebufferAvoided!

  40. 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

  41. 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

More Related