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 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 o CMAF; HLS / TS no admite DRM) 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 necesita cbcs y solo está disponible en CMAF; los tres sistemas pueden compartir un Destination en cbcs.
encryption_modecenc o cbcs. Si se omite, lo deriva el servidor (FairPlay → cbcs, en otro caso cenc). Envía cbcs para combinar FairPlay con Widevine / PlayReady. Al actualizar, omitirlo conserva el modo actual.

Un Destination sin drm.active emite en claro. Para cobertura universal, un Destination CMAF con systems = ["Widevine", "PlayReady", "FairPlay"] y encryption_mode = cbcs sirve a Chrome / Android / Windows / Edge y a Safari / iOS / macOS con un solo empaquetado.

Si hay que servir dispositivos que solo admiten cenc, sepáralo — los Destinations de un mismo Destination group pueden llevar bloques DRM distintos:

  • Un Destination DASH / CMAF con systems = ["Widevine", "PlayReady"] y encryption_mode = cenc.
  • Un Destination CMAF 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