Widevine
Widevine en C21 Live Control
Widevine es el DRM de Google. Alcanza Chrome, Edge, Android, Chromecast y Android TV. En Live Control aparece como uno de los tres sistemas expuestos por DrmProvider.supported_systems y como uno de los valores que el array drm.systems[] de un Destination puede llevar.
Esta página cubre lo que va en el registro del proveedor cuando el servicio multi-DRM upstream soporta Widevine. Para el flujo de extremo a extremo, consulta DRM workflow. Para el catálogo de proveedores y el CRUD, consulta Providers.
De dónde viene la configuración
Las integraciones Widevine las emite Google a propietarios de contenido y empaquetadores. La mayoría de despliegues de C21 Live Control no conectan con el servidor de licencias de Google directamente; pasan por un proveedor multi-DRM (por ejemplo AXINOM o EZDRM) que ejecuta el servidor de licencias Widevine y expone un único punto de integración con un endpoint SPEKE.
Antes de registrar el proveedor en Live Control, el vendor multi-DRM entrega:
- La URL del endpoint SPEKE (obligatorio).
- Las credenciales que espera ese tipo de proveedor (header de auth o token; el conjunto exacto lo anuncia el catálogo del servidor).
- Un tenant identifier cuando lo requiera la marca (
AXINOMusa uno; otras puede que no).
Registrar el proveedor
Abre Integrations → DRM → Providers → Add provider y rellena el formulario. Los campos mapean a DrmProviderCreateRequest:
| Campo | Notas |
|---|---|
| Name | Nombre visible (≤ 100 caracteres). |
| Provider type | Uno de los valores del catálogo servidor (hoy AXINOM, EZDRM). |
| SPEKE URL | Endpoint SPEKE principal. Obligatorio. |
| SPEKE URL backup | Endpoint SPEKE de respaldo opcional. |
| Tenant ID | Obligatorio cuando el provider_type elegido declara requires_tenant_id = true (por ejemplo AXINOM). |
| Credentials | Sobre de credenciales específico del tipo de proveedor. Solo escritura — nunca se devuelve en GET (la API redacta los valores almacenados a ••••••••). |
| Enabled | Si el proveedor es seleccionable por los Destinations. |
Guarda el formulario. addDrmProvider emite el id de proveedor que se usa para asociar el proveedor a un Destination.
Validar el proveedor
Tras guardar, ejecuta validateDrmProvider (la acción Validate en la UI). El handler hace un viaje de ida y vuelta de las credenciales almacenadas contra el servicio SPEKE upstream y actualiza validation_status (UNKNOWN / VALID / INVALID) y validation_date. Una validación fallida expone un error saneado en validation_error.
Asociar Widevine a un Destination
El DRM se aplica a un Destination mediante su bloque drm (consulta Destinations):
active = true.provider_idapuntando al proveedor compatible con Widevine.systemsincluyeWidevine. Combínalo conPlayReadypara cubrir dispositivos Microsoft en el mismo manifest.encryption_modees opcional; el servidor lo deriva desystems(sinFairPlay→cenc).contentidcon el identificador de contenido que el vendor upstream espera en las peticiones de claves.
FAQ
supported_systems incluya Widevine y pon drm.systems = ["Widevine"] en el Destination. La salida cubre Chrome, Edge y Android. Añade PlayReady al mismo manifest para cubrir Windows, Edge legacy, Xbox y muchas smart TVs.cenc es el estándar. Para despliegues que necesiten también FairPlay (HLS / CMAF), cbcs permite empaquetar una sola vez y servir bajo ambos manifests cuando cada cliente lo soporte.