Grabaciones
Usa Grabaciones para capturar una entrada en directo como archivo continuo o como segmentos temporizados destinados a archivo, replay, cumplimiento normativo o posproducción.
Elige este módulo cuandoUna fuente en directo debe convertirse en un archivo continuo o segmentado.
Usa otro módulo cuandoUsa Archivos si el contenido ya está almacenado; usa Retransmisiones si la salida debe seguir en directo.
/api/recording/createAntes de empezar
Todos los métodos requieren un x-access-token válido. Crea o comprueba primero la entrada, confirma la capacidad del disco local, selecciona el formato de salida y define antes del evento cualquier ajuste de retención.
Qué puedes hacer
createyupdateconfiguran la entrada, el formato, el modo de grabación, el procesamiento y la retención.getAll,getCountygetByIdconsultan los procesos y los archivos generados.startystopcontrolan la captura.getStatdevuelve el bitrate, la cadencia de frames, la velocidad de codificación y el progreso de salida disponibles.removeFileelimina un archivo generado sin borrar el proceso.removeelimina el proceso de grabación.
Flujo de ejemplo
- Crea un proceso desde un servidor SRT, servidor RTMP, fuente de videollamada o URL de stream compatible.
- Selecciona MP4, HLS u otro formato de salida compatible y el modo continuo o dividido por tiempo.
- Inicia el proceso antes de la ventana de captura necesaria.
- Usa
getStatpara confirmar que el bitrate de entrada y el tiempo de salida siguen avanzando. - Detén el proceso, comprueba los archivos y cópialos al almacenamiento configurado.
Casos de uso habituales
- Crear un archivo continuo del programa de un evento en directo.
- Dividir una grabación larga de videovigilancia o broadcast en intervalos predecibles.
- Grabar una señal de contribución RIST compatible para archivo o replay.
- Mantener una grabación de respaldo con limpieza automática por antigüedad.
Límites y resolución de problemas
Una grabación necesita una entrada en directo estable y suficiente capacidad de disco y procesamiento. Supervisa el bitrate de entrada y el progreso mientras se ejecuta, comprueba los archivos generados antes de limpiarlos y prueba cualquier fuente RIST con el perfil y los ajustes de seguridad requeridos antes del evento.
Siguientes pasos
Usa Archivos para consultar o transferir el resultado y Almacenamientos para configurar retención duradera fuera de la instancia.
Grabar una entrada en directo de forma continua o segmentada
Crea una grabación desde una fuente estable, elige salida continua o por tiempo, inicia la captura y supervisa el progreso.
- Crear la grabaciónElige fuente, formato, modo, procesamiento y retención.
POST /api/recording/create - Iniciar la capturaInicia solo cuando estén listas la fuente y la ruta de almacenamiento.
POST /api/recording/start - Supervisar progresoObserva bitrate, cadencia, velocidad de codificación y progreso.
POST /api/recording/getStat
Confirma capacidad y retención antes del evento. Verifica los archivos antes del borrado o transferencia.
Convertir una captura en directo en reproducción bajo demanda
Captura el evento, detén la grabación correctamente, lee el archivo terminado en recordedFiles y crea y valida un reproductor con el preset de archivo gestionado correspondiente.
- Crear la capturaSelecciona la entrada, un formato compatible con navegador y la retención.
POST /api/recording/create - Iniciar la grabaciónInicia la captura cuando la fuente esté estable y haya capacidad.
POST /api/recording/start - Finalizar la capturaDetén el proceso al terminar para finalizar la salida antes de reproducirla.
POST /api/recording/stop - Obtener el archivo completoVuelve a cargar la grabación y selecciona una entrada completa de recordedFiles.
POST /api/recording/getById - Crear reproducción bajo demandaUsa el preset de archivo gestionado y configura acceso, entrega y presentación.
POST /api/vod/create - Iniciar el reproductorInicia el reproductor cuando el archivo esté finalizado y disponible.
POST /api/vod/start - Validar la entregaComprueba el proceso y la entrega y prueba la URL en navegadores representativos.
POST /api/vod/getStat
No publiques un archivo mientras se está escribiendo. Detén y carga la grabación, elige una entrada completa de recordedFiles y conserva el archivo mientras dependa de él el reproductor.
Grabar una fuente en directo y copiar el archivo final a almacenamiento de objetos
Registra el almacenamiento, captura la fuente, finaliza la grabación, obtiene su entrada recordedFiles y copia el archivo gestionado al destino verificado.
- Registrar el almacenamientoCrea el destino S3 o Backblaze validado con su bucket y configuración de metadatos.
POST /api/storages/create - Verificar el destino guardadoConfirma los campos no secretos y conserva el id para la operación de copia.
POST /api/storages/getById - Crear el proceso de capturaElige el preset de entrada, formato, segmentación y retención revisados.
POST /api/recording/create - Iniciar la capturaInicia solo cuando la fuente esté estable y hayas comprobado la capacidad local.
POST /api/recording/start - Supervisar el proceso de grabaciónObserva bitrate, FPS, progreso y estado mientras se escribe el medio.
POST /api/recording/getStat - Finalizar la salidaDetén la grabación correctamente antes de tratar el archivo como transferible.
POST /api/recording/stop - Obtener recordedFilesRecarga el proceso y selecciona la identidad finalizada de archivo en recordedFiles.
POST /api/recording/getById - Copiar al almacenamientoEnvía el id del archivo, el tipo y el id de almacenamiento y sigue después la consulta de progreso documentada.
POST /api/files/copyTo
Las credenciales son secretos operativos de solo escritura. Detén y recarga la grabación antes de usar un id de recordedFiles y supervisa el progreso en vez de asumir que una petición correcta significa que la transferencia terminó.
Crea una grabación gestionada con origen, formato, segmentación, procesamiento opcional, retención y estado activo inicial. Envía el JWT generado en el panel mediante la cabecera x-access-token.
Las fuentes compatibles incluyen servidores SRT y RTMP, salas o participantes de videollamada y URL HLS, MPEG-DASH, RTSP, RTP, UDP y RIST. Para RIST, usa INPUT_TYPE_RIST_URL y define input_stream_url.
Ejemplos de solicitud
Elige la plantilla correspondiente al formato y al comportamiento de captura y añade solo el procesamiento necesario.
Casos de uso habituales
- Capturar un evento completo como MP4 para archivo o posproducción.
- Crear archivos segmentados por tiempo para fuentes continuas.
- Grabar una salida HLS para reproducirla después como archivo.
Después de iniciar el trabajo, usa getStat para consultar bitrate, FPS y progreso y revisa recordedFiles para ver los archivos generados.
Usa este preajuste cuando el objetivo principal sea obtener un único archivo estable a partir de una contribución SRT en vivo.
Es la configuración de grabación más habitual: conserva el flujo entrante en un único archivo continuo y reduce al mínimo la capa de procesamiento.
Usa este preajuste cuando las capturas largas deban dividirse en intervalos previsibles para almacenamiento, automatización o posproducción.
El modo de grabación pasa de un archivo continuo a segmentos sucesivos, mientras el resto de la canalización de captura permanece prácticamente igual.
Usa este preajuste cuando la salida deba guardarse como contenido HLS en lugar de usar un contenedor de archivo clásico.
Resulta útil cuando el formato almacenado condiciona la reproducción posterior o las herramientas de distribución siguientes.
Etiqueta en el panel: Nombre.
Nombre legible de la tarea. El panel lo valida como campo obligatorio y admite los mismos caracteres que indica la interfaz: A-Z, a-z, 0-9 y -.
El flujo de grabación actual utiliza RECORDING_STREAM_TO_FILE.
Definición de entrada creada a partir del formulario de origen. Determina qué fuente en vivo se captura. La captura RIST mediante URL utiliza INPUT_TYPE_RIST_URL con input_stream_url a través de la ruta de entrada de E/S compartida.
Etiqueta en el panel: Formato de salida.
Las opciones reales del producto incluyen mp4, avi, flv, mp3, m3u8, mpegts y mkv, según el protocolo de entrada seleccionado.
Etiqueta en el panel: Modo de clips automáticos.
Determina si el grabador escribe un archivo continuo o divide la salida por tiempo. Los modos disponibles son RECORDING_MODE_INFINITY y RECORDING_MODE_SPLIT_BY_TIME.
Se usa con el modo de división por tiempo. El panel envía hours, minutes y seconds, y presenta el intervalo como un control temporal de arrastrar y soltar.
Perfil de transcodificación opcional para el proceso FFmpeg. El panel también envía este bloque cuando la transcodificación está desactivada.
Ajustes opcionales para modificar el audio. Los objetos en estado desactivado siguen formando parte de la estructura normal de la carga útil.
Ajustes opcionales para modificar el vídeo.
Ajustes opcionales de superposición para grabaciones con marca o anotaciones.
Etiqueta en el panel: Eliminar automáticamente después de.
Plazo opcional de eliminación automática, en días. 0 desactiva la eliminación automática y la interfaz mantiene 0 como valor desactivado habitual.
Etiqueta en el panel: Activar al crear.
Determina si el proceso de grabación queda activo después de aprovisionarlo.
Id de recurso que se devuelve al crear o listar el proceso de grabación.
Alias práctico de _id.
Nombre guardado para la tarea de grabación.
Tipo de grabación devuelto por el backend.
Objeto u objetos de entrada enlazados que utiliza la canalización de captura.
Formato de salida almacenado para la grabación.
Modo de grabación y ajustes de división por tiempo guardados en el objeto de la tarea.
Ajustes de procesamiento asociados a la tarea de grabación.
Archivos grabados que ya están vinculados a la tarea. Este campo es especialmente importante en capturas finalizadas o segmentadas.
Plazo de eliminación automática, en días.
Indicador del estado de ejecución actual de la tarea de grabación.
Marcas de tiempo administradas por el backend.
El modelo incluye success: true como campo virtual en las respuestas correctas.