This article describes how to configure Microsoft Azure DRM with THEOplayer.
Head to our page on DRM for more general information or head to Azure Media Services 3rd Party Player Samples - THEOplayer for an implementation reference sample.
Web SDK | Android SDK | iOS SDK | tvOS SDK | Android TV SDK | Chromecast SDK |
---|---|---|---|---|---|
Yes | Yes | Yes | Unverified | Yes | Yes |
if (HLS) {
let drmConfiguration = {
"integration": "azure",
"token": "AZURE_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": "azure",
"token": "<AZURE_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 = new AzureDRMConfiguration.Builder("<CERTIFICATE_URL", "<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);
// let headers = [["<KEY>": "<VALUE>"]]
let drmConfiguration = AzureDRMConfiguration(
licenseAcquisitionURL: "<LICENSE_KEY_URL_FAIRPLAY>",
certificateURL: "<CERTIFICATE_URL>",
token: "<AZURE_TOKEN>"
// , headers: headers
)
let typedSource = TypedSource(src: "<HLS_STREAM_URL>", type: "application/x-mpegurl", drm: drmConfiguration)
let sourceDescription = SourceDescription(source: typedSource)
theoplayer.source = sourceDescription