Volver al Blog
Plataforma

Configuracion de Widevine DRM para contenido de video en navegador headless

Configura Widevine DRM en BotBrowser para acceder a contenido de video protegido en entornos headless.

Descripcion general

Widevine es el sistema de gestion de derechos digitales de Google usado por plataformas de streaming. BotBrowser incluye la biblioteca CDM de Widevine, por lo que el contenido de video protegido con DRM funciona sin configuracion manual.

Uso basico

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

BotBrowser puede negociar licencias Widevine a traves de EME, descifrar y reproducir video protegido, y reportar capacidades requestMediaKeySystemAccess correctas.

Verificar soporte de 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();

Reproduccion de video en modo 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');

El flag --autoplay-policy=no-user-gesture-required permite la reproduccion de video sin interaccion del usuario.

Niveles de seguridad DRM

BotBrowser opera a nivel Widevine L3 (software) en modo headless. El perfil de huella digital controla como el navegador reporta sus capacidades DRM.

Solucion de problemas

"No key system supported": Verifica que la biblioteca CDM de Widevine esta presente en el directorio de BotBrowser.

Video reproduce pero sin imagen: Verifica video.readyState y video.currentTime para confirmar la reproduccion.

Primeros pasos

  1. Descarga BotBrowser desde GitHub
  2. Verifica el soporte de Widevine con el script de verificacion anterior
  3. Usa --autoplay-policy=no-user-gesture-required para reproduccion headless
#widevine#drm#video#streaming#platform