Conceptos
Esta página define los objetos principales de C21 Live Control. Cada entrada se corresponde 1:1 con una entidad de la UI o de la API pública. Cuando la sección de navegación y el nombre de la entidad difieren, se dan ambos.
Live stream
Un Live stream es la unidad de broadcast: un Channel, un Encoding (o Encoding group), un Destination (o Destination group), ejecutados en un Device durante una ventana de tiempo acotada. La página de detalle muestra los campos Source, Encoding y Destination enlazados, el estado de runtime (la lista de Live streams lo señaliza con una franja de color en el borde — gris / rojo para detenido, verde para en emisión — y, mientras está al aire, la fila aparece también en la vista On air), un contador de Uptime y las operaciones de runtime disponibles mientras está en el aire. Un Live stream es dueño de sus bindings; al detenerlo, los bindings quedan guardados para poder arrancarlo de nuevo. Mientras está al aire, el editor queda bloqueado.
Channel
Un Channel es la señal upstream que alimenta un Live stream. La entrada de navegación para el catálogo es Sources; la entidad que se edita y devuelve la API es un Channel. Los Channels exponen un campo type con este conjunto de valores:
- File — un fichero de medios reproducido en bucle como señal en directo.
- SDI — entrada SDI física en un encoder de estudio.
- AES/EBU — entrada de audio digital independiente.
- NDI — un stream NDI anunciado en la red local; el editor puede descubrir fuentes automáticamente o aceptar un nombre de stream tecleado a mano.
- SRT — modo caller o listener, con cifrado opcional y latencia configurable.
- Stream — pulls IP sobre HLS, RTMP, HTTP, RTP o UDP multicast (por ejemplo
udp://@239.0.0.1:1234o una URL de playlist HLS). - Stream – C21 Live Cloud — ingest en modo push que termina en la plataforma C21 Live Cloud. Se aceptan tres variantes de transporte:
RTMP,SRTyUDP-R. - Youtube Live — pull de un canal de Youtube Live.
Cada Channel declara su URL, codec, resolución, fps, layout de audio y los parámetros de autenticación. La página de detalle muestra datos de sondeo (probe) en vivo y un log de conexión.
Encoding
Un Encoding es la receta de codificación aplicada al Channel a la salida. La entrada de navegación para el catálogo es Encodings; la entidad es un Encoding. Lleva:
- Ajustes de vídeo — codec (
H.264,HEVC,VP9,AV1,MPEG-4,MPEG-2,LOGOpara overlays, oCopypara passthrough), bitrate, fps, anchura de salida (la altura se deriva del aspect ratio), aspect ratio, modo HDR (sdr,bt2020_sdr,hlg,hdr10— el picker de la UI los presenta en tres pasos: SDR (BT.709) · BT.2020 (10-bit) · HDR (HLG o HDR10)) y knobs específicos del codec como el profile/level de H.264 y el intervalo de keyframes. - Ajustes de audio — codec (
AAC,AAC+,OPUS,MP3,MPEG-AudiooCopypara passthrough), bitrate, canales (mono o estéreo) y sample rate.
Para integradores: el OpenAPI expone slugs en minúsculas para los codecs (por ejemplo h264, hevc, mp4a); la UI muestra las formas canónicas anteriores. La API acepta ambas.
Encoding group
Un Encoding group es un conjunto ordenado de Encodings agrupados en una escala multi-rate. Enlazar un Encoding group a un Live stream da al Destination cada peldaño de la escala a la vez; enlazar un único Encoding da una salida single-rate.
Destination
Un Destination es un endpoint de salida. La entrada de navegación para el catálogo es Destinations; la entidad que se edita y devuelve la API es un Destination. Los Destinations exponen un campo type con este conjunto exacto de valores:
- HLS / TS
- DASH
- CMAF
- RTMP
- Enhanced RTMP
- SRT
- STREAM (salida UDP / MPEG-TS)
- SDIOUT (SDI baseband para OB / máster)
- Record (captura el broadcast a disco; la entrada del catálogo que produce una grabación)
Cada Destination lleva su endpoint (URL, grupo multicast o destino de ingest), sus credenciales (stream key, passphrase SRT, token OAuth, bearer token), una política de reintentos y — cuando aplica — un bloque de configuración DRM.
Destination group
Un Destination group es un conjunto con nombre de Destinations activados juntos. Enlazar un Destination group a un Live stream es idéntico a enlazar una lista de Destinations uno a uno, con dos diferencias: el grupo es reutilizable entre Live streams, y el estado por miembro se agrega en un único indicador sin perder el drill-down por miembro.
Scheduler
El Scheduler es la vista de calendario (día / semana / mes / lista) en la que se planifican los Schedules. Detecta conflictos entre Schedules que apuntan al mismo channel de encoder y propone una resolución.
Schedule
Un Schedule enlaza un Live stream con una hora de inicio, una hora de fin, un Device y una regla de recurrencia opcional (puntual, daily, weekly, workdays o weekend). Es la contraparte temporal de una definición de Live stream.
Recording
Una grabación es la salida capturada de un Live stream almacenada para VOD. Las grabaciones se generan al adjuntar un Destination de tipo Record a uno de los Destination groups enlazados al Live stream. La retención se configura en ese Destination (en días). La UI lista las grabaciones en la sección Recordings; el panel de detalle expone el Channel enlazado, la Quality capturada, el timestamp Start, el timestamp End (o Live mientras la grabación todavía se está escribiendo) y las acciones Edit / Download / Delete.
El editor de grabaciones abre cualquier grabación en una línea temporal. El operador elige una Quality, define uno o más intervalos de tiempo (Start / End), opcionalmente alinea cada corte al keyframe más cercano y elige el encoding de salida (dash, hls o ambos). Al enviar se ejecuta el corte y se entrega el clip resultante.
Device
Un Device es una instancia C21 Live Encoder emparejada con el plano de control. Lleva un nombre, una ubicación, una capacidad de channels, un backend de aceleración por hardware y una instantánea del estado de salud. Un Live stream consume un channel en un Device durante el broadcast.
Device group
Un Device group agrupa Devices por rol para que el Scheduler y el editor de Live streams puedan elegir de un pool y no de una unidad concreta. El agrupado es también la base de las sugerencias de failover cuando un encoder está al límite de capacidad.
Asset
Un Asset es un fichero gestionado por Live Control y reutilizable entre Live streams. El catálogo de Assets (la sección Assets del menú lateral) está particionado en estos buckets:
- logos — assets de imagen para moscas / watermarks.
- files — ficheros de broadcast (intros, pizarras, loops de fallback).
- clips — clips producidos a partir de grabaciones.
Los logos se aplican en runtime mediante el panel de operaciones por stream (runtimeApplyLogo); los ficheros pueden sustituir la salida en marcha mediante la acción runtime de blackout / file (runtimeApplyBlackout).
DRM provider
Un DRM provider es una entrada de catálogo de credenciales. Gestionados en Integrations > DRM providers, cada registro lleva un nombre, una URL SPEKE, las credenciales para autenticarse contra el upstream y un provider_type anunciado por el catálogo del servidor. Los provider types soportados hoy son AXINOM y EZDRM; el catálogo lo dirige el servidor y se pueden añadir marcas adicionales sin romper el contrato de la API.
DRM (en un Destination)
El DRM se aplica a un Live stream mediante el bloque DRM en cada Destination protegido. El bloque expone:
active— si DRM está activo en este Destination.provider_id— el DRM provider al que pedir claves (uno de los catalogados arriba).contentid— el identificador de contenido registrado con ese proveedor.systems— los sistemas DRM a anunciar en el manifest: cualquier combinación deWidevine,PlayReadyyFairPlay.encryption_mode—cenc(Widevine + PlayReady en DASH y CMAF) ocbcs(FairPlay en CMAF, opcionalmente con Widevine / PlayReady).
Un Destination sin DRM emite en claro. Un Destination protegido hereda las claves y la cadencia de rotación que emite el proveedor.
Cuenta de C21 Live Cloud
Una cuenta de C21 Live Cloud es la integración con la plataforma C21 Live Cloud — un servicio remoto que proporciona capacidad de encoding cloud a la que Live Control puede despachar junto con los encoders on-prem. La cuenta se gestiona en Settings > Integrations > C21LiveCloud y se valida contra el servicio de deploy upstream bajo demanda. Una vez persistida, la cuenta aparece en el selector de Devices para que el operador pueda apuntar a un encoder cloud igual que a uno on-prem. Pueden coexistir varias cuentas; el campo de credenciales es solo escritura en la API.
Servidor MCP
El servidor MCP es una integración del producto que expone un toolset curado a cualquier agente de IA o automatización compatible con MCP. El toolset está acotado por un perfil del lado del servidor elegido en deploy. El perfil por defecto en deploys NOC es voice, que expone 25 herramientas — cuatro flujos de negocio de extremo a extremo (start_livestream, stop_livestream, toggle_destination, update_destination_stream_key) más veintiuna herramientas generadas que cubren consultas de estado, CRUD de Schedule, operaciones de runtime (logo, blackout, file loop), descubrimiento de Assets y reconfiguración de fuente. Otros perfiles (readonly, operator, full) están disponibles para distintas formas de integración. La fuente de verdad para la composición de perfiles es src/mcp-server/profiles.py en el repositorio del producto.
Roles
El producto define dos roles, ambos gestionados en la sección Users:
- System Administrator — acceso completo. Gestiona usuarios, licencias, integraciones, DRM providers y la superficie del sistema.
- Operator — opera el flujo del día a día: la vista On air, los Live streams, el Scheduler y las Recordings.
La REST API y el servidor MCP autentican como uno de estos dos roles. Los API tokens son credenciales emitidas a un usuario existente y heredan el rol de ese usuario; no son un rol separado.