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.
// Install
npm install shaka-player
// Create player
const player = new shaka.Player(
video
);
// Load a manifest
await player.load(
"https://example.com/manifest.mpd"
);Try it live
Experience Shaka Player in action. This demo uses a public DASH stream. Widevine DRM is supported out of the box.
Source: Shaka Player demo assets. For Widevine DRM, pass a licenseServer URL to the player.
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.
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.
Supported formats & codecs
Broad format support ensures your content reaches every viewer, on every device.
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
Get started in minutes
Integrate Shaka Player into your project with just a few lines of code.
npm install shaka-playerconst player = new shaka.Player(video);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.