SCARLETT PLAYER

A lightweight, plugin-based video player for the modern web. Only bundle what you need.

Try the Demo View on GitHub
🧩

Plugin Architecture

Modular design. HLS, UI, casting - all separate plugins. Bundle only what you use.

🎬

HLS + Native Video

Adaptive streaming with hls.js. Native support for MP4, WebM, MOV, MKV.

📺

Casting Support

Built-in AirPlay and Chromecast plugins with seamless HLS switching.

📝

TypeScript First

Fully typed API with excellent IDE support and developer experience.

🎵

Audio Player UI

Compact audio player with artwork, progress, and multiple layout modes.

📋

Playlist Support

Queue management with shuffle, repeat modes, and auto-advance.

📱

Media Session

Lock screen controls and media keys on mobile and desktop.

📦

Framework Ready

Vue 3 wrapper included, with React coming soon.

Quick Start

import { ScarlettPlayer } from '@scarlett-player/core';
import { createHLSPlugin } from '@scarlett-player/hls';
import { createNativePlugin } from '@scarlett-player/native';
import { uiPlugin } from '@scarlett-player/ui';

const player = new ScarlettPlayer({
  container: document.getElementById('player'),
  plugins: [
    createHLSPlugin(),       // HLS streams (.m3u8)
    createNativePlugin(),    // Native formats (MP4, WebM)
    uiPlugin({
      theme: { accentColor: '#e50914' },
    }),
  ],
});

await player.load('https://example.com/video.m3u8');

Packages

Package Description
@scarlett-player/core Core player engine with state management and event system
@scarlett-player/embed CDN-ready bundles for video and audio players
@scarlett-player/hls HLS playback provider (hls.js + native Safari fallback)
@scarlett-player/native Native video provider (MP4, WebM, MOV, MKV)
@scarlett-player/ui Video UI controls with keyboard shortcuts and theming
@scarlett-player/audio-ui Compact audio player UI (podcasts, music)
@scarlett-player/analytics QoE metrics and engagement tracking
@scarlett-player/playlist Queue management, shuffle, repeat modes
@scarlett-player/media-session Lock screen and media key controls
@scarlett-player/airplay AirPlay casting support
@scarlett-player/chromecast Chromecast casting support
@scarlett-player/vue Vue 3 component wrapper

Keyboard Shortcuts

Space

Play/Pause

M

Toggle Mute

F

Fullscreen

← →

Seek ±5s

Built for

The Stream Platform

Scarlett Player is the official video player for The Stream Platform — powering live streaming, VOD, and PPV for creators and businesses.

Learn more →