O que Controle de Qualidade faz?
A pessoa tem que ver o trabalho, não os erros de ofício. Tudo o que pode ser medido é medido antes de mostrar. O que não pode ser medido é observado por um supervisor com olhos frescos e com poder de veto. E cada correção da pessoa é anotada para que da próxima vez seja pega sozinha.
- A ferramenta automática de controle é um módulo em preparação. Enquanto isso, cada medida sai de
ffmpegeffprobe: os comandos estão em referencias/mediciones.md. - A lista de erros que já ocorreram, com seu limite e como é verificada, está em referencias/lista-de-errores.md.
- O agente
supervisordo pacote segue esta skill.
1 · O fluxo
- Antes de renderizar, leia a ficha da peça (
pieza.md): o aprovado que não se mexe e as notas a resolver. - Meça o render (§ 2). Os ✘ são corrigidos antes de prosseguir; os ⚠ são decididos olhando o quadro.
- Meça o ritmo com
referencia.py(§ 3). - Faça a folha de controle: de 6 a 24 quadros distribuídos pela peça, com as zonas seguras pintadas. Olhe cada um.
- Se for uma correção, compare com a versão anterior (§ 4).
- O supervisor assina «aprovado» ou «mudanças» (§ 5).
- Mostre para a pessoa o mesmo render e o que o supervisor disse, antes de refazer qualquer coisa.
- Entregue com o relatório (§ 9).
2 · O que é medido
| Medida | Limite | Se não cumprir |
|---|---|---|
| Formato | O solicitado: 1080×1920 vertical, 1920×1080 horizontal, 1080×1350 feed. 4K apenas se pedido | ✘ |
| Quadros por segundo | Os da sequência (±0,02) e constantes | ✘ · ⚠ se forem variáveis |
| Duração | Reel: no máximo 40 s. Exportado: o trecho entre marcas ±1 quadro | ⚠ · bloqueante em um reel de campanha |
| Escala | Nenhuma faixa preta em uma borda por 0,5 s ou mais | ✘ |
| Zonas seguras (1080×1920) | 54 px nas laterais; nada legível acima de y 224 nem abaixo de y 1495; livre a coluna de botões (desde x 897 e y 1228). Horizontal: 96 px em todo o contorno | ✘ se durar 0,35 s ou mais · ⚠ se for um instante |
| Objetos inteiros | No alfa, nada toca a borda do quadro por 0,35 s ou mais | ✘ |
| Pretos | O primeiro quadro tem imagem. Nenhum preto solto (1 quadro) exceto um fade proposital | ✘ no início · ⚠ no meio |
| Congelado | Nada parado 0,5 s ou mais onde deveria se mover | ⚠ · ✘ em broll ou animação se durar 1 s ou mais ou cair no último segundo |
| Algo acontece | Nenhuma janela de 4 s sem corte nem movimento | ⚠ |
| Último quadro | Existe, não é preto, tudo dentro das margens. Quadros contados = esperados; o áudio não dura mais que o vídeo | ✘ |
| Volume | Reel em torno de −15 LUFS integrados (passa entre −17 e −13) | ✘ |
| Picos | Pico real ≤ −1 dBTP; nenhuma amostra a −0,1 dBFS ou mais (saturação) | ✘ |
| Silêncios | Não começa com mais de 0,3 s mudo; nenhum buraco de 0,5 s abaixo de −50 dB onde há voz | ⚠ |
| Efeitos sonoros | Isolado: pico ≈ −5,5 dB (teto −5). Sob a voz: pico ≤ −9 dB e RMS ≤ −27 dB | ✘ |
| Chiado («chhh») | Nenhum ruído amplo sustentado: 150 ms em um efeito, 300 ms na mixagem. Em um efeito, no máximo 20 % da energia acima de 4 kHz | ✘ no efeito · ⚠ na mixagem |
| Alfa real | Formato de pixel com alfa (yuva…, rgba…) e algo visível | ✘ |
| Cor | Marcado bt709 e em faixa TV. HLG ou bt2020 na entrega | ✘ |
| Exportação | H.264 e AAC 48 kHz estéreo; taxa de 30 Mbps ou mais (com destino 52 sai uma média de 38–43) | ⚠ |
3 · O ritmo, com referencia.py
A ferramenta que desmonta uma referência também mede seu próprio render. Está em herramientas/referencia.py, na raiz do pacote (duas pastas acima desta skill):
python3 herramientas/referencia.py <render> --idioma es --salida control/<pieza>-vN-ritmo
Leia analisis.md e veja hoja.jpg e gancho.jpg:
| No relatório | Tem que dar |
|---|---|
| «acontece algo a cada» | 4 s ou menos |
| «o trecho mais parado dura» | Menos de 4 s. Se não, diga qual trecho é e o que vai entrar ali |
| «O plano mais longo dura» | 3 a 4 s. Mais, só se não houver outra forma de contar e você puder dizer por quê |
| Duração (em «Ficha») | No máximo 40 s em um reel |
gancho.jpg (0,1 a 3 s) | Você pararia o dedo? Antes de 0,5 s acontece algo inesperado e aos 3 s se entende a história |
| «Volume integrado» | O mesmo que mediu § 2 |
- Que mudem as mensagens dentro de um plano ou que a câmera se mova lentamente não conta como plano novo. Um corte para outra escala, outro ângulo ou outra ideia, sim.
- Em uma animação sem cortes, «1 plano» não é um erro: seu ritmo está nas «mudanças visuais».
- Se a peça saiu de uma referência, compare seus números com os do conceito aprovado.
4 · Comparar com a versão anterior
Uma correção não pode piorar a versão que já agradava.
- Antes de corrigir, leia em
pieza.mdo aprovado que não se mexe. - Depois, compare a versão nova com a anterior, imagem e som (comandos em mediciones.md):
- fora dos trechos pedidos (com 0,25 s de margem) tem que sair igual;
- dentro, tem que mudar: se não mudou nada, a nota não foi resolvida;
- se mudou a duração, tudo o que vem atrás pode sair deslocado.
- O que mudou fora do pedido, ou é proposital e explicado na entrega, ou é uma regressão e é corrigido antes de mostrar.
- Cada nota é verificada no seu quadro da versão nova, e resolvida exatamente como foi pedida, sem interpretá-la.
A comparação de quadro inteiro não vê mudanças pequenas (um letreiro que ocupa 5 % do quadro, uma tampa de 110 px, um subtítulo corrigido): olhe esses lugares em recortes em tamanho real das duas versões. O que uma correção costuma quebrar está na lista de erros, § «Regressões».
5 · O supervisor
O supervisor sabe o mesmo que quem fez a peça, mas a olha com olhos frescos: quem a fez não vê seus próprios erros. Não arruma nada: olha, mede e assina.
Recebe o render, seu tipo (reel, broll, alfa, efeito, capa…), os fps da sequência e pieza.md. Se for uma correção, adicionalmente a versão anterior, os trechos pedidos e as notas com seu segundo exato. Se faltar algo, busca antes de assinar.
Como revisa:
- Identifica a peça pelo que diz, o que mostra e o que dura, não pelo nome do arquivo.
- Lê
pieza.md, o arquivo de correções (§ 6) e a lista de erros. - Mede (§ 2). Com um ✘, seu veredito é «mudanças», sem mais discussão.
- Sua primeira pergunta é se a peça prende, antes de se cumpre (§ 3).
- Olha a folha e extrai em tamanho completo os segundos duvidosos, cada corte e o segundo de cada nota resolvida.
- Se for uma correção, compara (§ 4).
- Revisa dados e textos: nenhum número, nome nem caso inventado.
Gravidade:
- Bloqueante: um ✘; um dado privado legível em velocidade normal; um erro que a pessoa já corrigiu antes; um reel de mais de 40 s; um gancho que não pararia o dedo; um plano de mais de 3–4 s sem motivo.
- Aviso: o resto, incluindo questões de critério (um brilho de 1 quadro que só se lê em pausa, uma tampa a mais). Essas a pessoa decide.
Voltas:
- Primeira revisão: diz TUDO o que vê, de uma vez, com sua gravidade.
- Segunda: olha apenas seus bloqueantes e a comparação com a anterior. O novo que já estava na versão anterior é um erro seu da primeira: vai como aviso.
- Terceira: assina «aprovado» com avisos se não restar nenhum bloqueante.
- Nunca sobe a régua entre versões. Uma re-revisão dura menos de 5 minutos.
Assina contra a lista vigente. Se a peça é anterior a uma regra, o erro conta igual, marcado «posterior ao render». Antes de chamar erro a um preto ou a um congelado, verifique se é uma entrada a partir de preto proposital.
VEREDICTO: APROVADO | MUDANÇAS
Mudanças: 1) 0:04,2 · o que está errado · regra (ID) · bloqueante | aviso; 2) …
Visto: medidas, ritmo, folha (n quadros), quadros em tamanho completo em …, comparação com vN, notas resolvidas …
A assinatura vale para esse render: se o arquivo mudar, é medido e assinado novamente.
6 · O arquivo de correções
correcciones.md, na pasta de trabalho. O supervisor o lê antes de cada revisão: assim sua régua é a da pessoa.
- Enquanto a pessoa revisa, anota cada correção no momento:
tempo · o que muda · por quê · o que fica. Leia primeiro o que fica. - No mesmo dia, cada correção que seja um erro repetível se converte em regra, com seu número e como se verifica:
COR-12 · AAAA-MM-DD · Um plano dura no máximo 4 s · medir: «O plano mais longo» de referencia.py · origem: «acho muito que um clipe dure 8 s», reel X v3 - Se contradisser uma regra anterior, envie a nova: corrija a antiga, não deixe as duas.
- Anote também o que aprovou de primeira e o que disse que pode ser visto ou mantido: também não é vetado.
- Se a pessoa pegar algo que o supervisor não viu, o supervisor propõe adicioná-lo.
- O supervisor não inventa gostos. Se algo estiver claramente errado e não constar na lista, peça a mudança e diga por quê: assim a lista cresce.
7 · O que não se quebra
- Os ✘ são corrigidos, não discutidos. Um erro medido que chega à pessoa faz com que ela perca sua revisão em erros de ofício.
- Medir bem não é aprovar. Uma versão aprovada com apenas avisos voltou por «muito longa» (52 s) e «chata» (31 s seguidos do mesmo celular).
- Uma correção toca apenas o pedido. Refazer de passagem perdeu trabalho feito à mão e piorou o que agradava.
- Se pedirem para alterar uma propriedade, altere apenas essa. «Reduza a opacidade do preto» foi lido como «remova a coluna», e não era.
- O que a pessoa aprovou ou escolheu não é refeito por um detalhe do supervisor: pergunta-se em uma linha. Três vetos sobre algo que já a convencia custaram dinheiro e tempo.
- Se a pessoa está no computador, ela supervisiona. O agente entra quando ela não está.
- A pessoa vê o mesmo que o supervisor, e sua opinião, antes de refazer: o que veta, em qual segundo e o que propõe. Pode ser que o veto não lhe importe, e cada volta custa um render. O que ela já pediu é feito sem perguntar.
- Máximo de 2 ou 3 versões por peça. Ao segundo veto do mesmo tipo, ou diante de uma questão de critério, para-se e pergunta-se com opções. Houve 8 versões em uma noite com um supervisor que subia a régua.
- Cada versão refaz apenas os trechos que mudam. Chegou-se a renderizar inteiro um vídeo de 45 min por uma mudança local.
- Uma re-revisão olha apenas o vetado. Uma volta inteira demorava de 12 a 17 minutos e gastava de 300 a 400 mil tokens.
- «Faça esta última mudança e pronto» = arruma-se isso, mede-se, mostra-se e acabou. Sem outra rodada de veto.
- Um comentário de passagem não é uma ordem. Por um «não gosto tanto» se mudou uma pessoa aprovada e se rejeitou o render: arruma-se o pedido e o resto fica; no máximo se oferece uma vez. Se a pessoa encerra um assunto, não se reabre.
- O gerado é refeito a partir do aprovado. Parte-se da imagem que agradou e muda-se apenas o pedido. Após duas recusas seguidas sem direção, não se gasta uma terceira às cegas: diz-se o que se entendeu e pede-se uma imagem ou uma frase. Se mudar de opinião, envie o último que disse.
- Se você diz que algo está aberto ou na tela, verifique-o. Anunciaram-se quatro esboços abertos que não estavam.
8 · Armadilhas técnicas
nb_framesmente em ProRes: conta pacotes (-count_packets).- Colar o áudio com
-shortestcome de 1 a 4 quadros: use a duração exata (-t). - O rótulo «4444» não garante alfa: o formato de pixel tem que começar por
yuva. ffmpeg -ss tdá o primeiro quadro que começa em t: para o quadro f, use t = (f − 0,25) / fps.- QuickTime e a visualização rápida lavam a cor: compare com o quadro do editor, não a olho.
- As zonas seguras são medidas na faixa do texto: o metragem claro falsifica a medida do quadro inteiro.
- A transcrição cola a primeira palavra em 0,0 e coloca pausas longas dentro da palavra seguinte: o que vem imediatamente após uma pausa é medido por energia.
- O editor guarda em cache a duração e o áudio de um arquivo sobrescrito: cada versão, com nome novo.
- A leitura de texto a 4 quadros por segundo pula brilhos: para privacidade, 10.
9 · O que é entregue e o que é verificado
- O relatório de entrega: caminho, duração, trecho, taxa média real, o que foi medido (com os números), o ritmo, o veredito do supervisor, a comparação com a versão anterior e o que resta pendente.
- Em
pieza.md, seção «Controle»:vN · medidas (falhas e avisos) · supervisor (veredito e por quê). - Cada versão com nome novo (
v2,v3…): a anterior fica intacta para poder ser comparada. - Nada é publicado nem enviado a ninguém sem que a pessoa o solicite.