Skip to Content
Platform EmulationWidevine DRM Setup

Widevine DRM Setup

Configure DRM content playback with Widevine CDM and keep DRM capability signals consistent with the profile’s platform identity.


Prerequisites

  • BotBrowser binary installed. See INSTALLATION.md.
  • A profile file (.enc or .json).
  • Widevine CDM obtained through official channels. BotBrowser does not distribute proprietary modules.
  • ENT Tier2 license for Widevine CDM integration.

Overview

Widevine is Google’s Digital Rights Management (DRM) system used by streaming services and other sites to protect video content. When a site requires DRM playback, the browser must have a Widevine Content Decryption Module (CDM) installed. Without it, the site may show errors, refuse to play content, or detect that DRM is unavailable.

DRM capability reporting varies across platforms. The order of MediaKeySystemAccess results and the specific configurations supported differ by OS. BotBrowser ensures that DRM capability results are consistent with the profile’s platform identity.


How It Works

What Widevine CDM Does

The Widevine CDM handles:

  • Encrypted Media Extensions (EME) API responses
  • License request and response negotiation
  • Decryption of protected video streams
  • DRM capability reporting

DRM Capability Consistency

BotBrowser ensures that DRM capability result ordering and reporting are consistent with the profile’s platform. A Windows profile reports Windows-appropriate DRM capabilities, an Android profile reports Android-appropriate capabilities.

Platform Consistency

PlatformDRM Behavior
WindowsWidevine CDM loaded from standard location. License negotiation follows Windows patterns.
macOSWidevine CDM loaded from macOS-specific path.
AndroidHardware-backed DRM support reported when profile specifies it.
LinuxWidevine CDM path follows Linux conventions.

Quick Start

Ensuring Widevine CDM Availability

  1. Obtain the Widevine CDM from official sources. BotBrowser does not bundle or distribute the CDM.

  2. Place the CDM in the expected location for your platform:

    • Windows: The CDM is typically located in the BotBrowser installation directory or the user data directory.
    • macOS: The CDM follows macOS library conventions.
    • Linux: Place the CDM in the standard library path.
  3. Launch BotBrowser with your profile. BotBrowser detects the installed CDM automatically:

import { chromium } from "playwright-core"; const browser = await chromium.launch({ executablePath: process.env.BOTBROWSER_EXEC_PATH, headless: true, args: [ "--bot-profile=/path/to/profile.enc", ], }); const page = await browser.newPage(); // Navigate to a DRM-protected streaming site to verify playback works await page.goto("https://streaming-service.example.com"); await browser.close();

Common Scenarios

Testing DRM-protected content playback

const browser = await chromium.launch({ executablePath: process.env.BOTBROWSER_EXEC_PATH, headless: true, args: [ "--bot-profile=/path/to/profile.enc", "--proxy-server=socks5://user:pass@proxy.example.com:1080", ], }); const page = await browser.newPage(); await page.goto("https://streaming-service.example.com"); // The site should detect DRM support and offer content playback

Verifying DRM capability consistency

To verify DRM protection is working correctly:

  1. Launch BotBrowser with a profile and navigate to a DRM-protected streaming service.
  2. Confirm that content plays back without errors.
  3. Verify on a fingerprint testing site that DRM capability reporting matches the profile’s target platform.

Troubleshooting / FAQ

ProblemSolution
Widevine not detectedEnsure the CDM is installed in the correct location for your platform. BotBrowser does not bundle the CDM.
DRM playback failsVerify the CDM version is compatible with the BotBrowser version.
DRM capability order differs from expectedThe profile defines the expected DRM capability order. Ensure the profile matches the target platform.
”Unsupported platform” from streaming siteCheck that the profile’s platform identity matches a platform the site supports (e.g., Windows, macOS).

Next Steps


Related documentation: Advanced Features | Profile Configuration


Legal Disclaimer & Terms of Use Responsible Use Guidelines . BotBrowser is for authorized fingerprint protection and privacy research only.