DRM Streaming Test


What is DRM video protection?

Digital Rights Management (DRM) systems provide you with the ability to protect copyrights for digital media. A DRM setup needs specific encoding, packaging, playback and a license server. License servers are offered by companies such as Irdeto, EZDRM, Expressplay and Axinom. It is also possible to build your own license servers with Google (Widevine), Microsoft (PlayReady), Adobe (PrimeTime) or Apple (Fairplay). The player can utilize the HTML5 Encrypted Media Extensions (EME) to enable DRM playback. Currently, the only DRM supported with HLS is Apple's FairPlay. DASH supports a range of third-party DRM solutions like Widevine and PlayReady via the Media Source Extensions (MSE) and Encrypted Media Extensions (EME).

How to play DRM stream?

For videojs player you can find free EME plugin to play DRM MPEG-DASH streams. Full description of videojs Eme plugin usage for different type of DRM stream, plugin options you can find among Videojs Github resources. DRM Widevine DASH/MPEG stream used in example above utilize EME plugin and example code is like:
Code snippet
<script src="//domain.com/videojs/video.min.js"></script>
<script src="//domain.com/videojs/nuevo.min.js"></script>
<script src="//domain.com/videojs/plugins/videojs-contrib-eme.min.js"></script>

<video id="myplayer" class="video-js" width+"640" height="360" controls></video>

// initalize player
var player = videojs("myplayer");
// initalize nuevo plugin with possible options
//initialize eme plugin
player.src ({
  src: "//path-to-playlist.mpd",
  type: "application/dash+xml",
  keySystems: {
    "com.widevine.alpha": ""
You cannot decrypt and play DASH/MPEG playlist used in example above without Eme plugin and keysystem used to decrypt the media.