Setup the Bitmovin Player with Irdeto DRM Service

If you are not sure what DRM is, you want have an overview and get started, please have a look at our DRM Setup Guide.

Nearly every license provider, such as Irdeto or EZDRM, requires a few special information being sent to the DRM license server, or responds with a proprietary format. Instead of integrating a few license providers into the core of our player, we decided to provide necessary configuration options via the player configuration.

Widevine

var conf = {
  ...
  source: {
    dash: 'DASH_MANIFEST_URL',
    drm: {
      widevine: {
        LA_URL: 'WV_LA_URL'
      }
    }
  }
};

Please replace the following placeholders in the code:

  • DASH_MANIFEST_URL: The MPEG-DASH manifest (MPD) URL.
  • WV_LA_URL: The Widevine license server URL.

PlayReady

var conf = {
  ...
  source: {
    dash: 'DASH_MANIFEST_URL',
    drm: {
      playready: {
        LA_URL: 'PR_LA_URL'
      }
    }
  }
};

Please replace the following placeholders in the code:

  • DASH_MANIFEST_URL: The MPEG-DASH manifest (MPD) URL.
  • PR_LA_URL: The PlayReady license server URL.

FairPlay

var conf = {
  ...
  source: {
    hls: 'HLS_MANIFEST_URL',
    drm: {
      fairplay: {
        certificateURL: 'CERTIFICATE_URL',
        LA_URL: 'FPS_LA_URL',
        prepareContentId: function (contentId) {
          return contentId.match(/ContentId=([^&]+)/)[1];
        },
        prepareMessage: function (event, session) {
          return new Uint8Array(event.message);
        },
        prepareLicense: function (license) {
          return new Uint8Array(license);
        },
        licenseResponseType: 'arraybuffer'
      }
    }
  }
};

Please replace the following placeholders in the code:

  • HLS_MANIFEST_URL: The URL to the HLS manifest (M3U8) file.
  • FPS_LA_URL: The FairPlay license server URL.
  • CERTIFICATE_URL: The URL to the Fairplay certificate. This needs to be accessible for the player.

Complete example for Widevine, PlayReady and FairPlay

var conf = {
  ...
  source: {
    dash: 'DASH_MANIFEST_URL',
    hls: 'HLS_MANIFEST_URL',
    drm: {
      widevine: {
        LA_URL: 'WV_LA_URL'
      },
      playready: {
        LA_URL: 'PR_LA_URL'
      },
      fairplay: {
        certificateURL: 'CERTIFICATE_URL',
        LA_URL: 'FPS_LA_URL',
        prepareContentId: function (contentId) {
          return contentId.match(/ContentId=([^&]+)/)[1];
        },
        prepareMessage: function (event, session) {
          return new Uint8Array(event.message);
        },
        prepareLicense: function (license) {
          return new Uint8Array(license);
        },
        licenseResponseType: 'arraybuffer'
      }
    }
  }
};

Please replace the following placeholders in the code:

  • DASH_MANIFEST_URL: The MPEG-DASH manifest (MPD) URL.
  • HLS_MANIFEST_URL: The URL to the HLS manifest (M3U8) file.
  • WV_LA_URL: The Widevine license server URL.
  • PR_LA_URL: The PlayReady license server URL.
  • FPS_LA_URL: The FairPlay license server URL.
  • CERTIFICATE_URL: The URL to the Fairplay certificate. This needs to be accessible for the player.
Back to Top
Simple Share Buttons