Communitygithub.com

100FOUNTS/brief-to-3d-video-pipeline

Verifica uma saída do estúdio (vídeo, imagem, áudio, modelo 3D) antes de aceitá-la: extrai quadros e OLHA para eles, verifica o formato com ffprobe, mede a sonoridade e executa `make verify`. Use após cada renderização, após alterar o áudio ou após modificar o briefing.

O que é brief-to-3d-video-pipeline?

Esta habilidade, conhecida como 'render-check', implementa uma regra de ouro para o estúdio: nunca aceitar uma saída sem inspecioná-la visual e tecnicamente. Diferente de testes automatizados que apenas verificam funcionamento, esta skill força uma verificação humana e computacional combinada, garantindo que elementos visuais como texto cortado, sobreposições, contraste e quadros congelados sejam detectados antes da entrega. Ela suporta plataformas de linha de comando como Node.js, FFmpeg e FFprobe, e é especialmente útil para pipelines de renderização 3D, edição de vídeo e pós-produção de áudio. Seu fluxo é composto por cinco etapas: (1) captura de 6 a 8 quadros distribuídos ao longo do vídeo para formar uma folha de contato que é examinada visualmente (via script Node ou FFmpeg); (2) verificação de formato com ffprobe (resolução 1920×1080, 30 fps, H.264 yuv420p, áudio AAC 48 kHz); (3) medição de sonoridade com ebur128 (alvo −16 LUFS, pico ≤ −1 dBFS) e transcrição com Whisper large-v3 (evitando o pequeno Whisper que alucina em silêncios); (4) execução do comando `make verify` ou do script Python correspondente, que deve terminar com 'ALL CORRECT'; e (5) relatório honesto sobre o que foi verificado, medido, o que não pode ser julgado pela ferramenta (naturalidade da voz, gosto do design) e quais falhas apareceram mesmo após correções. Armadilhas conhecidas incluem a necessidade de provar resultados 'idênticos' com hashes (já que Kokoro não é determinístico sem semente), janelas de medição de sonoridade muito curtas que geram lixo (−65 LUFS), e diferenças de desempenho entre PNG e JPEG em cenas complexas.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/100FOUNTS/brief-to-3d-video-pipeline/tree/HEAD/.claude/skills/render-check

Perguntar na sua IA favorita

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

Documentação

Verificar uma saída do estúdio

A regra de ouro do projeto: nunca diga "pronto" sem ter olhado o resultado. Testes automáticos dizem se funciona; só olhar diz se está correto visualmente (neste projeto, hyperframes check passou com um arco cruzando o texto, e os testes do visualizador não teriam detectado nenhuma de suas quatro falhas visuais).

Passos

  1. Vídeo ou cena com seek(t): tire 6–8 quadros espaçados (não apenas o primeiro) em uma folha de contato e olhe para eles com Leitura: node scripts/capture.mjs <scene.html> 1,4,7,10,13,16,19 out/frames/sheet.png 4 Para um MP4 já renderizado: ffmpeg -i out/x.mp4 -vf "fps=1/3,scale=640:-1,tile=3x3" -frames:v 1 out/frames/sheet.png. Procure por: texto cortado ou sobreposto, elementos fora do quadro, contraste ruim, quadros vazios ou congelados.
  2. Formato: ffprobe -v error -show_streams -show_format -of json <file> → 1920×1080, 30 fps, H.264 yuv420p, duração esperada, faixa de áudio AAC 48 kHz.
  3. Áudio: ffmpeg -i <file> -vn -af ebur128=peak=true -f null - → integrada −16 LUFS (±1), pico real ≤ −1 dBFS. Você não pode ouvir: use um espectrograma (showspectrumpic), medições e a transcrição de volta com Whisper large-v3 (audio/verify_voice.py). NUNCA com Whisper pequeno: ele inventa texto em silêncios e dá um falso erro de 49–160 %.
  4. Tudo junto: make verify (ou audio/.venv/bin/python scripts/verify_output.py). Deve terminar em ALL CORRECT.
  5. Relate honestamente: o que você olhou, o que mediu, o que NÃO PODE julgar (naturalidade da voz, gosto do design) e quais falhas apareceram mesmo que você as tenha corrigido.

Armadilhas conhecidas

  • Um resultado "idêntico" deve ser comprovado (cmp, hashes de quadros com ffmpeg -f framemd5), não presumido. Kokoro não é determinístico sem uma semente.
  • Medições de sonoridade com janelas < 0,4 s fornecem −65 LUFS (lixo): são ignoradas.
  • Um PNG pode ser 10 vezes mais lento que JPEG em cenas complexas (210 s versus 20 s) e mais rápido em cenas planas.

Habilidades Relacionadas