Communitygithub.com

blazerior — polish vertical EDL+karaokê

Polish vertical via transcript: EDL, grade, ASS karaokê, cards HTML. hero before/after. Sem NLE.

O que é blazerior — polish vertical EDL+karaokê?

Short-form passo 2: blazerior — transcript→EDL+karaokê. Fresco vs Hormozi 25/09.

Funciona com✓Claude Code✓Codex CLI~Cursor
npx skills add blazerior/videoediting-claude-skill

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Edição de vídeo com ffmpeg

Você é um editor que trabalha com uma transcrição e filtergraphs, em vez de um mouse e uma linha do tempo. O pipeline é determinístico: tudo é editado como texto e reconstruído com um único comando.

footage → transcrição com timings a nível de palavra → EDL (lista de edição) → ffmpeg → vídeo final
                    ↑                               ↑
             faster-whisper                 editado à mão — esta É a edição

Princípio fundamental: o vídeo nunca é analisado pixel a pixel — a edição é orientada por texto temporizado. A fala define a estrutura; a imagem a serve.

Um rolo ou muitos?

Decida isso primeiro — isso muda tudo a jusante.

  • Um ou dois rolos → siga a ordem dos passos abaixo, de forma conversacional.
  • Três ou mais → mude para o pipeline de lote: references/batch-pipeline.md. Cada etapa é executada uma vez sobre todo o projeto e cacheia pelo hash de entrada. Fazer dez rolos conversacionalmente custa aproximadamente dez vezes o contexto e não traz nenhum benefício.

Ordem de trabalho

Sempre siga os passos, nunca pule adiante. Cada passo produz a entrada para o próximo.

  1. Verifique o ambiente. Se ffmpeg / faster-whisper / Chrome estiverem faltando → references/setup.md. Em uma máquina limpa, isso leva dez minutos.
  2. Obtenha a origem. Se o usuário passou uma URL em vez de um arquivo, busque-a primeiro com download.py.
  3. Inspecione a origem — ffprobe, detecção de cena, uma folha de contato. Olhe para os quadros com seus próprios olhos via Read. Nunca edite às cegas apenas a partir do texto.
  4. Transcreva com timings a nível de palavra e revise o resultado. O reconhecimento de fala erra palavras mesmo em áudio limpo. Sem modelo local? transcribe_cloud.py obtém a mesma saída da Groq/OpenAI.
  5. Concorde o conceito com o usuário se ele não especificou um: formato, o que entra nos gráficos, plataforma de destino. Uma pergunta, não um questionário.
  6. Construa a EDL — corte pausas, nunca corte ideias.
  7. Construa base, depois verifique os cortes quadro a quadro.
  8. Gere legendas e sobreposições, construa final.
  9. Execute a lista de verificação de aceitação e entregue o arquivo com SendUserFile.

Comandos completos para cada passo — references/pipeline.md.

O que este pipeline pode e não pode fazer

Pode: corte semântico, remoção de pausas, close-up nos cortes, correção de cor (incluindo LUTs .cube), legendas a nível de palavra, infográficos arbitrariamente complexos via HTML/CSS, estabilização, normalização de loudness para plataformas sociais, processamento em lote. Com o plugin Remotion instalado, também gráficos animados renderizados a partir de React — veja references/remotion.md.

Não pode de forma alguma — diga isso logo de cara se o usuário pedir: rastreamento de objetos (fixar uma legenda a uma mão em movimento) e correção de cor com máscaras. Isso ainda precisa de Premiere / DaVinci / After Effects.

Não pode sozinho, mas pode com o FableCut instalado: corte criativo com precisão de quadro, movimento com keyframes, transições, rampas de velocidade, chroma key, corte no ritmo musical. FableCut é uma linha do tempo de navegador que um agente controla através de MCP — veja references/fablecut.md. Ele não tem reconhecimento de fala e sua exportação precisa de um clique humano, então a estrutura orientada por fala e os lotes não supervisionados permanecem neste pipeline.

Ferramentas prontas

assets/tools/ contém doze scripts funcionais — copie-os para o projeto, não os reescreva do zero:

ScriptO que faz
download.pybuscar metragem de origem de uma URL (yt-dlp) — pule se você já tem um arquivo local
transcribe.pyfaster-whisper → transcript.json com timings a nível de palavra + .srt
transcribe_cloud.pymesma saída, via API Groq/OpenAI Whisper — sem download de modelo, precisa de uma chave API
pauses.pylista pausas na fala — a base para a EDL
dump_words.pycada palavra com seu índice e confiança — para revisão
make_ass.pylegendas ASS a nível de palavra, re-temporizadas para a linha do tempo pós-corte
render_overlays.pyHTML/CSS → Chrome headless → PNG 1080×1920 com alpha
build.pymontagem: base (corte + correção), final (sobreposições + legendas + áudio)
build_vo.pymesmo, mas para uma faixa de narração separada — vídeo de várias fontes ajustado ao áudio
batch_vo.pytranscrever toda a narração em uma única carga de modelo
mute_subs.pyremover legendas onde um cartão de tela cheia está visível
pipeline.pydriver de lote — cada etapa sobre cada rolo, com cache

assets/templates/ contém edl.json, overlays.json e corrections.json iniciais.

Organize o projeto assim:

<pasta com a metragem>/
├── IMG_XXXX.MOV
└── edit/
    ├── tools/        ← os scripts copiados
    ├── work/         ← intermediários, nunca enviados
    ├── overlays/     ← PNGs renderizados
    ├── out/          ← vídeos finalizados
    ├── edl.json  overlays.json  corrections.json  subs.ass

Arquivos de referência

Carregue-os sob demanda, não todos de uma vez:

Regras que fazem ou quebram o vídeo

Aprendidas em construções reais, não da documentação.

  1. Olhe para os quadros. Uma transcrição não lhe dirá que o orador está se levantando ou arrumando o cabelo naquele exato momento. Esses são precisamente os lugares onde os cortes desmoronam.
  2. Um cartão vai acima do rosto, nunca sobre ele. A primeira tentativa sempre coloca o painel no meio do quadro, cobrindo os olhos. O olhar do orador é metade da confiança que o vídeo conquista.
  3. Corte no final de uma frase, não por um cronômetro. Cortar "a cada N segundos" fatia ideias pela metade.
  4. Deixe 0,2–0,3 s de cada pausa. Uma pausa reduzida a zero soa como uma gagueira.
  5. Nunca toque em pausas dramáticas — depois de uma pergunta, antes de uma conclusão. Lá o silêncio está fazendo o trabalho.
  6. Alterne zoom entre segmentos. Então um corte é lido como uma mudança de ângulo em vez de um erro.
  7. Deixe um trecho sem nenhum gráfico. O espectador precisa de ar; uma parede sólida de cartões é exaustiva.
  8. Revise as legendas. Um erro de reconhecimento gravado na imagem é permanente.
  9. Verifique olhando, não pela fé. Extraia quadros, empilhe-os com hstack, abra o resultado via Read.
  10. Nunca entregue sem a lista de verificação de aceitação em pipeline.md.
  11. Nunca deixe uma ferramenta escrever de volta em um arquivo de configuração. Um script que acrescenta sua própria saída à EDL dobra o tamanho desse arquivo, e cada edição posterior ecoa tudo no contexto. Dados gerados pertencem a work/.
  12. Leia a primeira e a última linha da transcrição você mesmo. O Whisper alucina texto fabricado sobre silêncio — classicamente uma linha de crédito de legendagem falsa em áudio russo — e pode carregar uma pontuação de confiança perfeitamente normal. Ambos os scripts de transcrição filtram os casos óbvios automaticamente, mas o filtro não é hermético. Veja troubleshooting.md #17.

Orquestração

A tarefa é de várias etapas — crie tarefas com TaskCreate para os estágios (transcrição, EDL, correção de cor, gráficos, montagem) e mantenha seu status atualizado. Execute operações longas (download de modelo, renderização de base) em segundo plano e use o tempo para trabalho que não depende delas: enquanto o modelo baixa, projete as sobreposições e teste correções em quadros parados.

Entregue o vídeo finalizado com SendUserFile e uma breve nota sobre o que mudou.

Habilidades Relacionadas