@blindcast/player adds zero-knowledge encrypted HLS playback to any web application. It plugs into hls.js via custom loaders that intercept key fetches and decrypt segments locally in the browser — plaintext video never leaves the viewer’s device.
Browser-only. This package requires MSE (Media Source Extensions) and the Web Crypto API. It does not support Node.js.
Install
hls.js is a peer dependency — install it separately.
Browser support
Always callisPlayerSupported() before creating a player:
Supported browsers
| Browser | Minimum version |
|---|---|
| Chrome | 37+ |
| Firefox | 34+ |
| Safari | 11+ |
| Edge | 79+ |
isPlayerSupported() returns false if either MSE or crypto.subtle is unavailable. This covers all modern browsers, including mobile.
10-line integration
Next steps
- Basic Usage — events, metrics, and destroy
- Authentication — add auth tokens to key requests
- Leases — revoke access without re-encrypting
- API Reference — full options, events, and error codes