Retour au Blog
Plateforme

Configuration Widevine DRM pour le contenu video en navigateur headless

Configurez Widevine DRM dans BotBrowser pour acceder au contenu video protege dans les environnements headless.

Presentation

Widevine est le systeme de gestion des droits numeriques de Google utilise par les plateformes de streaming. BotBrowser inclut la bibliotheque CDM Widevine, donc le contenu video protege par DRM fonctionne sans configuration manuelle.

Utilisation basique

chrome --bot-profile="/profiles/windows-chrome-122.enc" \
       --user-data-dir="$(mktemp -d)"

BotBrowser peut negocier les licences Widevine via EME, dechiffrer et lire la video protegee, et signaler les capacites requestMediaKeySystemAccess correctes.

Verifier le support Widevine

const { chromium } = require('playwright-core');

const browser = await chromium.launch({
  executablePath: '/path/to/botbrowser/chrome',
  args: ['--bot-profile=/profiles/windows-chrome-122.enc'],
  headless: true,
});

const page = await (await browser.newContext()).newPage();
const widevine = await page.evaluate(async () => {
  try {
    const config = [{
      initDataTypes: ['cenc'],
      videoCapabilities: [{
        contentType: 'video/mp4; codecs="avc1.42E01E"',
        robustness: 'SW_SECURE_DECODE',
      }],
    }];
    await navigator.requestMediaKeySystemAccess('com.widevine.alpha', config);
    return { supported: true };
  } catch (e) {
    return { supported: false, error: e.message };
  }
});
console.log('Widevine:', widevine);
await browser.close();

Lecture video en mode headless

const browser = await chromium.launch({
  executablePath: '/path/to/botbrowser/chrome',
  args: [
    '--bot-profile=/profiles/windows-chrome-122.enc',
    '--autoplay-policy=no-user-gesture-required',
  ],
  headless: true,
});

const page = await (await browser.newContext()).newPage();
await page.goto('https://example-streaming-site.com/video');
await page.waitForSelector('video');

Le flag --autoplay-policy=no-user-gesture-required permet la lecture video sans interaction utilisateur.

Niveaux de securite DRM

BotBrowser opere au niveau Widevine L3 (logiciel) en mode headless. Le profil d'empreinte controle comment le navigateur signale ses capacites DRM.

Depannage

"No key system supported" : Verifiez que la bibliotheque CDM Widevine est presente dans le repertoire BotBrowser.

La video joue mais pas d'image : Verifiez video.readyState et video.currentTime pour confirmer la lecture.

Pour commencer

  1. Telechargez BotBrowser depuis GitHub
  2. Verifiez le support Widevine avec le script de verification ci-dessus
  3. Utilisez --autoplay-policy=no-user-gesture-required pour la lecture headless
#widevine#drm#video#streaming#platform