- Print
- DarkLight
- PDF
About Digital Rights Management (DRM)
As a content publisher, securing your valuable content is crucial, and that's where Digital Rights Management (DRM) comes in. DRM is a set of technologies designed to lock your content, preventing users from saving or redistributing the protected content. This is done using encryption and access tokens to authorize both the device and the video player, allowing them to decrypt and play the protected content.
ViewLift has partnered with Axinom and EZDRM to provide our clients with all the necessary frameworks to secure your content - live, VOD, and offline/downloadable videos. Contact our Support team if you'd like to configure your DRM account.
How DRM works & its key components
Tools CMS will handle all the components in the DRM flow with Axinom configuration.
- Content Ingestion and renditions
Media is ingested into Tools as an MP4, MOV, or AVI file. Our media encoder automatically picks up the file and transcodes it into multiple renditions suitable for different playback scenarios. This might include renditions with lower bitrates for mobile devices or higher resolutions for large screens set according to your ABR ladder template. For DRM, you can choose HLS alone (in case of Live broadcasts), or HLS, Widevine, and PlayReady DRM combination. If you support offline viewing, then DRM is also applied to the MP4 renditions. - Encryption
Once the content is transcoded, the DRM encrypts the file and renders it unreadable without a decryption key. At this stage, a key ID is embedded into each rendition which is stored in the header of the stream.
- License Server Communication Protocol
The encrypted video content is then packaged into appropriate formats for storage and delivery, such as MPEG-DASH, HLS, and the protected MP4 versions for offline viewing. The packages are stored in the cloud server, ready for playback.
A key ID is used as the communication protocol for the secure key exchange of data between the player and the license server. The player will extract the Key ID from the encoded content, depending on the format (MPEG-DASH or HLS). This information is exchanged with the DRM license server for decryption during playback.
Axinom generates the corresponding keys (one set for Widevine/PlayReady and one for FairPlay) for decryption. - Player Request-Response
When a user attempts to play back a video, the video player initiates a request to the DRM license server. The license server verifies the user's and device's authorization and sends the following data: Certificate URL (Fairplay only), license token generated using Key ID, Communication Key details, and Axinom License Server URLs and Playback URL (MPEG-DASH or HLS). With the decryption key, the player will decrypt the encryption and present it for playback to the authorized user. - DRM flow is enabled through a series of backend and frontend configurations in Tools.
DRM integration in Tools CMS
DRM flow is enabled through a series of backend and frontend configurations in Tools.
Backend configuration
Tenant Creation and Keys
Axinom creates the tenant account and shares a Fact Sheet with us containing all the necessary DRM configurations to set up your DRM service.
DRM encoding template
ViewLift will at the same time create the DRM encoding templates for Fairplay (HLS), Widevine/PlayReady (MPEG-DASH) in your media encoder corresponding to your existing template. The Encoding Keys are sourced from the Fact Sheet:
- One set for Widevine (Android) /PlayReady (Windows).
- One key for Fairplay (iOS/Apple).
Also, the following parameters are configured at the backend :
- License Server URLs for Axinom (Fairplay/Widevine/PlayReady).
- Communication Key and ID.
Fairplay client certificate (.cer file) generation
Google Widevine and Microsoft PlayReady DRM certificates are pre-acquired and included in your Fact Sheet. However, obtaining a Fairplay DRM certificate requires you to generate a request and submit it through your developer account for Apple's approval.
In the CMS Frontend
The Tenant ID and Management Key can be configured in the AppCMS -> Settings -> DRM Settings page. The rest of the fields are non-editable and are configured in the backend as explained above. Use the toggles against DRM for VOD content and DRM for Audio to specify your DRM settings. Save the Settings page to store the configuration details.
Once implemented, you'll see DRM configuration options in the VOD/Live stream creation modal. To apply DRM protection, ensure you select the DRM settings before uploading content.
Player Implementations
Desktop Web Players: Modified video.js code (based on Axinom's DRM quick-start repository). For more information, see this Axinom article.
iOS Players: Dedicated Axinom iOS quick-start repository. Learn more: Axinom DRM for HLS playback.
Android Players: Dedicated Axinom Android quick-start repository. Learn more: Axinom DRM for DASH playback.
Ad Integration
The ad integration process will also involve your ad server, which acts as an ad stitching server. This server is responsible for inserting ads into the HLS and MPEG-DASH (MPD) playlists using SCTE markers. These markers indicate the exact location within the media content where ads should be displayed.
OptionalPlayerParams optionalPlayerParams = new OptionalPlayerParams();
optionalPlayerParams.setAdUrl(adUrl);
Test DRM playback
Procedure
- Upload content to the Tools CMS.
- Select DRM before uploading content.
- Publish the content.
- Test content playback on every platform.