MCPcopy Index your code
hub / github.com/bitmovin/bitmovin-player-ui

github.com/bitmovin/bitmovin-player-ui @player-v8.266.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release player-v8.266.0 ↗ · + Follow
1,649 symbols 4,238 edges 206 files 272 documented · 16%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Bitmovin Player UI npm version Build Status

This repository contains the Bitmovin Player UI framework. It is designed as a flexible and modularized layer on the player API, enabling customers and users of the player to easily customize the UI to their needs in design, structure, and functionality. It makes it extremely easy and straightforward to add additional control components and we encourage our users to proactively contribute to our codebase.

Read more about the Framework, its usage and customization possibilities in our developer documentation and the API documentation.

Installation

The UI framework is also available through the following distribution channels:

CDN

The UI framework and default skin bundled with the latest player release are always available via CDN. This is the recommended way if you just want to work with the predefined UI components. All components will be available in the bitmovin.playerui namespace.

  • JavaScript library: https://cdn.jsdelivr.net/npm/bitmovin-player-ui@4/dist/js/bitmovinplayer-ui.js
  • CSS file: https://cdn.jsdelivr.net/npm/bitmovin-player-ui@4/dist/css/bitmovinplayer-ui.css

NPM

The UI framework is also available in the NPM repository and comes with all source and distributable files, JavaScript modules and TypeScript type definitions.

  • npm install bitmovin-player-ui

Getting Started with Development

  1. Clone Git repository
  2. Install node.js
  3. Install required npm packages: npm ci
  4. Run npm run to see available scripts

  5. npm start to open test page in browser, build and reload changed files automatically

  6. npm run build to build project into dist directory without minification
  7. npm run build:prod to build project with minified files into dist directory
  8. npm run lint to lint TypeScript and SASS files
  9. npm test to run the test suite
  10. npm run format to format all files with prettier
  11. npm run docs to generate the HTML documentation

To take a look at the project, run npm run start. For changes, check our CHANGELOG. This UI framework version is for player v8.

UI Playground

The UI playground can be launched with npm start and opens a page in a local browser window. On this page, you can switch between different sources and UI styles, trigger API actions and observe events.

This page recompiles and reloads files automatically when any .scss or .ts files are modified. It makes a helpful tool for developing and testing the UI.

Contributing

Pull requests are welcome! Please check the contribution guidelines.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 1,011
Class 295
Function 202
Interface 125
Enum 16

Languages

TypeScript100%

Modules by API surface

src/ts/UIManager.ts89 symbols
src/ts/components/overlays/SubtitleOverlay.ts61 symbols
src/ts/components/seekbar/SeekBar.ts52 symbols
src/ts/DOM.ts49 symbols
src/ts/components/Component.ts45 symbols
spec/helper/PlayerEventEmitter.ts43 symbols
src/ts/components/settings/SettingsPanel.ts41 symbols
src/ts/EventDispatcher.ts34 symbols
src/ts/utils/TimelineMarkersHandler.ts32 symbols
src/ts/components/lists/ListSelector.ts31 symbols
src/ts/utils/SubtitleSettingsManager.ts28 symbols
src/ts/utils/VolumeController.ts21 symbols

For agents

$ claude mcp add bitmovin-player-ui \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page