Ir al contenido
Castreon
Entrega

DRM — Widevine, PlayReady y FairPlay

Actualizado el 06 oct. 2026

Castreon puede cifrar un canal con los tres sistemas DRM que usan los dispositivos para el contenido de pago: Widevine (Android, Chrome, Firefox, Android TV, la mayoría de las Smart TV), PlayReady (Windows, Edge, Xbox, Smart TV) y FairPlay (Safari, iPhone, iPad, Apple TV). La imagen y el sonido solo se pueden descifrar en la parte protegida del dispositivo, con una licencia que tu proveedor DRM da a cada espectador.

Disponible desde Castreon 1.0.5, en el plan Enterprise. Para un cifrado sencillo en todos los planes, consulta Cifrado HLS con AES-128.

Quién hace qué

Qué hace
Castreon en cada arranque del canal pide a tu proveedor DRM una clave nueva (CPIX), cifra el canal y publica DASH y HLS con la información DRM que necesitan los reproductores
Tu proveedor DRM (por ejemplo DoveRunner) guarda las claves y da las licencias a los reproductores
Tu plataforma (app, web, middleware) decide quién puede ver y crea un token de licencia para cada espectador

Castreon nunca emite licencias y no ve a tus abonados. El empaquetado lo hace Shaka Packager, incluido en Castreon (licencia BSD) — no hay que instalar nada más.

Qué necesitas

  • Una licencia Enterprise en el servidor.
  • Una cuenta en un proveedor DRM que entregue las claves por CPIX — por ejemplo DoveRunner (antes PallyCon). El plan del proveedor debe incluir los sistemas DRM que quieras (FairPlay necesita además un certificado Apple FairPlay Streaming, que el proveedor te explica).
  • Canales en H.264 o HEVC.
  • HTTPS para los reproductores web: los navegadores solo permiten DRM en páginas HTTPS.

1. Conecta tu proveedor DRM

Ajustes → DRM:

  1. En Proveedor DRM elige:
    • DoveRunner (PallyCon) — pega solo el KMS Token de DoveRunner Console → Multi-DRM → DRM Settings; Castreon compone la dirección por sí mismo;
    • Otro proveedor (CPIX) — pega la dirección CPIX completa de tu proveedor, con el token incluido (solo HTTPS).
  2. Guardar. En Servidor KMS aparecen el proveedor y el nombre de su servidor; el token no se vuelve a mostrar nunca — ni en el panel, ni en la API, ni en el registro de auditoría, ni en el informe de diagnóstico.
  3. Probar la conexión pide una clave de prueba para cada entrega. Debes ver DASH (CENC) con PlayReady y Widevine, y HLS (CBCS) con FairPlay, Widevine y PlayReady.

El estado arriba a la derecha muestra Listo cuando la licencia, el proveedor y Shaka Packager están en orden.

2. Añade la salida DRM a un canal

  1. Abre el canal → Editar → Añadir salida y elige DRM en Tipo.
  2. Content ID — el nombre con el que el proveedor guarda la clave. Vacío significa el nombre corto del canal. Letras, dígitos, punto, guion y guion bajo.
  3. Elige las entregas:
    • DASH · Widevine + PlayReady (CENC)
    • HLS · FairPlay + Widevine + PlayReady (CBCS)
  4. Si quieres, cambia Duración de segmento (s) (por defecto 4) y Segmentos en la lista (por defecto 6).
  5. Guarda. El canal se reinicia con la salida DRM.

Las demás salidas del canal funcionan como antes y no se cifran. Para un canal de pago, deja solo la salida DRM (y, si las necesitas, salidas push hacia tus propios sistemas).

Las direcciones y los content ID

Para un canal con el nombre corto canal1, Entrega muestra:

Fila en Entrega Valor
DRM · DASH (Widevine, PlayReady) http://<dominio>/live/canal1/drm/dash/manifest.mpd
DRM · DASH · content ID canal1
DRM · HLS (FairPlay, Widevine, PlayReady) http://<dominio>/live/canal1/drm/hls/master.m3u8
DRM · HLS · content ID canal1-hls

DASH y HLS usan claves distintas (CENC y CBCS no deben compartir una clave), así que tienen content ID distintos: el de HLS termina en -hls. El token de licencia que crea tu plataforma debe usar el content ID de la entrega que abre el reproductor.

Se aplican el mismo Token para reproductores y las mismas Direcciones permitidas que en las demás salidas.

Qué entrega para qué dispositivo

Dispositivo Entrega DRM
Móviles y tabletas Android, Android TV, Fire TV DASH Widevine (ExoPlayer / Media3)
Chrome, Firefox, Edge, Opera en el ordenador DASH Widevine (Edge también PlayReady) — con Shaka Player, dash.js, Video.js, Bitmovin, THEOplayer…
Samsung (Tizen), LG (webOS) y otras Smart TV DASH PlayReady o Widevine
Apps de Windows, Xbox DASH PlayReady
Safari en Mac, iPhone, iPad, Apple TV HLS FairPlay (AVPlayer, Safari)

