O que video-organize faz?
Execute após video-setup e antes de video-assemble. Não precisa de timeline e funciona com o Resolve fechado. Requer a skill resolve-bridge instalada ao lado desta (ou defina RVS_BRIDGE), ffmpeg e ou uv (para Whisper local) ou um comando de transcrição em RVS_TRANSCRIBE_CMD.
Execute scripts como python3 <pasta desta skill>/scripts/organize.py --workdir <pasta> <comando>.
Formato do storyboard
Markdown simples, um bloco por cena. O id da cena vem do cabeçalho.
## S01
Setup: bancada
Deixe-me começar com uma confissão: IA me ajudou a planejar este vídeo.
## S03
Voiceover: sim
B-roll: mostrando IA pesquisando algo engraçado
Setup, Voiceover e B-roll são opcionais. Todo o resto em um bloco é o texto falado. Um bloco com apenas B-roll: é uma cena só de b-roll. Um roteiro simples sem cabeçalhos conta cada parágrafo como uma cena. Sem storyboard algum, os takes são agrupados por texto semelhante (G01, G02), com um aviso no topo de TAKES.md e sem pontuação contra um roteiro ou oferta de renomeação.
Fluxo de trabalho
- Verificação de configuração. Execute o
checkdovideo-setup. Ele avisa se nenhum storyboard foi registrado, e.edit/config.jsondeve conterstoryboard,approve_phrasesereject_phrases(uma lista antigaphrasesaparece apenas como nota: pergunte quais frases aprovam e quais rejeitam, e salve-as comsetup.py write). - Conte primeiro. Peça a pasta de gravações, então:
Sempython3 scripts/organize.py --workdir <pasta> run --footage <pasta de gravações> [--storyboard ARQUIVO] [--every 2]--yesisso imprime as contagens (gravações, duração, cenas) e para. Confirme com o usuário que a pasta parece correta. - Execute.
Transcreve (uma gravação já transcrita e inalterada é pulada), encontra e pontua takes, extrai frames de b-roll, escrevepython3 scripts/organize.py --workdir <pasta> run --footage <pasta de gravações> --yesTAKES.mde registra problemas (cenas sem take utilizável, b-roll não filmado, cláusulas quebradas que ninguém pode corrigir). - Sua parte: descreva o b-roll. A execução lista uma pasta de frames por gravação de b-roll (um JPEG por amostra, frame N está em N x
everysegundos). Para cada pasta:- abra os frames e descreva o que está na tela, por timestamp;
- associe as descrições às notas de
B-roll:do storyboard: cena, início, fim e motivo; - escreva o payload, então registre-o:
{"<caminho da gravação>": {"frames": {"0": "uma pessoa digitando", "2": "close-up de uma tela"}, "matches": [{"scene": "S04", "start": 2, "end": 6, "why": "close-up de tela"}]}}python3 scripts/organize.py --workdir <pasta> describe payload.json
- Sua parte: perguntas de letra do plano. Quando a execução não consegue determinar se dois arquivos de uma cena são da mesma configuração de câmera, ela lista uma pergunta com uma diferença de frame. Pergunte ao usuário, então registre cada resposta:
python3 scripts/organize.py --workdir <pasta> answer S02 <arquivo> B - Mostre
TAKES.md. Uma seção por cena com o take sugerido primeiro, sua pontuação e motivos, patches (marcados com ambos os ids de take, sempre uma recomendação), clipes sem correspondência e cenas sem take. Leia os problemas para o usuário. - Correções. Quando o usuário preferir outro take ("use S02A-T03"):
A escolha do usuário sobrevive a reexecuções.python3 scripts/organize.py --workdir <pasta> pick S02A-T03reportreescreveTAKES.mdsem alterar mais nada. - Renomeação. Oferecida por
organize.py rename(proposta primeiro,--applysomente após o usuário aprovar a lista completa,--undopara reverter). Mostre a lista completa de antigo para novo e aplique apenas com um sim claro. Nunca renomeie de outra forma. Clipes já colocados em uma timeline no projeto aberto do Resolve são pulados e listados com o motivo, porque religar um clipe usado pode perder seus cortes e correção de cor; renomeie esses manualmente no Resolve se necessário. Se o projeto contiver clipes compostos, multicâmera ou Fusion, cujo conteúdo não pode ser listado, todo clipe importado é pulado.--applyaplica exatamente a proposta mostrada pela última vez e se recusa se ela mudou. Com o Resolve fechado,--applye--undoprecisam de--never-imported(as gravações nunca foram importadas); se o Resolve estiver aberto, clipes usados ainda são verificados. - Concluído. A execução registra a própria etapa de organização, então não há mais nada a registrar. Aponte para
video-assemble(ainda não construído) como o próximo passo.
Nomes
| Caso | Nome |
|---|---|
Id do take em TAKES.md | S02A-T03 |
| Arquivo com um take | S02A_T03_IMG_5419.MOV |
| Arquivo com vários takes de um plano | S02A_T01-T03_IMG_5420.MOV |
| Arquivo com várias cenas | S03A_S05A_S06A_IMG_5422.MOV |
| Segunda configuração de câmera de uma cena | S02B_T01_IMG_5430.MOV |
Cada plano tem uma letra. Uma letra diferente significa uma configuração de câmera diferente, não um retake. B-roll e arquivos sem correspondência mantêm seus nomes.
Regras
- As gravações originais nunca são movidas ou sobrescritas. Elas são renomeadas apenas pelo
renameaprovado. - A pontuação é de 0 a 100 e sempre mostrada com motivos. Uma rejeição no set supera a pontuação, uma aprovação fica em primeiro lugar. Cenas com voiceover são julgadas principalmente pelo som.
- Patches trocam pelo menos uma ideia completa cortada em uma pausa natural, nunca uma única palavra.
- Arquivos de trabalho ficam em
<pasta>/.edit/organize/(não edite manualmente).video-assemblelê apenas esses.