This article describes how to configure Arris Titanium DRM with THEOplayer. Head to our page on DRM for more general information.
Web SDK | Android SDK | iOS SDK | tvOS SDK | Android TV SDK | Chromecast SDK |
---|---|---|---|---|---|
Yes | Yes | Unverified | Unverified | Yes | Yes |
if (HLS) {
let drmConfiguration = {
integration: "titanium",
accountName: "<ACCOUNT_NAME>",
customerName: "<CUSTOMER_NAME>",
friendlyName: "<FRIENDLY_NAME>",
portalId: "<PORTAL_ID>",
authToken: "<AXINOM_TOKEN>",
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: "titanium",
accountName: "<ACCOUNT_NAME>",
customerName: "<CUSTOMER_NAME>",
friendlyName: "<FRIENDLY_NAME>",
portalId: "<PORTAL_ID>",
authToken: "<AXINOM_TOKEN>",
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
}
};
}
DRMConfiguration drmConfiguration = TitaniumDRMConfiguration.Builder
.titaniumDrm("<ACCOUNT_NAME>", ">CUSTOMER_NAME>", "<PORTAL_ID>")
// .friendlyName("<FRIENDLY_NAME>")
// .authToken("<AUTH_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);
Please refer to DRM (custom configuration).
We are developing open-source DRM connectors that can more easily be maintained and to allow for a modular approach. You can find them in this Github repo, alongside with guides on how to integrate and use them. When integrating DRM for the first time or updating your integration, the connectors are to be preferred over the pre-integrations.
Web and Android SDKs There currently is no ready-made connector for this DRM provider: you can choose to develop one based on the examples in the repository, or get in contact with us about making one.
iOS SDKs The Arris Titanium DRM connector can be found here.