Edição de Reels — Nível 1 (Clean & Minimal)
Converte um vídeo gravado em 01-crudo/ num Reel vertical 9:16, limpo e pronto para revisão: sem silêncios, com legendas karaokê, movimento discreto e fade final.
Regra fundamental: primeiro um DRAFT; a versão final só é feita depois que a pessoa aprovar. Nunca uses serviços pagos sem perguntar antes.
Todo o processo é local e gratuito (Python + FFmpeg + Whisper). Os scripts já vêm em scripts/. Não os reescrevas: usa-os.
Passo 0 — Preparar ferramentas (apenas na primeira vez)
Primeiro executa python scripts/verificar_entorno.py: verifica Python, FFmpeg (com os filtros que o kit usa) e Whisper, e informa o que falta. Se tudo estiver OK, segue para o Passo 1. Se não, resolve o que for indicado com os comandos abaixo. Verifica em silêncio se existem. Se faltar algo, instala avisando com uma mensagem amigável ("Estou preparando as ferramentas, leva alguns minutos na primeira vez"):
python --version
ffmpeg -version
ffprobe -version
python -c "import whisper"
Se faltar algo:
- Python: pede à pessoa que o instale em python.org (marca "Add Python to PATH") e reinicie o terminal.
- FFmpeg (Windows):
winget install Gyan.FFmpeg— depois reiniciar o terminal. No Mac:brew install ffmpeg. - Whisper:
pip install openai-whisper(baixa o modelosmallna primeira vez, é grátis e roda no computador dela).
Se algo não puder ser instalado, não traves: explica o que falta e oferece a alternativa mais simples.
Passo 1 — Revisar o material
- Lista o que há em
01-crudo/(e recursos em02-assets/). - Se há um único vídeo, usa-o. Se há vários, pergunta qual. Se a pasta está vazia, pede que copie o vídeo para lá.
- Confirma duração e se tem áudio:
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "01-crudo/NOME.mp4" - Faz no máximo uma pergunta de preferências, só se for necessário (por exemplo: há hesitações que ela queira cortar manualmente?). Se não, avança com os valores por defeito.
Passo 2 — Gerar o DRAFT
Executa o pipeline completo (transcreve → limpa silêncios → exporta vertical):
python scripts/pipeline.py "01-crudo/NOME.mp4"
O que cada etapa faz (caso precises executá-las separadamente ou ajustar):
| Passo | Script | Resultado |
|---|---|---|
Transcrição com Whisper (small, tempos por palavra) | scripts/transcribir.py | 02-assets/subtitulos/NOME.srt e .words.json |
| Remover silêncios (> 0,5 s a -35 dB) | scripts/limpiar_silencios.py | 02-assets/sin_silencios/NOME.mp4 e .timeline.json |
| Exportar 9:16 com legendas, zoom e fade | scripts/exportar_reel.py | 03-output/NOME.mp4 |
Ajustes disponíveis em limpiar_silencios.py (usa-os apenas se a pessoa pedir ou o resultado precisar):
--silence-duration 0.35→ corta pausas mais curtas (ritmo mais rápido).--cut-range INICIO FIM(repetível) → corta um trecho exato, em segundos do vídeo original. É a forma de remover hesitações ("eh", "mmm", "tipo") ou takes falhados: lê-as em02-assets/subtitulos/NOME.words.json, localiza os tempos e passa-os como intervalos. Mostra à pessoa a lista dos cortes antes de aplicá-los se forem mais que alguns.--speed-range INICIO FIM VELOCIDADE(repetível) → velocidade diferente num trecho (segundos do original), por exemplo--speed 1.32 --speed-range 13 21.8 1.5. Usa-o para acelerar mais as partes lentas ou explicativas e deixar normais as importantes. Se a pessoa pedir uma duração máxima (ex: 55 s), ajusta--speedaté cumprir e mede comffprobe.--speed 1.1→ acelera ligeiramente mantendo o tom (entre 0.5 e 2.0). Usa-o apenas se pedido.
Para reexecutar apenas o passo de limpeza com ajustes e depois exportar:
python scripts/limpiar_silencios.py "01-crudo/NOME.mp4" --cut-range 12.4 13.1
python scripts/exportar_reel.py "02-assets/sin_silencios/NOME.mp4" "02-assets/subtitulos/NOME.srt" --output "03-output/NOME_draft.mp4"
Guarda o rascunho com sufixo _draft (e _draft2, _draft3… se houver mais iterações) para não sobrescrever versões anteriores. Se usaste pipeline.py, renomeia a saída para NOME_draft.mp4.
Padrão de estilo (já incorporado nos scripts — não o mudes sem pedir)
- Formato: vertical 9:16, 1080×1920, 30 fps.
- Legendas karaokê: texto branco quente, palavra ativa em dourado suave, fundo azul marinho translúcido e discreto, máximo duas linhas, dentro da zona segura (longe do bordo inferior e dos botões da app).
- Movimento: zoom e panning de baixa intensidade, máximo 2,5 %. Sem empilhar efeitos nem adicionar gráficos sobre imagens já carregadas.
- Fecho: fade de saída (imagem e áudio).
- Áudio: original limpo, normalizado a -14 LUFS, sem música nem efeitos decorativos adicionados (o som de início é opcional e próprio de cada pessoa, ver abaixo).
- Ritmo: ganchos condensados; se a pessoa pedir para destacar palavras-chave, fá-lo com a cor dourada, sem saturar.
Som de início próprio (opcional)
Por defeito o reel não leva nenhum som adicionado. Se a pessoa quiser uma marca sonora no início, deve ser dela: pergunta-lhe se já tem um arquivo (.wav ou .mp3) ou ajuda-a a criar um próprio (por exemplo, sintetizando-o com FFmpeg ou Python, ou com um recurso que ela tenha direito de usar). Depois mistura-se abaixo da voz ao exportar:
python scripts/exportar_reel.py "02-assets/sin_silencios/NOME.mp4" "02-assets/subtitulos/NOME.srt" --som "caminho/para/meu_som.wav" --output "03-output/NOME_draft.mp4"
- Se tapar a voz, baixa
SOUND_VOLUME(0,55 por defeito) emscripts/exportar_reel.py. - Não descarregues nem uses sons de terceiros ou pagos sem perguntar e sem confirmar que podem ser usados.
Passo 3 — Revisar o rascunho antes de entregar
Antes de dizer que está pronto:
- Confirma que o arquivo existe em
03-output/e mede a sua duração comffprobe. - Extrai 2–3 fotogramas para verificar que as legendas se veem e não saem da zona segura:
Revê-os e apaga osffmpeg -y -ss 5 -i "03-output/NOME_draft.mp4" -frames:v 1 "03-output/_chequeo.png"_chequeo.pngno final. - Compara duração original vs. final.
Se algo falhar (Whisper não transcreve, FFmpeg dá erro), explica o problema em linguagem simples, corrige e tenta novamente. Não entregues um rascunho com legendas mal sincronizadas ou cortadas.
Passo 4 — Apresentar e esperar aprovação
Abre o rascunho para a pessoa ouvir e ver:
- Windows:
start "" "03-output/NOME_draft.mp4" - Mac:
open "03-output/NOME_draft.mp4"
Resume em poucas linhas:
- Caminho do arquivo e duração (original → final).
- O que foi cortado (silêncios e, se aplicável, hesitações ou trechos manuais).
- O que foi aplicado (legendas, zoom, fade).
Termina perguntando: "Aprovas ou queres ajustar alguma coisa?" (áudio, legendas, ritmo, zooms, cortes).
Não geres a versão final até receber um sim explícito.
Passo 5 — Iterar e entregar a versão final
- Se pedir alterações: aplica-as, gera um novo rascunho (
_draft2) e volta ao Passo 3. - Quando aprovar: exporta a versão final com o mesmo comando de exportação, usando
--output "03-output/NOME_final.mp4". - Entrega o caminho do arquivo final e sugere publicá-lo em Reels / TikTok / Shorts.
Regras
- Pergunta antes de usar qualquer serviço pago (APIs, editores na nuvem, bancos de música, vozes com IA). O fluxo padrão não precisa de nenhum.
- Whisper local para transcrever. Não envies o vídeo para serviços externos.
- Não apagues nem sobrescrevas arquivos de
01-crudo/. O original conserva-se sempre. - Guarda resultados em
03-output/e arquivos intermédios em02-assets/. - Fala com linguagem simples: a pessoa pode não saber de edição nem de programação.
- Se a pessoa pedir algo fora do nível 1 (animações complexas, motion graphics, várias câmaras, color grading), diz com honestidade: este fluxo cobre limpeza, legendas e movimento discreto; oferece fazê-lo como um passo à parte.