Skip to main content

Adaptive streaming, behind one typed API.

HLS, DASH and CMAF with a custom adaptive-bitrate selector, captions, Picture-in-Picture and fullscreen. One EvePlayer class, the streaming engine bundled in and kept out of your way.

HLSDASHCMAFCustom ABRTypeScript
What you get

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.

API

One typed API

A single EvePlayer class wraps the whole playback stack behind a stable, fully-typed surface. Consuming apps never touch player internals.

Read the guide
Streaming

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 & ABR
Interface

Batteries 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.

Browse the guides
Quick start

Three lines to a playing stream.

Install the package, import the stylesheet once, construct the player against any container element.

player.ts
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));