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 SDK | Android SDK | iOS SDK | tvOS SDK | Android TV SDK | Chromecast SDK |
---|---|---|---|---|---|
Yes | Yes | Unverified | Unverified | Yes | Yes |
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);