[object Object] Icon

Encoding
Learn how to create, start, manage and modify Encodings

[object Object] Icon

Player
Learn how to create, start, manage and modify Players

[object Object] Icon

Analytics
Learn how to create, start, manage and modify Analyticss

How to play DRM protected content with Irdeto

OverviewLink Icon

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.


WidevineLink Icon

1var conf = {
2 key: 'YOUR-PLAYER-LICENSE-KEY-HERE',
3 source: {
4 dash: 'DASH_MANIFEST_URL',
5 drm: {
6 widevine: {
7 LA_URL: 'WIDEVINE_LA_URL'
8 }
9 }
10 }
11};

Please replace the following placeholders in the code:

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

PlayReadyLink Icon

1var conf = {
2 key: 'YOUR-PLAYER-LICENSE-KEY-HERE',
3 source: {
4 dash: 'DASH_MANIFEST_URL',
5 drm: {
6 playready: {
7 LA_URL: 'PLAYREADY_LA_URL'
8 }
9 }
10 }
11};

Please replace the following placeholders in the code:

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

FairPlayLink Icon

1var conf = {
2 key: 'YOUR-PLAYER-LICENSE-KEY-HERE',
3 source: {
4 hls: 'HLS_MANIFEST_URL',
5 drm: {
6 fairplay: {
7 certificateURL: 'CERTIFICATE_URL',
8 LA_URL: 'FPS_LA_URL',
9 prepareContentId: function (contentId) {
10 return contentId.match(/ContentId=([^&]+)/)[1];
11 },
12 prepareMessage: function (event, session) {
13 return new Uint8Array(event.message);
14 },
15 prepareLicense: function (license) {
16 return new Uint8Array(license);
17 },
18 licenseResponseType: 'arraybuffer'
19 }
20 }
21 }
22};

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 Player Configuration Example for Multi-DRMLink Icon

1var conf = {
2 key: 'YOUR-PLAYER-LICENSE-KEY-HERE',
3 source: {
4 dash: 'DASH_MANIFEST_URL',
5 hls: 'HLS_MANIFEST_URL',
6 drm: {
7 widevine: {
8 LA_URL: 'WIDEVINE_LA_URL'
9 },
10 playready: {
11 LA_URL: 'PLAYREADY_LA_URL'
12 },
13 fairplay: {
14 certificateURL: 'FPS_CERTIFICATE_URL',
15 LA_URL: 'FPS_LA_URL',
16 prepareContentId: function (contentId) {
17 return contentId.match(/ContentId=([^&]+)/)[1];
18 },
19 prepareMessage: function (event, session) {
20 return new Uint8Array(event.message);
21 },
22 prepareLicense: function (license) {
23 return new Uint8Array(license);
24 },
25 licenseResponseType: 'arraybuffer'
26 }
27 }
28 }
29};

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.
  • FPS_CERTIFICATE_URL: The URL to the Fairplay certificate. This needs to be accessible for the player.

Give us feedback