Practical Guide to downloading and decrypting widevine-protected streams

Using WidevineProxy2 and N_m3u8DL-RE


🔧 Setup requirements

Required tools:

  • WidevineProxy2 (GUI for obtaining decryption keys)
  • N_m3u8DL-RE (powerful CLI downloader)
  • Shaka Packager (used for decryption)

Why these tools are needed (explained simply)

Before we jump into setup, let’s break down why you actually need three different tools to download and decrypt a Widevine-protected video. These streams are locked for a reason, to stop people from saving them. So we’re going to use a tool to get the keys that unlock the video, a tool to download the video from the site, and a tool to decrypt and combine the pieces into one playable file

  • WidevineProxy2 (GUI): Browsers don’t let users access decryption keys directly. WidevineProxy2 listens to the license exchange between your browser and the streaming site while the video plays. It extracts the keys needed to decrypt the stream in a user-friendly way.
  • N_m3u8DL-RE (CLI): This is a command-line utility that downloads .m3u8-based video segments from the internet. These streams are usually encrypted, split into chunks, and accompanied by decryption headers. N_m3u8DL-RE lets us download all these parts and merge them.
  • Shaka Packager: Many modern video sites (like TF1, France.tv, Netflix, and more) use Shaka Player, which encrypts content using Widevine DRM and packages it in a specific format. Shaka Packager is Google’s official tool for handling encryption/decryption in that format, making it essential for final processing.

widevineproxy2-4.jpg

📥 Download and Install WidevineProxy2 in Chrome

Firefox

Chrome normally only allows extensions that come from the Chrome Web Store. Developer mode lets you load “unofficial” extensions.
Firefox doesn’t need this because it has a different extension architecture which is less locked down in some respects (though still secure in others).

1. Download the file

  1. Go to: https://github.com/DevLARLEY/WidevineProxy2
  2. Click the Releases tab
  3. Download the file: WidevineProxy2-main.zip
  4. Extract the ZIP to a folder on your PC
    • Example: Downloads/WidevineProxy2/

2. Enable Developer Mode in Chrome

  1. Open Google Chrome
  2. Go to: chrome://extensions/
  3. Toggle Developer Mode ON (top-right corner)

3. Load the Unpacked Extension

  1. In chrome://extensions/
  2. Click "Load unpacked"
  3. Select the extracted folder (e.g., Downloads/WidevineProxy2/)

4. Provide a CDM File (Device or Remote)
You must provide one of the following to enable license requests:

📂 Option A: Local Widevine Device (.wvd)

🌐 Option B: Remote CDM

  • Click “Choose remote.json” under Remote CDM
  • Ensure the remote server is active!

What's a CDM and why do you need one?

A CDM (Content Decryption Module) is like a secret decoder built into your browser. It decrypts protected videos (like on Netflix or TF1) but never shows you the keys it uses.
WidevineProxy2 uses a CDM to ask the streaming site for decryption keys—something browsers normally keep hidden.
You need either:

  • a local .wvd file (extracted from a device)
  • or a remote.json (points to a CDM hosted online)
    Without one, you can't unlock or download protected streams.

N-m3u8-DL-RE-4.jpg

📥 Download and Install N_m3u8DL-RE (Windows)

  1. Go to: https://github.com/nilaoda/N_m3u8DL-RE
  2. Click the Releases tab
  3. Download the file: N_m3u8DL-RE_win-x64.zip
  4. Extract the ZIP to a folder
    • Example: C:\Tools\N_m3u8DL-RE\

Test Installation
Open a new Command Prompt and run:

N_m3u8DL-RE --version

If it returns a version number, the tool is correctly installed.


⚙️ (Optional) Add to PATH

  1. Open Start → search "Environment Variables"
  2. Click Environment Variables
  3. Under System variables, select Path → click Edit
  4. Click New → paste: C:\Tools\N_m3u8DL-RE\

shaka-packager-4.jpg

📥 Download and Install Shaka Packager

  1. Go to: https://github.com/shaka-project/shaka-packager/releases
  2. Download the file: packager-win-x64.zip
  3. Extract the ZIP
  4. Copy packager.exe into the same folder as N_m3u8DL-RE.exe

When you use the --use-shaka-packager flag, Shaka Packager will handle decryption automatically.


Once everything is set up

  1. Play the video on the target website (e.g., TF1)
  2. Click the WidevineProxy2 extension icon while the video is playing
  3. The panel will auto-fill with:
    • URL — source page
    • PSSH — license challenge
    • Keys — usable keys in KID:KEY format
    • Cmd: — ready-to-run N_m3u8DL-RE command

Screenshot-2025-05-04-204820.png


📋 Copy the full command shown under Cmd:

Example:

N_m3u8DL-RE "https://vod-das…" -H "…" --key KID:KEY --use-shaka-packager -M format=mkv

✅ Paste the command into Command Prompt and press enter
The video will:

  • 📥 Be downloaded
  • 🔓 Be decrypted
  • 🎬 Be muxed into a .mkv file (video + audio + subtitles, if available)

IMG-4038.png

Edit

Pub: 04 May 2025 19:33 UTC

Edit: 05 May 2025 16:52 UTC

Views: 44