Skip to main content
Version: 8.7.0

Nagra Conax Contego

This article describes how to configure Conax DRM with THEOplayer.

Head to our page on DRM for more general information.

SDKs

Web SDKAndroid SDKiOS SDKtvOS SDKAndroid TV SDKChromecast SDK
YesYesUnverifiedUnverifiedYesYes

Code examples

Web SDK
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,
},
};
}
Android SDK
DRMConfiguration drmConfiguration = ConaxDRMConfiguration.Builder.conaxDrm("<DEVICE_ID>", "<CONAX_TOKEN>")
.widevine(
new KeySystemConfiguration(
"<LICENSE_KEY_URL_WIDEVINE>"
)
)
.build();
TypedSource typedSource = new TypedSource.Builder()
.src("<DASH_STREAM_URL>")
.drm(drmConfiguration)
.build();
SourceDescription sourceDescription = SourceDescription.Builder.sourceDescription()
.sources(typedSource)
.build();
theoplayer.getPlayer().setSource(sourceDescription);