Tu reproductor necesita: la dirección de la entrega, la dirección del servidor de licencias de tu proveedor y el token de licencia del espectador (DoveRunner: en la cabecera pallycon-customdata-v2). Para FairPlay necesita además la dirección del certificado FairPlay de tu proveedor.

El token de licencia

Tu plataforma crea el token en su servidor, para cada espectador, con el content ID, el tipo de DRM y las reglas (por ejemplo cuánto tiempo vale la licencia), y lo firma con las claves de tu cuenta del proveedor (DoveRunner: Site ID, Site Key y Access Key). Guarda esas claves en tu servidor — nunca en la app ni en la página web. El formato exacto lo describe tu proveedor.

Cómo se comporta

  • Una clave nueva en cada arranque. Cuando el canal se reinicia, los reproductores cargan el manifiesto nuevo y piden por sí mismos una licencia nueva.
  • El proveedor no responde: el canal no entrega nada en las direcciones DRM y lo vuelve a intentar. El contenido nunca llega sin cifrar a las direcciones DRM.
  • Sin licencia Enterprise, sin proveedor configurado o con un códec que Shaka no admite (AV1, VP9, MPEG-2 copiado): el canal arranca sin la salida DRM y su registro dice por qué; las demás salidas siguen funcionando.
  • Reloj para el directo: el manifiesto DASH indica a los reproductores la hora del servidor (desde /live/time, con un servidor de hora público de reserva), así que también los dispositivos con el reloj mal encuentran los segmentos actuales. Con el Dominio público en https://…, los reproductores usan la dirección completa de tu servidor.
  • Las claves recibidas del proveedor solo se guardan mientras el canal funciona, solo Castreon puede leerlas y se borran al detenerlo.

Si no funciona

  • Probar la conexión: «… rechazó la petición de claves: HTTP 401 (o 403) — revisa el token de la dirección KMS» — el KMS Token (o la dirección CPIX) es incorrecto o se regeneró en el proveedor.
  • «el proveedor DRM envía las claves cifradas para un destinatario» — desactiva el cifrado de claves (CPIX con certificado) en la cuenta del proveedor; la conexión ya es HTTPS.
  • «el proveedor DRM no envió los datos de FairPlay» (u otro sistema) — el sistema no está activo en el plan del proveedor.
  • El registro del canal dice «atención: la salida DRM está desactivada — …» — sigue el motivo: el plan, los ajustes del proveedor, el códec del perfil o la fuente.
  • El reproductor carga el manifiesto pero no recibe licencia — el problema está en el token de licencia o en la cuenta del proveedor: el content ID (con -hls para HLS), el tipo de DRM, el tiempo de validez, las claves del proveedor. Las herramientas de prueba del proveedor (en DoveRunner: DevConsole) muestran el código de error exacto.
  • Ninguna imagen en el navegador, ningún error — la página o el flujo están en HTTP; los navegadores solo permiten DRM por HTTPS.

Privacidad

Cookies y almacenamiento local

Las cookies estrictamente necesarias están siempre activas. Las estadísticas y el marketing usan servicios de Google y solo se activan si los aceptas; hasta entonces no se envía nada a Google. Puedes retirar tu consentimiento aquí en cualquier momento.

Estrictamente necesarias

Sin ellas no funcionan el inicio de sesión, los formularios ni el idioma elegido. No requieren consentimiento (§ 25, apartado 2, n.º 2 TDDDG).

Siempre activas
Nombre Finalidad Duración Tipo
castreon-session Mantiene la sesión: inicio de sesión e idioma elegido 2 horas, renovada en cada visita Cookie
XSRF-TOKEN Protege los formularios contra solicitudes falsificadas 2 horas, renovada en cada visita Cookie
remember_web_… Solo si marcas «Recordarme» al iniciar sesión Hasta cerrar sesión, máx. 400 días Cookie
__cf_bm Cloudflare: distingue visitantes de bots, solo cuando se verifica el tráfico 30 minutos Cookie · Cloudflare
castreon:consent Recuerda tu elección de cookies 12 meses Almacenamiento local
theme Apariencia de la cuenta de cliente: clara, oscura o del sistema Hasta que la cambies Almacenamiento local

Estadísticas

Google Analytics 4 (Google Ireland Ltd.): qué páginas se visitan, de dónde llegan las visitas y con qué tipo de dispositivo — con identificadores seudónimos, sin guardar la dirección IP. Nos ayuda a mejorar el sitio.

Nombre Finalidad Duración Tipo
_ga Google Analytics: reconoce al visitante (identificador seudónimo) 13 meses Cookie · Google Analytics
_ga_VHWQRPHPEF Google Analytics: mantiene el estado de la visita 13 meses Cookie · Google Analytics

Marketing

Google Ads (Google Ireland Ltd.): mide si las visitas desde anuncios de Google llevan a una prueba o a un plan y permite mostrar anuncios de Castreon en otros sitios (remarketing).

Nombre Finalidad Duración Tipo
_gcl_au, _gcl_aw Google Ads: vincula la visita con el clic en el anuncio (conversiones) 90 días Cookie · Google Ads
IDE, test_cookie Google Ads: remarketing y medición de anuncios, en dominios de Google (doubleclick.net) Hasta 13 meses Cookie · Google (tercero)