DRM Providers

Workflow

Flujo de extremo a extremo para proteger un Live stream con DRM en C21 Live Control.

Esta página recorre de extremo a extremo el flujo DRM orientado al operador:

  1. Registrar un DRM provider (el registro de catálogo de credenciales).
  2. Validar el proveedor contra el servicio SPEKE upstream.
  3. Asociar el proveedor a un Destination.
  4. Enlazar el Destination a un Live stream y arrancar el broadcast.
  5. 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 typeAXINOM, 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:

CampoValor
activetrue
provider_idEl id del proveedor validado.
contentidEl identificador de contenido que el vendor upstream espera en las peticiones de claves.
systemsSubconjunto de Widevine, PlayReady, FairPlay. FairPlay no se combina con los otros en el mismo Destination — usa Destinations separados.
encryption_modeLo 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 fija encryption_mode = cenc) para Chrome / Android / Windows / Edge.
  • Un Destination HLS / CMAF separado con systems = ["FairPlay"] (el servidor fija encryption_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

FAQ

Copyright © 2026