Version: 2.67.0

castLabs DRMToday

This article describes how to configure castLabs DRMToday with THEOplayer.

Head to our page on DRM for more general information.

Table of contents

SDKs

Click on the desired SDK cell for related documentation.

Web SDKAndroid SDKiOS SDKtvOSAndroid TV SDK Chromecast SDK YesYesYesYesYesYes

Code examples

Web SDK

if (HLS) {
let drmConfiguration = {
"integration": "drmtoday",
"merchant": "<MERCHANT>",
"sessionId": "<SESSION_ID>",
"token": "<TOKEN>",
"userId": "<USER_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 (DASH) {
let drmConfiguration = {
"integration": "drmtoday",
"merchant": "<MERCHANT>",
"sessionId": "<SESSION_ID>",
"token": "<TOKEN>",
"userId": "<USER_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 = DRMTodayConfiguration.Builder
.drmToday(
new KeySystemConfiguration("<LICENSE_KEY_URL_WIDEVINE>")
)
.merchant("<MERCHANT>")
.sessionId("<SESSION_ID>")
.token("<TOKEN>")
.userId("<USER_ID>")
.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);

iOS SDK

let drmConfiguration = DRMTodayDRMConfiguration(
licenseAcquisitionURL: "<LICENSE_KEY_URL_FAIRPLAY>",
certificateURL: "<CERTIFICATE_URL>",
merchant: "<MERCHANT>",
sessionId: "<SESSION_ID>",
token: "<TOKEN>",
userId: "<USER_ID>"
)
let typedSource = TypedSource(src: "<HLS_STREAM_URL>", type: "application/x-mpegurl", drm: drmConfiguration)
let sourceDescription = SourceDescription(source: typedSource)
theoplayer.source = sourceDescription

Resources