How to use videojs-contrib-eme in local server

630 Views Asked by At

Could any one instruct me the steps of implementing Encrypted Media Extensions using videojs-contrib-eme in local server (with Access Point) which doesn't has internet.

Users connect to local server using WiFi with mobile and playback the videos in browser.

So my question is as EME implementations use the following external components:

  1. Key System
  2. Content Decryption Module (CDM):
  3. License (Key) server
  4. Packaging service

(refer for more info -- https://developers.google.com/web/fundamentals/media/eme)

what components are already provided by videojs-contrib-eme , and what components do I need to implement ?

1

There are 1 best solutions below

0
On

It sounds like you are building for an off-line case - the main DRM's supported by most browsers, Widevine, FairPlay and PlayReady, require an internet connection usually for the license request and response.

It is possible to have persistent licenses, i.e. a DRM license which will work offline for download and go use cases like watching movies offline, but even this requires internet connectivity for the original license request and response.

If you plan to implement your own proprietary DRM system, then you will need more changes than just to the player itself, i.e. video.js, in your example.

You will need to implement some form of key server, your own CDM and some form of packager.

It's certainly possible to do all this, but it is a lot of work. If this is not just for a learning exercise, it may be more practical to implement some simple encryption solution on your server and then add simple decryption functionality just before you play the content. This is not as secure but may be good enough for your needs.

Alternatively if you really want DRM level security, it might be worth seeing if you can have limited internet access just for the DRM license requests and responses which are typically very small. This would also you leverage standard browsers and packagers.