An Evaluation of the Latest Dash.js Version: Performance, Features, and Improvements
ACM Mile-High Video
Feb 18 – 20, Denver, USA
[PDF]
Authors: Daniel Silhavy, Minh Nguyen, Björn Altmann, Stefan Pham, Stephan Steglich, Stefan Arbanowski
Abstract: dash.js is an open-source JavaScript library that enables adaptive bitrate (ABR) streaming over HTTP based on the MPEG-DASH (Dynamic Adaptive Streaming over HTTP) standard. Its wide adoption in modern web applications, video services, and media players is driven by its ability to provide seamless video playback, even under fluctuating network conditions. With the work on version 5, dash.js continues to evolve, incorporating new throughput calculation methods, performance enhancements, and bug fixes aimed at improving the overall user experience.
This paper provides an in-depth evaluation of the latest version of dash.js (v5.0.0), focusing on key improvements in performance, the integration of new throughput calculation methods, and the resolution of critical issues from previous releases. A major emphasis of the analysis lies in what is the most accurate throughput calculation method and which combination of Adaptive Bitrate (ABR) algorithm and throughput calculation achieve the highest Quality of Experience (QoE).
One of the critical aspects explored in this paper are the new throughput calculation methods, which are utilized in throughput-based and hybrid ABR algorithms to choose the best suitable quality level. This aspect is crucial, as an inaccurate throughput calculation can result in degradation in the QoE for the end users. When the throughput is overestimated, ABR algorithms tend to select a segment with bitrate higher than the capacity of the network connection. Consequently, the buffer at the client is drained off and a rebuffering event can occur. On the other hand, a method underestimating the throughput will lead to unnecessarily low video qualities that make the visual perception of end user deteriorates.