Setup the Bitmovin Player with Conax
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, EZDRM or Conax, 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, PlayReady & FairPlay
var conf = {
...
source: {
dash: 'MPEG-DASH_MANIFEST_URL',
hls: 'HLS_MANIFEST_URL',
drm: {
widevine: {
LA_URL: 'CONAX_WIDEVINE_LICENSE_SERVER_URL',
headers: [{
name: 'Conax-Custom-Data',
value: '{"Version":"1.0.0","CxAuthenticationDataToken":"'+ TOKEN +'","CxClientInfo":{"DeviceType":"Browser","DrmClientType":"Widevine-HTML5","DrmClientVersion":"1.0.0","CxDeviceId":"'+ DEVICE_ID +'"}}'
}]
},
playready: {
LA_URL: 'CONAX_PLAYREADY_LICENSE_SERVER_URL',
headers: [{
name: 'Conax-Custom-Data',
value: '{"Version":"1.0.0","CxAuthenticationDataToken":"'+ TOKEN +'","CxClientInfo":{"DeviceType":"Browser","DrmClientType":"PlayReady-HTML5","DrmClientVersion":"1.0.0","CxDeviceId":"'+ DEVICE_ID +'"}}'
}]
},
fairplay: {
LA_URL: 'CONAX_FAIRPLAY_LICENSE_SERVER_URL',
certificateURL: 'CERTIFICATE_URL',
prepareMessage : function(event, session) {
return event.message;
},
prepareContentId : function(initDataAsString) {
var base64decoded = window.atob(initDataAsString.split("skd://")[1].split("?")[0]);
var json = JSON.parse(base64decoded);
return '{"contentRef": "' + json.ContentRef + '", "keyId": "' + json.KeyId + '"}';
},
prepareLicense : function(license) {
return JSON.parse(license).CkcMessage;
},
useUint16InitData : true,
headers: [{
name: 'Content-type',
value: 'application/octet-stream'
},{
name: 'Conax-Custom-Data',
value: '{"Version":"1.0.0","CxAuthenticationDataToken":"'+ TOKEN +'","CxClientInfo":{"DeviceType":"Browser","DrmClientType":"FairPlay-HTML5","DrmClientVersion":"1.0.0","CxDeviceId":"'+ DEVICE_ID +'"}}'
}]
}
}
}
};
Please replace the following placeholders in the code:
- HLS_MANIFEST_URL: The URL to the HLS manifest (M3U8) file.
- MPEG-DASH_MANIFEST_URL: The URL to the DASH manifest (mpd) file.
- CERTIFICATE_URL: The URL to the Fairplay certificate. This needs to be accessible for the player.
- TOKEN: The provided by Conax
- DEVICE_ID: The device ID provided by Conax
