Encrypted Media Extensions in HTML5 video

3.6k Views Asked by At

This might be off-topic, but I appeal to the gods of SO to allow this thread to exist.

I've been scouring the web using all the keyword permutations I know, to try and find a solid guide for implementing Encrypted Media Extensions in HTML5 video.

There is tons of information on what EME is, but not a practical guide on implementing it.

Have you found any practical guides on implementing an end-to-end EME pipeline, or at the very least something that points toward that?

1

There are 1 best solutions below

0
On

For anyone still looking for this, there are some open source players which have EME integrated, allowing you to view the implementation approach in detail.

For example, dash.js the Dash Industry Forum reference player, supports EME and has an architecture to support multiple DRM's.

Take a look at the ProtectionModel.js file to get a feel for the high level architecture and also at the files using the KeySystem Interface in the DRM's folder, for example KeySystemWidevine.js.

The code in ProtectionController.js ties it all together so another good place to look.

When looking at the code it is worth noting that the terms DRM system and KeySystem are sometimes used interchangeably, which is quite common in the DRM world.