Widevine license request  

Make a Widevine DRM license request to obtain decryption keys for a specified PSSH. This tool is implemented in WebAssembly and runs fully inside your web browser, meaning:

Note: This tool is pretty bleeding edge, and error reporting is not very robust. Check your browser’s Javascript console if things don’t work; you may see some extra diagnostics information.

Loading Pyodide library… (around 11MB of WASM code)
Pywidevine logs

Why did my request fail?

Your request for decryption keys may fail with a NetworkError or an HTTP Error (click on the Pywidevine logs button for details), and check your browser’s Javascript console for further information. The most likely reason for this is that the license server is checking for specific authorization information in the headers of the request (for instance, X-AxDRM-Message headers for servers using the standard Axinom license software). Play the content in your web browser, check the details of the request made to the license server in your browser’s Web Developer tools, and make sure the same information is included in the Headers field above, formatted as a Python dict.

Limitations

Some DRM license servers require specific information as a “payload” of the POST request made to the license server, in addition to or instead of specific HTTP headers. This tool doesn’t currently support sending a POST payload.

About

How does this tool work? It uses the Pywidevine library which provides a Python implementation of the Widevine Content Decryption Module (CDM). This module (normally implemented in obfuscated software that runs in your web browser, or on specially protected hardware on your CPU or GPU) is responsible for making requests to the server that provides the licenses (the decryption keys) for playing media “protected” by DRM. The pywidevine library is compiled to WASM using the excellent Pyodide tool so that it can run fully inside your web browser (there is no server backend for this software).

Privacy: this software is running fully inside your web browser. All the content is kindly hosted by GitHub pages (please note their privacy policy). We don’t log visits (no web analytics, no cookies), but GitHub pages provides anonymized web traffic graphs.