Skip to main content
Version: 8.5.0

Microsoft Azure

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.

SDKs

Web SDKAndroid SDKiOS SDKtvOS SDKAndroid TV SDKChromecast SDK
YesYesYesUnverifiedYesYes

Code examples

Web SDK
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
}
};
}
Android SDK
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);
Legacy iOS/tvOS SDK (4.12.x)
// 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

Resources