A modern HLS player,
wrapped in a <custom-element>

Built on Lit and hls.js — drop it into any framework, or none at all.

Source
Language
🎛️

Full controller

Play/pause, seek, volume, speed, fullscreen and auto-hiding controls — out of the box.

💬

Subtitles

WebVTT tracks declared in the HLS manifest, switchable right from the menu.

🎚️

Bitrate switching

Pick a quality level manually, or let hls.js adapt automatically.

📺

Native fallback

Falls back to native HLS on Safari, where hls.js isn't needed.

🌏

Built-in i18n

English, 日本語 and 中文 ship in the box — switch with a single attribute.

📦

Just a custom element

No framework required. Works anywhere a <video> would.

Quick start

npm install @biliblitz/yk-player hls.js lit
import "@biliblitz/yk-player";
<yk-player src="/videos/index.m3u8" autoplay></yk-player>

Keyboard shortcuts

Click the player once to focus it, then:

Space / k Play / pause
f (or double-click) Toggle fullscreen
m Toggle mute
c Toggle subtitles
← / → Seek −5s / +5s
j / l Seek −10s / +10s
↑ / ↓ Volume up / down
0–9 Jump to 0%–90%
Esc Close the settings menu