Now the question is: how do we implement DRM on the web? Let’s break it down, and then we’ll do a demo.
Digital Rights Management (DRM)
Protecting video with DRM requires three parts:
There are multiple DRM technologies:
We will demo Widevine since has the widest support, but they all work similarly.
Before we get to a demo, let’s go over how the video is packaged and delivered to the browser.
Adaptive Bitrate (ABR) Streaming
DRM-protected videos are typically served using Adaptive Bitrate (ABR) Streaming, which has two parts:
There are multiple ABR technologies:
The ABR manifest file also lists the DRM needed to decrypt the video. A single manifest might contain multiple DRM types, which allows the player to select the DRM supported by the current browser.
Remember, to play DRM-protected video we need a Video, License, and Player. Encrypting the video and setting up a license server is outside the scope of this demo, so we will focus on the Player. Thankfully, Axinom provides encrypted videos and a license server for testing. Here are the three parts again:
We will use the example from the Shaka Player tutorial as a starting point, and then add DRM.
And here is our demo running:
I hope the above gave you a better understanding of DRM than you had before. Test your understanding by trying out the items below.