Everything the app needs, nothing it doesn't
A single class wraps the whole playback stack behind a stable, fully-typed surface. Consuming apps never touch player internals.
One typed API
A single EvePlayer class wraps the whole playback stack behind a stable, fully-typed surface. Consuming apps never touch player internals.
Streaming that behaves
HLS, DASH and CMAF from one bundled streaming engine, with a custom “Auto” selector tuned to reach and hold the top rendition.
Quality & ABRBatteries included
Picture-in-Picture you can drag around the page, hand-built settings and captions menus, thumbnail previews on DASH and HLS, chapters, bookmarks. The skin is a set of --eve- CSS variables.
Three lines to a playing stream.
Install the package, import the stylesheet once, construct the player against any container element.
import '@admmedia/eveplayer/style.css';
import { EvePlayer } from '@admmedia/eveplayer';
const player = new EvePlayer(el, {
sources: [{ src: 'https://cdn.example/master.m3u8' }],
autoplay: true,
});
// every player event is typed
player.on('renditionchange', (q) => report(q.height));