Cambiar la fuente de un Live stream en emisión
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 SRT → Youtube 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.
- El Live stream está en emisión.
LiveStream.statusdebe ser1(Live). - El Channel destino es alcanzable desde el encoder. Un Channel anclado a otro Device falla con
APIf526. Los valores virtuales deChannel.type—SRT,Stream,RTMP-Push,SRT Cloud,UDP-R Cloud,NDI,Youtube Live— no tienen anclaje a encoder y son alcanzables desde cualquier encoder. - El Channel destino tiene el mismo tipo de Channel que la fuente actual. Los cambios cruzando tipos fallan con
APIf527. - El tipo de la fuente actual es uno de los soportados online. Valores soportados de
Channel.typecomo 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 conAPIf528.
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ón | Método + ruta | operationId |
|---|---|---|
| Cambiar la fuente | POST /c21apiv2/livestreams/{id}/runtimeOptions/sourceSwitch | runtimeApplySourceSwitch |
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:
| Campo | Notas |
|---|---|
channelId | Id 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ódigo | Causa |
|---|---|
APIf526 | El Channel destino está en otro Device encoder. |
APIf527 | El Channel destino tiene un tipo distinto de la fuente actual. |
APIf528 | El 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
422 con el código de error específico y el broadcast mantiene su fuente actual. Detén el Live stream, reenlázalo al nuevo Channel y arráncalo de nuevo.Hacer blackout o sustituir el programa de un Live stream
Pasa a un frame negro, sustituye la salida con un fichero de medios o vuelve a la entrada en directo — sin detener la emisión.
Activar / desactivar un Publishing en mitad de la emisión
Activa o desactiva un Publishing en un Live stream en emisión sin reiniciar el broadcast.