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
- Descarga BotBrowser desde GitHub
- Verifica el soporte de Widevine con el script de verificacion anterior
- Usa
--autoplay-policy=no-user-gesture-requiredpara reproduccion headless