Skip to content

[POC] Offline Feature

Created by: jeremco

Hi As discussed in Berlin, Orange is interested working on offline feature for Dash.js

This PR is a first implementation of downloading stream directly in browser, using Dash.js. This is a prototype. The idea is to initiate the development of this feature, so that interested people can start working on it.

In this first implementation, offline segments are stored in indexeddb. There is a mechanism to load them from the database. A sample is available in samples/offline folder. It can download several streams in // while reading another (using another dash.js instance)

A lot of improvements have to be added :

  • Offline as an external module for dash.js
  • Improve manifest parsing and storage, using only one XML parser (in this first implement, DomParser is used to manipulate offline manifest)
  • Improve progression using size, not downloaded fragments
  • Resume implementation after a page reload
  • Error management
  • Manage Byte-Range requests : find a mechanism to handle these types of file, where segments are addressed by byte-range
  • Implements MSS manifest downloading
  • Manage DRM offline sessions,
  • Manage priority of segment downloa, change order of segment downloading ...
  • .....

Everyone who wants to work on this feature is welcome.

For Orange team Jérémie

Merge request reports