Nagra Conax Contego on Web
This article describes how to configure Conax DRM with THEOplayer.
Head to our page on DRM for more general information.
Integration
We provide open-source DRM integrations which are easy to maintain and allow for a modular approach. You can find them in the DRM integration samples repository, alongside guides on how to integrate and use them.
The Nagra Conax Contego integration can be found here.
Pre-integration
note
When integrating DRM for the first time or updating your integration, the DRM integration described above is preferred over the pre-integration below.
if (HLS) {
if (CLASSIC_MODEL) {
let drmConfiguration = {
integration: 'conax',
token: '<CONAX_TOKEN>',
deviceId: '<DEVICE_ID>',
fairplay: {
licenseAcquisitionURL: '<LICENSE_KEY_URL_FAIRPLAY>',
certificateURL: '<CERTIFICATE_URL>',
},
};
player.source = {
sources: {
src: '<HLS_STREAM_URL>',
type: 'application/x-mpegurl',
contentProtection: drmConfiguration,
},
};
} else if (UPFRONT_MODEL) {
let drmConfiguration = {
integration: 'conax',
fairplay: {
licenseAcquisitionURL: '<LICENSE_KEY_URL_FAIRPLAY>',
certificateURL: '<CERTIFICATE_URL>',
},
headers: {
PreAuthorization: '<CONAX_PREAUTHORIZATION_TOKEN>',
},
};
player.source = {
sources: {
src: '<HLS_STREAM_URL>',
type: 'application/x-mpegurl',
contentProtection: drmConfiguration,
},
};
} else {
// player throws an Invalid Conax configuration error
}
} else if (DASH) {
let drmConfiguration = {
integration: 'conax',
token: '<CONAX_TOKEN>',
deviceId: '<DEVICE_ID>',
playready: {
licenseAcquisitionURL: '<LICENSE_KEY_URL_PLAYREADY>',
},
widevine: {
licenseAcquisitionURL: '<LICENSE_KEY_URL_WIDEVINE>',
},
};
player.source = {
sources: {
src: '<DASH_STREAM_URL>',
type: 'application/dash+xml',
contentProtection: drmConfiguration,
},
};
}