// the find
chintan9/plyr-react
A simple, accessible and customisable react media player for Video, Audio, YouTube and Vimeo
A thin React wrapper around the Plyr media player, exposing both a component and a hook. It handles video, audio, YouTube, and Vimeo through the same API. Aimed at React developers who want Plyr's UI without wiring up the imperative lifecycle themselves.
The `usePlyr` hook is the right abstraction — it gives you the raw Plyr instance via ref without hiding it behind an opaque component API. Full TypeScript types are exported, including for Plyr options and the instance itself, so autocomplete actually works. Tree-shakeable ESM build with no side effects means it won't bloat bundles that only need the hook. The HLS.js integration pattern (composing `useHls` with `usePlyr`) is clean and doesn't require the library to take on a streaming dependency.
The source is essentially one file (`src/index.tsx`) wrapping a third-party imperative library — there's almost nothing here beyond plumbing, so bugs in Plyr itself become your problem with no buffer. The dist directory is committed to the repo, which is a maintenance smell and means the published source and the readable source can quietly diverge. 520 stars for a three-year-old wrapper suggests it hasn't found wide adoption, likely because most teams just wire up Plyr directly or pick a heavier but more self-contained player. No built-in DRM or subtitle track management — if you need either, you're back to the Plyr imperative API anyway.