finds.dev← search

// the find

xxxily/h5player

★ 3,778 · TypeScript · GPL-3.0 · updated Aug 2026

This software supports all audio and video websites, such as TikTok, YouTube, Bilibili, TED, Instagram, Twitter, etc. Features include: variable playback speed, screen capture, video download, custom settings, and extensions, etc., providing you with a pleasant online audio and video playback experience.

h5player is a Tampermonkey/Greasemonkey userscript that bolts a unified keyboard-driven control layer (speed, PiP, screenshot, brightness/contrast, download) onto any site using an HTML5 video tag — Bilibili, YouTube, Netflix-adjacent sites, etc. It's for people who want VLC-style playback control inside the browser without per-site extensions, and it's been iterated on for years with a real install base (3.7k stars, GreasyFork distribution).

Genuinely solves a hard problem: it reaches into iframes, shadow DOM, and cross-origin frames to apply shortcuts consistently, and supports multi-instance control (Twitter/Instagram feeds with several video tags at once). It ships an actual CI pipeline (nightly/RC/stable GitHub Actions builds) rather than hand-rolled releases, which is rare for a userscript. Feature depth is real and not padding — PiP, frame-stepping for screenshot alignment, hue/blur/saturation filters, and cross-tab PiP handoff are things competing scripts don't bother with.

There's no test directory anywhere in the tree despite the core relying on deep monkey-patching (Object.defineProperty hijacking, event listener interception, attachShadow hacking, fake UA/visibility state) — exactly the kind of fragile surface that needs regression coverage and doesn't have any. The project/09-reviews folder is a graveyard of dated, site-specific breakage fixes (Tencent authority rebind, Netflix foreground ownership, bilibili codec issues) — this isn't incidental bug-fixing, it's the recurring cost of fighting video players that change out from under you, and it will keep happening. The maintainer states in the README that negative feedback 'is not accepted' and routes support through WeChat/Telegram groups plus paid customization instead of structured issue triage, so don't expect timely help if your specific site breaks. Download is flagged experimental and the whole approach of defeating anti-tampering measures on target sites is adversarial by design, which means sites that actively care will eventually patch around it.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →