Programar una emisión semanal recurrente
Available in: UI · API
Usa este how-to cuando el mismo Live stream deba salir al aire con una cadencia fija — todos los días laborables a la misma hora, cada domingo por la mañana o a diario. El Scheduler es dueño del calendario; la definición del Live stream es dueña del Channel, el Encoding y el Destination enlazados.
Cuándo usar esto
Cuando el arranque y detención de un Live stream deben automatizarse contra un calendario (informativos diarios, partidos de fin de semana, boletín diario de lunes a viernes). Para arranques puntuales usa el flujo Start en On air.
Prerrequisitos
- Un Live stream ya configurado (con Channel, Encoding y Destination enlazados). El Schedule lo referencia por id.
- Un usuario con rol Operator o System Administrator. El CRUD de Schedules está disponible para ambos.
La entidad Schedule
Schedule lleva:
| Campo | Notas |
|---|---|
name | Nombre visible. |
livestreamId | Id numérico del Live stream enlazado. |
start | Timestamp ISO-8601 de inicio. |
end | Timestamp ISO-8601 de fin. |
recurrence.type | Uno de none, daily, weekly, workdays, weekend. |
enabled | Permite desactivar el Schedule sin borrarlo. |
encoderGroupId | Grupo de encoders / Devices contra el que se ejecutará (opcional). |
La API rechaza arranques anteriores a 10 minutos en el pasado; el selector de fecha de la UI deshabilita esas fechas en consecuencia.
Via UI
Navegación: Scheduler.
Abre el Scheduler
Pulsa Scheduler en el menú lateral y luego New Schedule.
Rellena el diálogo
El diálogo se agrupa en tres bloques:
- Information — Name, Live Stream, Enabled.
- Date and Time — Start, End.
- Recurrence — None, Daily, Weekly, Workdays, Weekend.
Para un boletín de lunes a viernes a las 21:00, elige Workdays. Workdays repite todos los días laborables (lunes a viernes).
Envía
El Schedule queda persistido. A partir del siguiente start, dispara automáticamente el Live stream enlazado; la fila del Live stream en On air muestra el icono de calendario junto al nombre del encoder con el tooltip "Started by Schedule".
Via API
| Acción | Método + ruta | operationId |
|---|---|---|
| Crear un Schedule | POST /c21apiv2/schedules | addSchedule |
| Leer un Schedule | GET /c21apiv2/schedules/{scheduleId} | getScheduleById |
| Actualizar | PUT /c21apiv2/schedules/{scheduleId} | updateSchedule |
| Activar / Desactivar | POST /c21apiv2/schedules/{scheduleId}/{enable|disable} | enableSchedule, disableSchedule |
| Borrar | DELETE /c21apiv2/schedules/{scheduleId} | deleteSchedule |
| Expandir a ocurrencias | GET /c21apiv2/schedules/{scheduleId}/occurrences?from=…&to=… | getScheduleOccurrences |
curl -X POST "https://<tu-host>/c21apiv2/schedules" \
-H "Authorization: Bearer <YOUR_API_TOKEN>" \
-H "Idempotency-Key: <clave-única>" \
-H "Content-Type: application/json" \
-d '{
"name": "informativo-laborables-21h",
"livestreamId": <id>,
"start": "2026-05-18T21:00:00Z",
"end": "2026-05-18T21:30:00Z",
"recurrence": { "type": "workdays" },
"enabled": true
}'
Idempotency-Key se aplica en addSchedule; los reintentos no crean Schedules duplicados.
Grabación
La grabación se activa enlazando un Destination de tipo Record a uno de los Destination groups del Live stream — no hay un flag de grabación separado en el Schedule. El Schedule solo arranca y detiene el Live stream; cualquier Destination enlazado al arrancar, incluido un Record, se ejecuta junto al broadcast. Consulta Recordings.
Verificar
- El Schedule aparece en la lista del Scheduler con la etiqueta de recurrencia esperada.
getScheduleByIddevuelve el Schedule conenabled = truey elrecurrence.typeesperado.getScheduleOccurrencessobre la siguiente semana devuelve una ocurrencia por día laborable.- En el
startde la primera ocurrencia, la fila del Live stream en On air cambia a Live.
FAQ
recurrence.type = workdays). Weekly significa "cada 7 días desde start" (el mismo día de la semana del start), no "todos los días laborables"; esa distinción está documentada en el contrato de API.end originalmente programado.end programado o detén el Live stream desde la UI. El Stop de la UI sobre un broadcast programado presenta la línea adicional "The associated Schedule will be deleted." — confirmar elimina también el Schedule. Para parar sin perder el Schedule, edita el end a ahora mediante updateSchedule.Proteger un Live stream con multi-DRM
Registra un DRM provider y asócialo a un Publishing — desde la UI, desde la API o ambas.
Cortar un clip en el Editor y enviarlo a MediaCopilot
Abre una grabación en el Editor de grabaciones, corta un clip y entrégalo a MediaCopilot para transcripción, subtitulado y generación de clips.