Amazon Vinyl
A high-performance HTML5 streaming engine for DASH and HLS — with DRM, adaptive bitrate, and zero runtime dependencies.
90 kB
Size (Gzipped)
100%
Test Coverage
0
Dependencies
99.9%
Browser Support
Features
DASH & HLS adaptive streaming — Play MPEG-DASH and HLS sources with automatic quality adaptation.
Widevine, FairPlay & PlayReady DRM — Protected playback across every major content-protection system.
Adaptive bitrate selection — Bandwidth- and buffer-aware ABR that keeps playback smooth.
Gapless track transitions — Seamless, gapless switching between queued tracks.
UHD audio up to 192 kHz — High-resolution audio playback at studio sample rates.
Zero runtime dependencies — A self-contained engine — nothing else to ship.
Full TypeScript support — First-class types for the entire public API.
Browser compatibility
| Browser | Support |
|---|---|
| Chrome | v52+ |
| Firefox | v52+ |
| Safari | HLS v11+, DASH v17+ |
| Edge | v18+ |
| Chromium | v52+ |
Getting started
Installation
npm install @amazon/vinylyarn add @amazon/vinyl
Basic usage
import { createVinylPlayer } from '@amazon/vinyl'
const media = document.createElement('video')
media.width = 640
media.height = 360
media.controls = true
document.body.appendChild(media)
const player = createVinylPlayer({ media })
player.load({
type: 'dash',
uri: 'https://example.com/manifest.mpd',
})
See the full usage guide for HLS, DRM, preloading, queueing, and advanced configuration, or try the interactive player demo.