Workflow
Esta página recorre de extremo a extremo el flujo DRM orientado al operador:
- Registrar un DRM provider (el registro de catálogo de credenciales).
- Validar el proveedor contra el servicio SPEKE upstream.
- Asociar el proveedor a un Destination.
- Enlazar el Destination a un Live stream y arrancar el broadcast.
- Verificar la reproducción en cada ecosistema objetivo.
Paso 1 — Registrar un DRM provider
Abre Integrations → DRM → Providers y elige Add provider. Rellena:
- Name — nombre visible.
- Provider type —
AXINOM,EZDRM(catálogo actual). - SPEKE URL — endpoint SPEKE principal.
- Tenant ID — obligatorio en marcas que declaran
requires_tenant_id = true(por ejemplo AXINOM). - Credentials — sobre específico del tipo de proveedor.
Consulta Providers para la referencia campo a campo.
Paso 2 — Validar el proveedor
Ejecuta Validate (llama a validateDrmProvider). 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). Una validación fallida expone un error saneado en validation_error — corrige las credenciales con Edit y vuelve a validar.
Paso 3 — Asociar el proveedor a un Destination
Abre el Destination que va a llevar DRM (DASH, CMAF o HLS / TS) y rellena su bloque drm:
| Campo | Valor |
|---|---|
active | true |
provider_id | El id del proveedor validado. |
contentid | El identificador de contenido que el vendor upstream espera en las peticiones de claves. |
systems | Subconjunto de Widevine, PlayReady, FairPlay. FairPlay no se combina con los otros en el mismo Destination — usa Destinations separados. |
encryption_mode | Lo deriva el servidor: cbcs si systems incluye FairPlay, en otro caso cenc. Opcional en el cuerpo de la petición — el servidor recalcula el valor. |
Un Destination sin drm.active emite en claro. Distintos Destinations dentro del mismo Destination group pueden llevar bloques DRM distintos — patrón habitual para cobertura universal:
- Un Destination DASH / CMAF con
systems = ["Widevine", "PlayReady"](el servidor fijaencryption_mode = cenc) para Chrome / Android / Windows / Edge. - Un Destination HLS / CMAF separado con
systems = ["FairPlay"](el servidor fijaencryption_mode = cbcs) para Safari / iOS / macOS.
Agrúpalos en un Destination group para enlazar ambos al Live stream con una sola referencia.
Paso 4 — Enlazar a un Live stream
Enlaza el Destination (o el Destination group que lo contiene) a un Live stream desde el editor de Live streams y arranca el broadcast. El encoder pide claves al endpoint SPEKE configurado, cifra los segmentos y escribe las URLs de licencia en el manifest.
Paso 5 — Verificar reproducción
Valida que cada ecosistema objetivo puede reproducir la salida protegida:
- Widevine — Chrome o Edge en escritorio, reproduciendo el manifest DASH o CMAF.
- PlayReady — Edge en Windows, reproduciendo el manifest DASH o CMAF. Confirma que el reproductor negocia PlayReady, no Widevine.
- FairPlay — Safari en iOS o macOS, reproduciendo el manifest HLS / CMAF.
El dashboard del proveedor upstream debe registrar una emisión de licencia por cada sesión y cada ecosistema.
Superficies relacionadas
- Destinations — Dónde vive el bloque DRM en un Destination.
- Providers — Referencia CRUD de DRM providers.
- Widevine, PlayReady, FairPlay — Notas por sistema.