TypeScript Work in progress

Scarlett Player

A modular, plugin-based video player with a deliberately small core.

Why it exists

Most web video players ship every feature in one bundle, so a page that only ever plays a progressive MP4 still downloads the HLS engine, the DASH engine, and the cast integration.

Scarlett inverts that. The core handles playback, state, and the plugin contract, and nothing else. HLS, DASH, and Chromecast are first-class plugins you opt into, so you ship only what you actually use.

What it does

Small core

Playback, state management, and the plugin contract. Everything else is opt-in.

Streaming plugins

HLS and DASH support as separate, independently loadable plugins.

Chromecast

Cast integration as a plugin rather than a bundled dependency.

TypeScript

Fully typed, built with Vite.

This project is under active development and the API is not yet stable.