This article describes how to configure EZDRM 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 | Yes | Unverified | Yes | Yes |
if (HLS) {
let drmConfiguration = {
integration: "ezdrm",
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: "ezdrm",
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 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);
let drmConfiguration = EzdrmDRMConfiguration(
licenseAcquisitionURL: "<LICENSE_KEY_URL_FAIRPLAY>",
certificateURL: "<CERTIFICATE_URL>",
)
let typedSource = TypedSource(src: "<HLS_STREAM_URL>", type: "application/x-mpegurl", drm: drmConfiguration)
let sourceDescription = SourceDescription(source: typedSource)
theoplayer.source = sourceDescription
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 The EZDRM connector can be found in this folder.
Android SDK Connectors are also the way forward for the current mobile 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 SDK The EZDRM connector can be found in here