Skip to main content
Version: 4.12.7

Intertrust ExpressPlay

This article describes how to configure Intertrust ExpressPlay DRM with THEOplayer.

Head to our page on DRM for more general information.

SDKs

Web SDKAndroid SDKiOS SDKtvOS SDKAndroid TV SDKChromecast SDK
YesUnverifiedUnverifiedUnverifiedUnverifiedYes

Code examples

Web SDK
if (HLS) {
let drmConfiguration = {
integration: "expressplay",
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: "expressplay",
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

Not verified.

DRMConfiguration drmConfiguration = new DRMConfiguration.Builder()
.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);
iOS/tvOS SDK and Legacy iOS/tvOS SDK (4.12.x)

Not verified.

// let headers = [["<KEY>": "<VALUE>"]]
let drmConfiguration = FairPlayDRMConfiguration(
licenseAcquisitionURL: "<LICENSE_KEY_URL_FAIRPLAY>",
certificateURL: "<CERTIFICATE_URL>"
// , headers: headers, licenseType: <LICENSE_TYPE>
)
let typedSource = TypedSource(src: "<HLS_STREAM_URL>", type: "application/x-mpegurl", drm: drmConfiguration)
let sourceDescription = SourceDescription(source: typedSource)
theoplayer.source = sourceDescription

Resources