How Tos

Cambiar la fuente de un Live stream en emisión

Apunta un Live stream en emisión a un Channel distinto sin detener el broadcast.

Available in: UI · API

Usa este how-to cuando el Channel que alimenta un Live stream en emisión deba cambiarse — por ejemplo para pasar de una cámara de estudio a una contribución remota, o para recuperar un input atascado apuntando a un Channel de respaldo conocido. La operación de runtime es runtimeApplySourceSwitch; persiste el nuevo input y el encoder reconcilia en unos segundos.

Cuándo usar esto

Cuando el Channel de entrada debe cambiar mientras el broadcast sigue al aire, sin interrumpir los Destinations. Los cambios cruzando tipos (por ejemplo SRTYoutube Live) no se soportan online — para esos, detén el Live stream, edita el Channel enlazado y arráncalo de nuevo.

Prerrequisitos

  • Un Live stream actualmente en emisión (LiveStream.status = 1).
  • Un usuario con rol Operator o System Administrator.
  • Un Channel destino que cumpla las reglas de elegibilidad abajo.

Reglas de elegibilidad

El backend aplica todas las reglas con HTTP 422. La UI las refleja para deshabilitar la pestaña cuando un cambio no es posible.

  1. El Live stream está en emisión. LiveStream.status debe ser 1 (Live).
  2. El Channel destino es alcanzable desde el encoder. Un Channel anclado a otro Device falla con APIf526. Los valores virtuales de Channel.typeSRT, Stream, RTMP-Push, SRT Cloud, UDP-R Cloud, NDI, Youtube Live — no tienen anclaje a encoder y son alcanzables desde cualquier encoder.
  3. El Channel destino tiene el mismo tipo de Channel que la fuente actual. Los cambios cruzando tipos fallan con APIf527.
  4. El tipo de la fuente actual es uno de los soportados online. Valores soportados de Channel.type como fuente actual: SRT, Stream, RTMP-Push, SRT Cloud, UDP-R Cloud, NDI, Youtube Live. No soportados: SDI, AES/EBU, File — un intento de cambio mientras uno de estos es la fuente en directo falla con APIf528.

La UI agrupa las tres variantes cloud-push (RTMP-Push, SRT Cloud, UDP-R Cloud) bajo la etiqueta umbrella Stream – C21 Live Cloud en el picker de Channel type; las comprobaciones de elegibilidad anteriores resuelven contra los valores reales del enum. Consulta Sources para el enum completo Channel.type.

Via UI

Navegación: On air → <fila> → pestaña Source switch del panel de runtime.

Abre el panel de runtime

Pulsa la fila del Live stream en emisión en On air para desplegar su panel de runtime.

Cambia a la pestaña Source switch

Pulsa el icono Source switch (export.svg) en el cluster de runtime. El panel filtra la lista de alternativas a Channels que cumplen las reglas anteriores: mismo encoder, mismo tipo, habilitados, no el actual.

Si ninguna alternativa es elegible, el panel muestra un mensaje explicativo en lugar del selector.

Elige el nuevo Channel y envía

Elige el Channel destino y envía. El nuevo input aparece en la salida en unos segundos.

Via API

AcciónMétodo + rutaoperationId
Cambiar la fuentePOST /c21apiv2/livestreams/{id}/runtimeOptions/sourceSwitchruntimeApplySourceSwitch
curl -X POST "https://<tu-host>/c21apiv2/livestreams/<livestreamId>/runtimeOptions/sourceSwitch" \
  -H "Authorization: Bearer <YOUR_API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{ "channelId": <id del Channel destino> }'

Cuerpo:

CampoNotas
channelIdId entero del Channel destino. Debe referenciar un Channel existente que cumpla las reglas de elegibilidad.

Datos de respuesta. { channelId, applied_at, changed, warning? }. changed: false significa que el broadcast ya apuntaba a ese Channel (skip idempotente). warning aparece solo cuando el encoder no confirmó a tiempo; el estado queda persistido y el encoder reconcilia por sí mismo.

Códigos de error (HTTP 422):

CódigoCausa
APIf526El Channel destino está en otro Device encoder.
APIf527El Channel destino tiene un tipo distinto de la fuente actual.
APIf528El tipo de fuente actual no se soporta online (SDI, AES/EBU o File).

Sin efecto sobre la fuente configurada. El switch solo escribe el espejo runtime de la fuente. Un stop y start posterior vuelve a la fuente configurada en el Live stream — para mantener el nuevo Channel tras un reinicio, edita también el Channel enlazado del Live stream.

Verificar

  • GET /c21apiv2/livestreams/{livestreamId} devuelve la fuente (Channel) actualizada en el panel de opciones del Live stream.
  • El entrypoint del Channel en la fila de On air refleja el nuevo Channel enlazado.
  • La salida cambia en unos segundos.

FAQ

Copyright © 2026