Common Media Library

Project Status:

(roll over for info)

Scoping

The project is currently being scoped by the group. Work has not yet started.

Start:

April 15, 2023

Estimated Completion:

April 15, 2024

Problem Statement

There are common pieces of functionality relating to browser-based media playback that have been implemented independently across multiple open-source libraries leading to mismatched functionality and feature sets.

Project Description

In our work across Hls.js, Dash.js and Shaka player, we have noticed common pieces of functionality that have been implemented independently, and sometimes copied and pasted, across the libraries. This is particularly true when looking at standards-based features, like ID3 parsing, 608 parsing and CMCD. Since the functionality is shared in spirit but not implementation, they can fall out of sync where certain bugs are fixed in one player but not the others. Having a common library would create a single place where these utilities can be maintained. It also creates a single place for standards groups to request and oversee feature implementation.

Project Type

Code and Document

Project Leads

Advisors

Goals and Objectives

To consolidate common media player functionality into one library for use across all JS media players.

Project Scope

Deliver a modern JavaScript utility library for common media playback features. The library would be written in TypeScript, compiled to ES6 with TypeScript declarations and published as a public NPM package. The exported code will not be transpiled or minified. These steps will remain the responsibility of the implementer. The library will be accompanied by an API documentation.

Contributors

The following members have contributed to this project. Click on their name to visit their profile. If they have not published their profile, the link will redirect to their LinkedIn profile.

Additional References

Existing code which will be ported into the library lives in a number of places:

Presentations

The following presentations delivered during Players and Playback working group sessions may provide additional information about this project.