// the find
vime-js/vime
Customizable, extensible, accessible and framework agnostic media player. Modern alternative to Video.js and Plyr. Supports HTML5, HLS, Dash, YouTube, Vimeo, Dailymotion...
Vime is a web-components-based media player built with Stencil, offering a unified API across HTML5, HLS, DASH, YouTube, Vimeo, and Dailymotion. It ships framework bindings for React, Vue, Svelte, Angular, and Stencil. The README opens with a deprecation warning — the project is being abandoned.
The component composition model is genuinely well-designed: you assemble controls declaratively in markup rather than passing a config blob, which makes custom UIs far less painful than Video.js. CSS custom properties are used throughout for theming, so you don't need to fight specificity wars to restyle it. The unified provider abstraction means you write the same event/property API whether the source is an mp4 or a YouTube embed. At ~25kB gzip standalone it's lighter than most alternatives.
It's deprecated — the maintainer has explicitly said so in the README and linked to an open issue about it. Adopting this today means inheriting a dead codebase. The Stencil dependency is an unusual bet that didn't pay off long-term; if Stencil's own trajectory wobbles, so does Vime. The YouTube and Vimeo providers work via iframe postMessage, which means you're at the mercy of third-party API changes with no upstream maintainer to fix breakage. Only 154 forks on a 2800-star repo suggests the community never grew large enough to sustain it without the original author.