Skip to main content

DRM License Renewal with Axinom DRM

This guide explains how to configure DRM license renewal in Axinom DRM, with a focus on Widevine, PlayReady, and FairPlay. License renewal behavior depends on the DRM system, player capabilities, and the configuration of your Entitlement and License Service Messages.

Why do we renew DRM licenses?​

Every DRM license has an expiry time. Keeping that time very short—just a few minutes—does two things:

  1. Limits exposure if a license leaks: If someone steals the license, they can only decrypt the few minutes it covers.

  2. Enables instant control. Because licenses expire quickly, you can revoke a user or change their viewing rights almost in real time.

The downside is that a license can run out while a viewer is still watching.

License renewal solves this: before the old license expires, the player quietly asks the Axinom License Service (or your proxy in front of it) for a fresh one. The request is re-validated, so you can refuse it if the user no longer has permission. From the viewer’s perspective nothing changes—playback keeps flowing without a glitch.

Overview of DRM Renewal Support​

DRM TypeRenewal SupportNotes
WidevineFully natively SupportedConfigurable via the license/EM by setting the relevant renewal settings; client CDM handles renewals automatically.
FairPlayPartially natively supportedRequires manual player-side implementation to trigger renewal.
PlayReadyNot natively supportedRequires manual DRM session management, where new sessions are created to request new short-duration licenses.

Sample Multi-DRM Configuration​

A sample Entitlement Message supporting all three DRM types with minimal configuration:

"license": {
"widevine": {
"allow_renewal": true,
"renewal_delay": 180,
"renewal_recovery": 20
},
"playready": {
"duration": "200",
"real_time_expiration": true
},
"fairplay": {
"duration": "200",
"real_time_expiration": true
}
}
note

In the case of Fairplay & Playready, you can enforce the player to request a new license at the 180th second to continue the playback.

DRM-specific Considerations​

Widevine​

  • Renewal is handled automatically by the CDM.
  • Best to avoid duration unless needed.
  • Supports renewal_delay and renewal_recovery. Read more here
  • As an optional setting, you can use "include_all_entitled_keys": true. This ensures that all keys entitled for the user are included in the license, which may be relevant for multi-key or multi-track content.

FairPlay​

  • Requires the player to implement renewal manually.
  • Not fully configurable via server.
  • On macOS Safari, real-time license expiration is not supported. Playback must stop via player logic.

PlayReady​

  • No native renewal mechanism.
  • Renewal is implemented via repeated DRM sessions with short-duration licenses.
  • Manual session management is required.
  • No open-source players are known to support this. Bitmovin player reportedly supports PlayReady renewals.
note

For PlayReady and FairPlay, timing the license renewal is important. If renewal is triggered too early in the license's lifespan, it may lead to unnecessary license requests and overhead. Conversely, if renewal is triggered too late, playback may halt until a new license is successfully acquired. It is essential to carefully balance the timing to match your playback and business requirements.

See Also​