Skip to main content

6001 - Shaka Error Drm.requested_key_system_config_unavailable () | 2025 |

player.addEventListener('error', (event) => { if (event.detail.code === 6001) { document.getElementById('error-message').innerText = "Your browser doesn't support the required security for this film. Please update Chrome, Firefox, Safari, or Edge."; } }); Maya pushed the fix at 11:58 PM. Dr. Reid reloaded the page. The black screen vanished. Cybernetic Vampire III began playing, grainy and glorious.

player.getNetworkingEngine().registerRequestFilter((type, request) => { if (type === shaka.net.NetworkingEngine.RequestType.LICENSE) { // Ensure the correct license server is used per key system if (request.uris[0].includes('widevine') && !window.navigator.requestMediaKeySystemAccess) { request.uris[0] = request.uris[0].replace('widevine', 'playready'); } } }); Finally, she added a user-friendly message for when all DRM systems fail: player

player.configure({ drm: { servers: { 'com.widevine.alpha': 'https://license.arthouse.com/widevine' } } }); The problem? The manifest file for Cybernetic Vampire III (and several other 4K remasters) contained multiple DRM schemes. But the player was asking for Widevine. When Widevine wasn't available (or the license server was down for that key system), Shaka threw the REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE error because it had no fallback. Reid reloaded the page

The configuration was too rigid. The player was a locksmith showing up with only a titanium key, but the lock was made of brass. She dug into the Shaka Player configuration file, where a previous developer had hardcoded: she set a priority order:

player.configure({ drm: { servers: { 'com.widevine.alpha': 'https://license.arthouse.com/widevine', 'com.microsoft.playready': 'https://license.arthouse.com/playready', 'com.apple.fairplay': 'https://license.arthouse.com/fairplay' }, // Tell Shaka to try them in this order advanced: { 'com.widevine.alpha': { distinctiveIdentifierRequired: false }, 'com.microsoft.playready': { distinctiveIdentifierRequired: false } } } }); But that wasn't enough. She also realized the error happened when the browser a key system, but the license server URL was misconfigured for that specific key system. So she added a robust retryParameters and a fallback error handler:

It was like ordering pizza only from a store that was closed, rather than calling the other pizza place two blocks away. Maya modified the configuration to be flexible. She added all the major DRM key systems the content might use, and importantly, she set a priority order: