DRM Capability Checker

Detects support for Widevine, PlayReady, FairPlay, and ClearKey using EME.
Tip: EME requires a secure context (https://).

// Minimal DRM detection snippet
const keySystems = ["com.widevine.alpha", "com.microsoft.playready", "com.apple.fps.1_0", "org.w3.clearkey"];

async function checkDRM(keySystem) {
  if (!navigator.requestMediaKeySystemAccess) return false;
  const config = [{
    initDataTypes: ["cenc"],
    audioCapabilities:[{contentType:'audio/mp4; codecs="mp4a.40.2"'}],
    videoCapabilities:[{contentType:'video/mp4; codecs="avc1.42E01E"'}]
  }];
  try {
    await navigator.requestMediaKeySystemAccess(keySystem, config);
    return true;
  } catch {
    return false;
  }
}

(async () => {
  for (const ks of keySystems) {
    const supported = await checkDRM(ks);
    console.log(`${ks}: ${supported ? "✅ Supported" : "❌ Not supported"}`);
  }
})();