Communitygithub.com

johnnyfekete/video-tighten

Ajusta los cortes de cabezas parlantes en DaVinci Resolve Studio. Mide el habla en cada clip, establece bordes de corte naturales (aire antes de la primera palabra y después de la última), rescata finales de palabras recortados, acorta pausas largas dentro de las tomas y ajusta el b-roll en consecuencia. Produce una nueva versión de la línea de tiempo a través de resolve-bridge. Útil cuando el usuario dice que el corte se siente demasiado repentino o lento, las palabras se cortan, hay silencio muerto, o pide eliminar silencios o ajustar la edición.

¿Qué es video-tighten?

Esta habilidad para agentes de IA (como Claude Code, Cursor, Codex) optimiza ediciones de cabezas parlantes en DaVinci Resolve Studio al recortar automáticamente los silencios y pausas muertas, y reajustar el b-roll. Detecta el habla basándose en la energía del audio (adecuado para grabaciones de micrófono cercano), establece bordes de corte naturales con parámetros configurables (aire antes de la primera y última palabra), rescata palabras recortadas que comienzan o terminan fuera del clip, y acorta pausas largas internas dividiendo el clip (lo que crea saltos de corte que luego pueden ocultarse con encuadres o b-roll). Requiere que la habilidad resolve-bridge esté instalada (se encuentra en `../resolve-bridge` o mediante la variable de entorno `RVS_BRIDGE`) y ffmpeg. El flujo de trabajo incluye una ejecución en seco (dry run) que no modifica nada, revisión del informe con el usuario (que muestra cambios de duración, número de pausas acortadas y banderas para casos no resueltos), protección de pausas deliberadas (actuación, pausas cómicas) y aplicación final, que crea una nueva versión de la línea de tiempo y archiva la anterior. Las banderas no resueltas se convierten en problemas en un checklist de edición. No se manejan aún diálogos superpuestos ni palabras de relleno (como ‘um’, ‘you know’), que están planificados para una habilidad futura con transcripción.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/johnnyfekete/resolve-video-skills/tree/HEAD/skills/video-tighten

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace video-tighten?

Requiere la habilidad resolve-bridge instalada junto a esta (la encuentra en ../resolve-bridge, o establezca RVS_BRIDGE), además de ffmpeg.

Flujo de trabajo

  1. ¿Dónde estamos. python3 <resolve-bridge>/scripts/rvs.py --workdir <carpeta> status. Si no hay estado aún, adopta la línea de tiempo que el usuario desea ajustar (consulta resolve-bridge).
  2. Ejecución en seco. No cambia nada en Resolve:
    python3 scripts/tighten.py --workdir <carpeta>
    
    Escribe <carpeta>/.edit/tighten/REPORT.md, report.json y plan.json.
  3. Lee el informe con el usuario. Muestra el cambio de duración, el número de pausas acortadas y cada bandera. Las banderas marcan cortes que el script no pudo solucionar (una palabra que comienza antes del punto de entrada con otro discurso justo antes), por lo que alguien debe revisarlas de oído, o elegir una toma diferente.
  4. Protege pausas deliberadas. El silencio que es actuación (una mirada, una pausa antes de un remate, escribir en cámara) no debe cortarse. Pregunta al usuario, luego vuelve a ejecutar con --skip <nombre del clip o fotograma de inicio de la línea de tiempo> ....
  5. Aplicar.
    python3 scripts/tighten.py --workdir <carpeta> --skip ... --apply
    
    Construye <base>_vNN_tighten, archiva la versión anterior, guarda el proyecto. Cada bandera se convierte en un problema en EDIT_CHECKLIST.md, ubicado por nombre de clip y código de tiempo en la nueva línea de tiempo. Informa al usuario el nuevo nombre de la línea de tiempo y los identificadores de los problemas.

Qué hace

Valor predeterminadoOpción
Aire antes de la primera palabra0.22 s--pre
Aire después de la última palabra0.38 s--post
El borde puede crecer hacia el silencio de la misma toma (rescata palabras recortadas)hasta 0.5 s--max-extend
Nunca más cerca que esto de otro sonido (respiración, murmullo, toma siguiente)0.08 s--guard
Pausas dentro de un clip más largas que …0.75 s--pause-max
… se acortan a0.3 s--pause-keep
Nunca crear una pieza más corta que0.5 s--min-piece
Solo corregir bordes, mantener todas las pausasdesactivado--no-pauses
Pistas de audio que no son diálogo (música)ninguna--ignore-audio-tracks 3 4
  • Detección de habla está basada en energía (resolve-bridge/scripts/rvs_audio.py): los umbrales provienen de todo el archivo fuente, las palabras se encuentran con un umbral fuerte y sus bordes crecen a través de finales suaves y respiraciones adjuntas. Es adecuado para grabaciones de micrófono cercano. En ubicaciones ruidosas, revisa las banderas con más cuidado.
  • Cada pausa acortada se convierte en un salto de corte (el clip se divide). Ejecuta video-framing después para ocultarlos con encuadres, o cúbrelos con b-roll.
  • Ripple: los clips posteriores se mueven hacia arriba. Los elementos solo de video (b-roll, superposiciones) se reasignan a la nueva temporización y se acortan donde su sección se acortó. El b-roll que terminaría por debajo de 0.5 s se descarta y se lista.
  • Modo: este es un paso estructural, por lo que utiliza el build de resolve-bridge. Los títulos y generadores en la línea de tiempo actual no se transfieren (el bridge advierte). Ejecuta tighten antes de agregar gráficos.

No manejado aún

  • Diálogo superpuesto (cortes J/L ya en la línea de tiempo): esos clips se dejan como están y se marcan.
  • Palabras de relleno (

Skills relacionados