Omi is a Web Components framework with JSX, signal-based reactivity, a router and Tailwind support, aimed at building reusable custom elements.
muxinc/media-chrome
Customizable audio and video player controls built as native web components that work in any JavaScript framework.
Open-source alternative to:YouTube Player
- Stars
- 2,758
- Forks
- 128
- Open issues
- 10
- Last commit
- 2 days ago
What is it?
Media Chrome is a set of native custom elements for building media player controls such as play buttons, volume and time ranges, fullscreen and picture-in-picture toggles. Controls are plain HTML tags, so adding or removing them is a matter of editing markup, and they are styled with ordinary CSS.
The controls work with standard <video> and <audio> elements and with a number of third-party players such as YouTube and HLS.js. Because they are web components, they run in React, Angular, Svelte and other frameworks without special integration, and the project also publishes React wrapper components for its core elements.
Media Chrome is maintained by Mux and is distributed through npm and a CDN build that can be loaded with a single script tag.
Key features
- 01Built on native custom elements, so it works without a specific framework.
- 02Works with standard video and audio elements and several third-party players.
- 03Controls are added or removed with plain HTML tags.
- 04Styled with plain CSS.
- 05Provides React wrapper components for core elements.
Use cases
- Building a custom-styled video player that matches a website's design.
- Adding consistent playback controls across sites that use several player libraries.
- Creating an audio player with play, seek and playback-rate controls in a web app.
Quick start
- 1
Load Media Chrome from the jsDelivr CDN with the module script tag in your HTML page
- 2
Wrap your video or audio element in media-controller and add media-control-bar with the control elements
Things to know
- The README recommends Video.js for new projects, and Media Chrome is maintained alongside it.
In collections
Topics
FAQ
- What is media-chrome?
- Customizable audio and video player controls built as native web components that work in any JavaScript framework. Media Chrome is a set of native custom elements for building media player controls such as play buttons, volume and time ranges, fullscreen and picture-in-picture toggles. Controls are plain HTML tags, so adding or removing them is a matter of editing markup, and they are styled with ordinary CSS.
- Is media-chrome free to use? What license does it have?
- media-chrome is open source under the MIT license. Check the license terms before using it in commercial products.
- Is media-chrome still maintained?
- Actively maintained. The last commit to media-chrome was on Oct 23, 2026.
- What can I use media-chrome for?
- Building a custom-styled video player that matches a website's design. Adding consistent playback controls across sites that use several player libraries. Creating an audio player with play, seek and playback-rate controls in a web app.
- How do I install media-chrome?
- Load Media Chrome from the jsDelivr CDN with the module script tag in your HTML page Wrap your video or audio element in media-controller and add media-control-bar with the control elements
- Where can I get media-chrome?
- The source code and installation instructions are on GitHub: https://github.com/muxinc/media-chrome
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
An open source UI toolkit built on Web Components for creating cross-platform iOS, Android, and PWA apps from one JavaScript/TypeScript codebase.
Microsoft's monorepo of React components, web components and utilities for building web apps in the Fluent UI design system.
Material Design 3 web components built on Lit, for building accessible web apps with a buildless CDN setup or npm.
Zero-dependency semantic HTML, CSS and JS UI library of about 10KB, styling native elements without classes.
AirPlay and AirPlay 2 audio receiver for Linux, FreeBSD, macOS and OpenBSD that plays audio streamed from Apple devices.