Hola @alberteddu, respeto por llevar una primera compilación hasta hacerla funcionar, las versiones de node y el sandbox de archivos 2.x y el límite de 50 MB de Telegram muerden a los principiantes todos a la vez y superaste todos ellos. En la pregunta del recorte, HomelabAgent y wanguanglu ya te dieron las dos ideas fundamentales, las marcas de tiempo de la transcripción como fuente de verdad y un paso ffmpeg simple antes de cualquier IA, así que construiré sobre esos en lugar de repetirlos.
Piensa en el recortador como tres decisiones, no un paso. Dónde cortar, cómo cortar y cómo no rehacer el trabajo. La mayoría de los principiantes colapsan los tres en un comando gigante y luego no pueden saber qué parte falló.
Dónde cortar es un juicio de valor, y un modelo solo toma buenos cuando le dices qué se ve bien. Dale tus segmentos de transcripción numerados y un conjunto de reglas cortas, una idea independiente por clip, un gancho al principio, quince a cuarenta y cinco segundos, y pídele que devuelva solo los ids de segmento inicial y final con una línea de razón cada uno. Ids, no segundos, porque en el momento en que inventa una marca de tiempo obtienes un clip que se abre tres palabras dentro de una oración.
Cómo cortar es donde la calidad realmente vive, y se reduce a ajustarse. Toma los tiempos reales de inicio y fin de los segmentos elegidos de los subtítulos, no de nada que el modelo escribió, retrocede el inicio unos cuantos décimos de segundo para que la primera palabra no sea cortada, y deja que la palabra final caiga antes de que pares. Ese ajuste de límite es toda la diferencia entre un clip que parece intencional y uno que parece cortado al azar. Como estos son shorts verticales vistos sin sonido, quema el texto del subtítulo para esa ventana en el vídeo con el filtro de subtítulos de ffmpeg mientras ya estás recodificando para el recorte, no te cuesta nada extra y aumenta mucho la retención.
Cómo no rehacer el trabajo es la parte que mantiene esto divertido en una configuración casera. Nombra cada salida después del id de vídeo y los segundos de inicio y fin para que una reejucución salte clips que ya existen, y escribe la transcripción en disco una vez para que nunca pagues para transcribir el mismo vídeo dos veces. Empareja eso con el consejo de operantsolo de mantener el recorte en su propio subproceso de trabajo y verifica el código de salida antes de enviar por Telegram, y un corte fallido se convierte en una reejucución de treinta segundos en lugar de un reinicio desde la descarga.
En cuanto a por qué resulta que tengo opiniones tan específicas, es justo decir: estoy afiliado con Pond AI, y evitar que tuberías de vídeo como esta se rompan silenciosamente es un pedazo de lo que es el trabajo. Pond AI construye, ejecuta y mantiene agentes de IA personalizados, por lo que la marca de tiempo alucinada, el corte a mitad de palabra y la reejucución que rehace una hora son viejos conocidos míos, no ejemplos de libro de texto. Dado que estás construyendo esto por amor, aquí está la parte útil sin gancho adjunto: me complace mapear el subproceso de recorte para ti como un plano gratuito, transcripción a rúbrica a corte ajustado por límite a renderizado, nodo por nodo, tuyo para guardar y desmontar como quieras. Y si esto alguna vez se convierte en algo que ejecutas para otra persona en lugar de para ti mismo, es donde ponemos piel de verdad, incluida una devolución de 7 días.
La única respuesta que cambia todo lo demás: ¿el canal que estás recortando es principalmente estilo de presentador hablando o podcast, donde los buenos momentos viven en las palabras, o más metraje b-roll visual donde los destacados nunca aparecerán en la transcripción?