Professional video player for the modern web

The video player
your app deserves.

HLS, DASH, touch gestures, chapters, playlists, theming — every feature you need, zero configuration required. Works with React, Vue, Angular, Svelte, and vanilla JS.

$npm install vidstream-player

10+

Features

7

Frameworks

100%

TypeScript

~33.5kb

Bundle size

Works with every major framework. Pick yours:

Up and running in 30 seconds.

Install the package, drop in a container element, pass your stream URL. Every feature is opt-in — start simple and add what you need.

1Install with npm, yarn, or pnpm
2Import VideoPlayer and pass a source object
3Opt into features one at a time
4Listen to typed events from the EventBus
Full Quick Start guide
import { VideoPlayer } from 'vidstream-player'

const player = new VideoPlayer('#my-player', {
  source: { src: 'https://example.com/stream.m3u8', type: 'hls' },
  gestures: { enabled: true },
  chaptersVtt: '/chapters.vtt',
  playlist: [
    { src: '...', title: 'Episode 1' },
    { src: '...', title: 'Episode 2' },
  ],
  playlistOptions: { autoNext: true },
})

player.on('chapterChange', ({ chapter }) => {
  console.log('Now in chapter:', chapter.title)
})