¿Qué hace video-organize?
Ejecútalo después de video-setup y antes de video-assemble. No necesita una línea de tiempo y funciona con Resolve cerrado. Requiere la skill resolve-bridge instalada junto a esta (o configurar RVS_BRIDGE), ffmpeg, y ya sea uv (para Whisper local) o un comando transcriptor en RVS_TRANSCRIBE_CMD.
Ejecuta los scripts como python3 <carpeta de esta skill>/scripts/organize.py --workdir <carpeta> <comando>.
Formato del storyboard
Markdown simple, un bloque por escena. El identificador de escena proviene del encabezado.
## S01
Setup: encimera
Déjame empezar con una confesión: la IA me ayudó a planificar este vídeo.
## S03
Voiceover: sí
B-roll: mostrando a la IA investigando algo divertido
Setup, Voiceover y B-roll son opcionales. Todo lo demás en un bloque es el texto hablado. Un bloque con solo B-roll: es una escena solo de b-roll. Un guion simple sin encabezados cuenta cada párrafo como una escena. Sin ningún storyboard, las tomas se agrupan por texto similar (G01, G02), con una advertencia al inicio de TAKES.md y sin puntuación contra un guion ni oferta de renombrado.
Flujo de trabajo
- Verificación de configuración. Ejecuta la
checkdevideo-setup. Advierte si no hay storyboard registrado, y.edit/config.jsondebe contenerstoryboard,approve_phrasesyreject_phrases(una listaphrasesantigua aparece solo como nota: pregunta qué frases aprueban y cuáles rechazan, y guárdalas consetup.py write). - Primero cuenta. Pregunta por la carpeta de material, luego:
Sinpython3 scripts/organize.py --workdir <carpeta> run --footage <carpeta_de_grabaciones> [--storyboard ARCHIVO] [--every 2]--yesimprime los conteos (grabaciones, duración, escenas) y se detiene. Confirma con el usuario que la carpeta sea la correcta. - Ejecutar.
Transcribe (una grabación ya transcrita y sin cambios se omite), encuentra y puntúa tomas, extrae frames de b-roll, escribepython3 scripts/organize.py --workdir <carpeta> run --footage <carpeta_de_grabaciones> --yesTAKES.mdy registra problemas (escenas sin toma utilizable, b-roll no filmado, fragmentos rotos que nadie puede parchear). - Tu parte: describe el b-roll. La ejecución lista una carpeta de frames por grabación de b-roll (un JPEG por muestra, el frame N está en N x cada
everysegundos). Para cada carpeta:- abre los frames y describe lo que se ve en pantalla, por marca de tiempo;
- empareja las descripciones con las notas de
B-roll:del storyboard: escena, inicio, fin, y motivo; - escribe la carga útil y luego regístrala:
{"<ruta de grabación>": {"frames": {"0": "una persona escribiendo", "2": "primer plano de una pantalla"}, "matches": [{"scene": "S04", "start": 2, "end": 6, "why": "primer plano de pantalla"}]}}python3 scripts/organize.py --workdir <carpeta> describe payload.json
- Tu parte: preguntas sobre letras de toma. Cuando la ejecución no puede determinar si dos archivos de una escena pertenecen a la misma configuración de cámara, lista una pregunta con una diferencia de frames. Pregunta al usuario, luego registra cada respuesta:
python3 scripts/organize.py --workdir <carpeta> answer S02 <archivo> B - Mostrar
TAKES.md. Una sección por escena con la toma sugerida primero, su puntuación y razones, parches (marcados con ambos IDs de toma, siempre una recomendación), clips no emparejados y escenas sin toma. Lee los problemas al usuario. - Correcciones. Cuando el usuario prefiere otra toma ("usa S02A-T03"):
La elección del usuario sobrevive a re-ejecuciones.python3 scripts/organize.py --workdir <carpeta> pick S02A-T03reportreescribeTAKES.mdsin cambiar nada más. - Renombrar. Ofrecido por
organize.py rename(propuesta primero,--applysolo después de que el usuario apruebe la lista completa,--undopara deshacer). Muestra la lista completa de antiguo a nuevo y aplica solo con un sí claro. Nunca renombres de otra forma. Los clips ya colocados en una línea de tiempo en el proyecto abierto de Resolve se omiten y se listan con el motivo, porque reenlazar un clip usado puede perder sus cortes y gradación; renómbralos manualmente en Resolve si es necesario. Si el proyecto contiene clips compuestos, multicámara o Fusion, cuyo contenido no se puede listar, se omite cada clip importado.--applyaplica exactamente la propuesta mostrada por última vez y se niega si cambió. Con Resolve cerrado,--applyy--undonecesitan--never-imported(el material nunca se importó); si Resolve está abierto, los clips usados aún se verifican. - Finalizado. La ejecución registra el paso organize en sí, por lo que no hay nada más que registrar. Señala
video-assemble(aún no construido) como el siguiente paso.
Nombres
| Caso | Nombre |
|---|---|
ID de toma en TAKES.md | S02A-T03 |
| Archivo con una toma | S02A_T03_IMG_5419.MOV |
| Archivo con varias tomas de un plano | S02A_T01-T03_IMG_5420.MOV |
| Archivo con varias escenas | S03A_S05A_S06A_IMG_5422.MOV |
| Segunda configuración de cámara de una escena | S02B_T01_IMG_5430.MOV |
Cada plano tiene una letra. Una letra diferente significa una configuración de cámara diferente, no una retoma. El b-roll y los archivos no emparejados conservan sus nombres.
Reglas
- El material fuente nunca se mueve ni se sobrescribe. Solo se renombra mediante el
renameaprobado. - La puntuación es de 0 a 100 y siempre se muestra con razones. Un rechazo en el set tiene prioridad sobre la puntuación; una aprobación se clasifica primero. Las escenas de voiceover se juzgan principalmente por el sonido.
- Los parches intercambian al menos un corte de idea completo en una pausa natural, nunca una sola palabra.
- Los archivos de trabajo residen en
<carpeta>/.edit/organize/(no editar a mano).video-assemblesolo lee esos archivos.