Permit to easily detect what is supported in the current browser in term of DRM (Digital right managment) given a MediaKeySystemConfiguration
.
for example:
[
{
"type": "com.widevine.alpha",
"configuration": {
"initDataTypes": [
"cenc"
],
"persistentState": "required",
"audioCapabilities": [
{
"robustness": "HW_SECURE_ALL",
"contentType": "audio/mp4;codecs=\"mp4a.40.2\""
},
{
"robustness": "HW_SECURE_DECODE",
"contentType": "audio/mp4;codecs=\"mp4a.40.2\""
},
{
"robustness": "HW_SECURE_CRYPTO",
"contentType": "audio/mp4;codecs=\"mp4a.40.2\""
},
{
"robustness": "SW_SECURE_DECODE",
"contentType": "audio/mp4;codecs=\"mp4a.40.2\""
},
{
"robustness": "SW_SECURE_CRYPTO",
"contentType": "audio/mp4;codecs=\"mp4a.40.2\""
}
],
"videoCapabilities": [
{
"robustness": "HW_SECURE_ALL",
"contentType": "video/mp4;codecs=\"avc1.4d401e\""
},
{
"robustness": "HW_SECURE_DECODE",
"contentType": "video/mp4;codecs=\"avc1.4d401e\""
},
{
"robustness": "HW_SECURE_CRYPTO",
"contentType": "video/mp4;codecs=\"avc1.4d401e\""
},
{
"robustness": "SW_SECURE_DECODE",
"contentType": "video/mp4;codecs=\"avc1.4d401e\""
},
{
"robustness": "SW_SECURE_CRYPTO",
"contentType": "video/mp4;codecs=\"avc1.4d401e\""
}
]
}
},
]
We are using a special API called mediaCapabilitiesProber
provided by the rx-player, it's basically an abstraction of EME (Encrypted media extensions) API that work cross browsers.
MIT
Canal+