DRM and authentication
If your media requires authentication/rights to access, you'll need to work out how to hook up the necessary digital rights management and authentication mechanisms.
You can either work directly with the listed tools and technologies for DRM, or through a third-party vendor such as Brightcove, Google or Adobe. The advantage of using a third-party vendor's system is that generally they will provide or assist with code for checking which platform the user is on, coordinating with the relevant key system for that platform to handle the DRM, etc.
There are a number of components involved in digital rights management (DRM) on the web:
- A packaging service to encrypt your media. Your media needs to be encrypted to work with an EME-supporting player. HTML5 video can be encrypted once using the ISO BMFF/CENC format and streamed to many browser, mobile, and consumer electronics platforms, saving critical asset storage and maintenance costs. One tool that can satisfy these needs is Shaka Packager. (See Widevine Encoding and Packaging and Widevine Using the Shaka Packager and Player for useful usage information.)
- A DRM service (key system) that generates keys to be used in license requests.
- A content decryption module (CDM) for client-side playback. This component handles retrieving keys, generating license requests by sending keys to license servers, etc. EME provides an interface for interacting with CDMs, though it does not define any itself.
You can find a lot more detail about how the system works in What is EME?
Unlike Flash, the web requires you to use different digital rights management services depending upon which OS/browser your app is running on. The primary DRM services (key systems) for the web are:
In general, Widevine is supported by Firefox, Chrome, and Opera, PlayReady is supported by IE/Edge, and FairPlay is supported by Safari. Check out our Browser support tables for more details.
If you want users to authenticate before they can access your content, you could build your own authentication system, or use a single toolkit like Adobe Primetime to handle both your authentication and DRM needs in one place.
If you want to create your own system, it is worth taking a look at the Credential Management API, which is a dedicated API to facilitate authentication.