# muxinc/media-chrome

Custom elements (web components) for making audio and video player controls that look great in your website or app.

Repository: https://github.com/muxinc/media-chrome
Canonical: https://ross.abutalabs.com/products/media-chrome
Homepage: https://media-chrome.org
Language: TypeScript
License: MIT
License Family: permissive
Topics: video, audio, video-player, audio-player, web-components, ui-components, mux, media-chrome
Last push: 2026-08-21T23:48:05+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 87, longevity 100
- inputs: {"age_days": 2545, "days_push": 12, "days_rel": 84, "gap_med": 11.0, "n_releases_24m": 41}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2729, forks 125 (observed 2026-08-28T04:07:16.001820+00:00)

## What it is
Media Chrome is a collection of framework-agnostic web components (custom elements) for building fully customizable audio and video player controls. It separates the player UI from the playback engine, so controls work with native <video>/<audio> elements and many players like YouTube and HLS.js.

## Use cases
- build a custom video player UI in plain HTML
- add styled audio player controls to a website
- use the same player controls across React, Vue, Angular, or Svelte
- create accessible media player control bars with play, mute, and fullscreen buttons
- swap video playback engines without rewriting the player UI
- theme video player controls with plain CSS

## When to choose
- you want customizable, accessible media player controls without a heavy player framework
- you need controls that work across multiple JavaScript frameworks or with no framework
- you want to keep the UI while swapping playback engines (HLS.js, YouTube, etc.)

## When to avoid
- you need a complete out-of-the-box player with skins and plugins like Video.js
- your target browsers lack support for evergreen web components and ES6 modules
- you need DRM or advanced streaming features handled by the UI library itself

## Facets
- artifact type: library
- maturity: active
- function: ui-components, video-processing, audio-processing
- domain: web-development, frontend, media, web-design
- platform: browser
- tags: web-components, custom-elements, media-player, video-player-controls, audio-player-controls, typescript, mux, web-server, nodejs

## Member repositories
- muxinc/media-chrome (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:16.001820+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:14:42.601250+00:00, confidence not recorded.
  - readme: https://github.com/muxinc/media-chrome (fetched 2026-08-28T04:07:16.001820+00:00, sha 5c414064557e)
  - homepage: https://media-chrome.org (fetched 2026-08-29T09:58:03.181197+00:00, sha c43d4de16297)
  - site_page: https://www.media-chrome.org/docs/en/get-started (fetched 2026-08-29T09:58:03.190367+00:00, sha c71238c58e30)
- Data as of 2026-08-30T08:39:29.467469+00:00.
