Common Media Library
Project Status:
(roll over for info)
Define
The working group is still scoping the project.
Start:
April 15, 2023
Estimated Completion:
April 15, 2024
- Home
- Common Media Library
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.
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.