https://github.com/doverunner/html5-player-drm-samples
DoveRunner Multi-DRM integration samples for HTML5 players
https://github.com/doverunner/html5-player-drm-samples
drm fairplay html5-video pallycon playready widevine
Last synced: 4 months ago
JSON representation
DoveRunner Multi-DRM integration samples for HTML5 players
- Host: GitHub
- URL: https://github.com/doverunner/html5-player-drm-samples
- Owner: doverunner
- Created: 2020-12-22T10:12:49.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-09-11T03:27:27.000Z (9 months ago)
- Last Synced: 2025-09-11T06:56:21.563Z (9 months ago)
- Topics: drm, fairplay, html5-video, pallycon, playready, widevine
- Language: JavaScript
- Homepage: https://doverunner.com/
- Size: 239 KB
- Stars: 25
- Watchers: 7
- Forks: 13
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DoveRunner Multi-DRM integration samples for HTML5 Players
These samples show how to play streaming content (DASH or HLS) protected with multi-DRM (PlayReady, Widevine, FairPlay Streaming) using the HTML5 player from the web page of the service site.
1. MPEG-DASH CENC content
- DASH streaming content protected by PlayReady and Widevine DRM encrypted under the Common Encryption standard. Depending on your browser, PlayReady (Edge) or Widevine (Chrome, FireFox) DRM is applied.
- Shaka, Video.js, and Bitmovin players use the highest robustness for Dash playback, depending on the client environment.
2. HLS FPS(FairPlay Streaming) content
- HTTP Live Streaming content encrypted with Sample AES and protected by FairPlay Streaming. Applies to Safari browsers running on Mac OS X (10.10 or later).
3. Widevine Desktop's Unique DeviceId
- To use Widevine CSL, PersistentState must be enabled on the player.
- Add some samples.
- Shaka Player config : ([docs](https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.AdvancedDrmConfiguration))
```javascript
'com.widevine.alpha': {
'persistentStateRequired': true
}
```
- Bitmovin Player config : ([docs](https://bitmovin.com/docs/player/api-reference/web/web-sdk-api-reference-v8#/player/web/8/docs/enums/drm.mediakeysystemconfig.persistentstate.html))
```javascript
widevine: {
'mediaKeySystemConfig': {
'persistentState':'required'
}
}
```
- VideoJS Player config reference : ([github](https://github.com/videojs/videojs-contrib-eme/blob/main/src/eme.js#L64))
```javascript
{
name: 'com.widevine.alpha',
options: {
persistentState: 'required'
}
}
```
## Advanced
- [CSL (Concurrent Stream Limiting)](advanced/csl/README.md)
- [Hardware DRM](advanced/hardware-drm/README.md)