Open-source adaptive media library

Stream DASH & HLS anywhere

Shaka Player is a JavaScript library for adaptive bitrate streaming. Play DASH and HLS in any modern browser, with DRM, offline support, and zero dependencies.

Free and open source under the Apache-2.0 license.

player.js
// Install
npm install shaka-player

// Create player
const player = new shaka.Player(
  video
);

// Load a manifest
await player.load(
  "https://example.com/manifest.mpd"
);
Interactive Demo

Try it live

Experience Shaka Player in action. This demo uses a public DASH stream. Widevine DRM is supported out of the box.

Big Buck Bunny
DASH / H.264 / AAC
Live
Loading player...

Source: Shaka Player demo assets. For Widevine DRM, pass a licenseServer URL to the player.

Widevine DRM

Protected content playback

This demo plays a Widevine-encrypted stream using Shaka Player's built-in DRM support. Requires a Widevine-enabled browser like Chrome or Edge.

Sintel (Widevine Protected)
DASH / H.264 / AAC / Widevine CENC
DRM
Loading player...

Manifest: sintel-widevine/dash.mpd · License server: cwip-shaka-proxy.appspot.com/no_auth

8.2k+

GitHub Stars

1.5k+

Forks

100%

Open Source

Apache-2.0

License

Everything you need for adaptive streaming

Production-ready features for DASH and HLS, with a clean API and extensive documentation.

Adaptive Bitrate
Automatic quality adjustment based on network conditions. Smooth playback even on unstable connections.
Widevine & PlayReady
Full DRM support out of the box. Protect premium content with industry-standard encryption.
Cross-Platform
Works on Chrome, Firefox, Safari, Edge, and smart TVs. No plugins or Flash required.
Offline Playback
Download content with IndexedDB and play back later, even without an internet connection.

Supported formats & codecs

Broad format support ensures your content reaches every viewer, on every device.

DASH
MPD manifests, VOD & Live
HLS
m3u8 playlists, Low-Latency
MP4
ISO-BMFF / CMAF
WebM
Open web media
WebVTTTTMLCEA-608/708AACMP3AC-3EC-3H.264H.265VP9AV1
Content Protection

Enterprise-grade DRM

Secure premium content with Widevine, PlayReady, FairPlay, and ClearKey. Shaka Player handles license acquisition, rotation, and error recovery automatically.

  • Widevine (Chrome, Firefox, Edge)
  • PlayReady (Edge)
  • FairPlay (Safari)
  • ClearKey (debugging)
  • Key rotation support
Widevine
PlayReady
FairPlay
ClearKey

Get started in minutes

Integrate Shaka Player into your project with just a few lines of code.

1
Install the library
npm install shaka-player
2
Create a player instance
const player = new shaka.Player(video);
3
Load and play
await player.load("https://example.com/manifest.mpd");

Ready to build?

Start streaming with Shaka Player today. Open source, production-ready, and trusted by developers worldwide.