Pipeline de Videos de Cursos
Procesa grabaciones de cursos de principio a fin preservando la forma de salida solicitada por el usuario. Prefiere clips independientes a menos que el usuario solicite explícitamente un video de clase combinado. No inferir permiso para eliminar fuentes locales o salidas remotas existentes.
Antes del Procesamiento
- Lee exactamente las rutas de origen y destino del usuario. Trata etiquetas iniciales como "全部文件" como texto de interfaz de usuario a menos que existan en la ruta remota.
- Inspecciona los nombres de archivo, tamaños, formatos y salidas existentes antes de descargar.
- Verifica el espacio libre local y la GPU disponible, el códec de FFmpeg, el entorno de WhisperX y el inicio de sesión de BaiduPCS-Go.
- Elige el adaptador de curso después de muestrear nombres de archivo, texto de transcripción y estructura de video. Lee
references/course-adapters.mdpara estilos conocidos y para detectar estilos desconocidos. - Confirma el modo de salida: clips individuales, clips combinados o ambos. Por defecto, clips individuales cuando no se especifica.
Pipeline
- Descarga y valida cada video fuente sin cambiar su orden natural.
- Transcribe archivos fuente de forma independiente. Reutiliza transcripciones válidas y planes de clips en lugar de repetir trabajo de GPU.
- Construye un manifiesto de clips o unidades determinista. Revisa límites candidatos cuando los marcadores son ambiguos.
- Renderiza clips y genera un SRT por clip. Genera un video combinado y un SRT combinado solo cuando se solicite.
- Genera un manifiesto Markdown que contenga etiqueta, nombre de archivo de salida, nombre de archivo fuente, marcas de tiempo fuente, duración y cualquier nota de adaptación.
- Ejecuta el validador de salida antes de la carga.
- Sube al directorio remoto exacto del usuario y verifica conteos y nombres de archivo remotos.
- Limpia solo después de la verificación y solo dentro de la autorización de eliminación del usuario.
Contrato de Salida Requerido
Para cada clip seleccionado o unidad de conocimiento retenida, proporciona:
- Un MP4 a menos que la unidad solicitada sea solo metadatos.
- Un SRT con marcas de tiempo reiniciadas y el mismo nombre base.
- Una fila en la lista Markdown de la clase o capítulo.
- Prefijos secuenciales estables más el ID original del ejemplo o unidad.
Para el modo combinado, mantén los clips normalizados individuales localmente y añade un MP4 combinado más un SRT combinado ajustado a la línea de tiempo. No reemplaces una versión combinada o no combinada existente a menos que el usuario solicite sobrescribirla o eliminarla.
Notas de Ejecución
- Usa transcripciones específicas de la fuente para que las marcas de tiempo se reinicien a cero para cada clip de salida.
- Prefiere un recorte preciso con FFmpeg usando h264_nvenc cuando sea compatible. Recurre a libx264 en lugar de saltar silenciosamente límites precisos.
- Preserva la redacción del curso en Markdown; solo normaliza nombres de archivo y etiquetas administrativas.
- Detente en fuentes faltantes, marcas de tiempo inválidas, medios de cero bytes o discrepancias de conteo inexplicables. Reintenta solo archivos fallidos.
- Para lotes grandes, informa progreso concreto después de las etapas de descarga, transcripción, renderizado y carga.
Lee references/workflow.md antes de ejecutar el pipeline completo. Lee references/course-adapters.md al elegir la política de división. Lee references/manifest-upload.md al construir manifiestos, listas Markdown, cargas, verificación o limpieza.