HTTP-based video streaming is a key application on the Internet today, comprising the majority of Internet traffic. Yet customers remain dissatisfied with video quality, resulting in lost revenue for content providers. Recent studies have blamed this on the adaptive bitrate selection (ABR) algorithm used by client players, claiming it interacts poorly with TCP when the video buffer is full, which causes it to underestimate available network bandwidth.
We show that the root cause of the problem lies in the data plane, and that even a perfect control plane (ABR) algorithm is not enough to guarantee video flows their fair share of network bandwidth. Namely, it is the sequential download of video segments that is at fault, as they disrupt the normal interaction between TCP congestion control and router queue occupancy. We carefully model and characterize the behavior of streaming video according to download size and network conditions, and use this to develop an adaptive algorithm for optimally controlling download behavior. Our approach achieves near-optimal throughput and fast bitrate adaptation, regardless of the control plane algorithm.
We implement our approach as a DASH video player called Sprint, and evaluate it against state-of-the-art proposals from the literature as well as deployed players from Netflix, YouTube, Hulu, and Amazon. Sprint consistently achieves above 90% of its fair-share throughput, while the previous state-of-the-art exhibits high variability (e.g., 31% under some network conditions, close to fair share in others). Our measurements show industry players often achieve below 50% of their fair share.