Optional LA_Optional audioSets the robustness level for audio. The robustness specifies the security level of the DRM key system. If a string specifies a higher security level than the system is able to support playback will fail. The lowest security level is the empty string. The strings are specific to a key system and currently only the values for Widevine are known based on the Chromium source code:
SW_SECURE_CRYPTOSW_SECURE_DECODEHW_SECURE_CRYPTOHW_SECURE_DECODEHW_SECURE_ALLOptional headersAn object which specifies custom HTTP headers.
BuyDRM/KeyOS Specific Example:
headers : {
customdata: 'AUTHENTICATION-XML'
}
DRMtoday by castLabs Specific Example:
headers : {
'dt-custom-data': 'INSERT-YOUR-BASE64-ENCODED-CUSTOMDATA'
}
Optional keySpecify the priority of Widevine DRM key system strings for this source. Non-specified strings which the player knows will be put at the end of the list. The first key system string of this list, which is supported on the current platform is used.
8.143.0
Optional licenseSpecifies how long in milliseconds should be waited before a license request should be retried.
Optional maxSpecifies how often a license request should be retried if was not successful (e.g. the license server
was not reachable). Default is 1. 0 disables retries.
Optional mediaAn object which allows to specify configuration options of the DRM key system, such as distinctiveIdentifier or persistentState (refer to MediaKeySystemConfiguration for more details). Please note that these settings need to be supported by the browser or playback will fail.
Optional prepareA function which gets the widevine license from the server. Is needed for custom widevine servers where not only the license itself is responded, but instead the license is e.g. wrapped in an JSON object.
DRMtoday by castLabs Specific Example:
prepareLicense : (licenseObj) => {
const license = {license: licenseObj.license};
try {
const drmTodayObj = JSON.parse(String.fromCharCode.apply(null, licenseObj.license));
if (drmTodayObj && drmTodayObj.status && drmTodayObj.license) {
if (drmTodayObj.status === 'OK') {
const str = window.atob(drmTodayObj.license);
const bufView = new Uint8Array(new ArrayBuffer(str.length));
for (let i = 0; i < str.length; i++) {
bufView[i] = str.charCodeAt(i);
}
license.license = bufView;
} else {
// license not okay
}
} else {
// no valid DRMtoday license
}
} catch (e) {
// no valid DRMtoday license
}
return license;
};
Optional prepareA function to prepare the license acquisition message which will be sent to the license acquisition server. As many DRM provider expect different, vendor-specific message, this can be done using this user-defined function (optional / depending on the DRM server). The parameter is the key message event object as given by the Widevine Content Decryption Module (CDM).
Default Implementation Example:
prepareMessage : (keyMessage) => {
return keyMessage.message;
}
This will send just the actual key message as provided by the CDM to the license server.
Vualto Specific Example:
prepareMessage : (keyMessage) => {
return JSON.stringify({
token: VUALTO_TOKEN,
drm_info: Array.apply(null, new Uint8Array(keyMessage.message)),
kid: 'VUALTO_KID'
});
}
This will send a JSON object to the license server. This object contains the Vualto-specific token (token), a pre-processed key message (drm_info), and the key ID (kid).
Optional retrySpecifies the behavior in case the license request fails with a 403 Forbidden error. If set to true, the player
will emit a Warning, and try to request a new license for other key IDs, if available. Otherwise, the player will
throw an error. Default is false.
Optional serverA server certificate to be used to encrypt messages to the DRM license server. The contents are Key System-specific. It allows an application to proactively provide a server certificate to implementations that support it to avoid the additional round trip, should the Content Decryption Module (CDM) request it. It is intended as an optimization, and applications are not required to use it. If not set but required by the CDM, the CDM will request a certificate from the DRM license server.
Optional videoSets the robustness level for video. The robustness specifies the security level of the DRM key system. If a string specifies a higher security level than the system is able to support playback will fail. The lowest security level is the empty string. The strings are specific to a key system and currently only the values for Widevine are known based on the Chromium source code:
SW_SECURE_CRYPTOSW_SECURE_DECODEHW_SECURE_CRYPTOHW_SECURE_DECODEHW_SECURE_ALLOptional withSet to true to send credentials such as cookies or authorization headers along with the license requests.
Default is false.
Generated using TypeDoc
An URL to the Widevine license server for this content (optional). Can be defined in the configuration or taken out from the video manifest if defined there. If the config URL is defined it has precedence over the URL defined in the manifest.