Communitygithub.com

质量控制

在所有渲染结果交付给相关人员之前,通过自动化测量和人工监督进行质量过滤,确保作品的专业水准。

质量控制 是什么?

该技能实现了一套全面的渲染质量控制流程,适用于需要严格质量检查的视频制作场景。它通过 `ffmpeg` 和 `ffprobe` 自动测量时长、帧率、缩放、安全区、黑场、静帧、最后一帧、音量、峰值、嘶声和 Alpha 通道等多项指标。之后,使用 `referencia.py` 分析节奏,并将当前版本与上一版进行逐帧比较,确保改动不会破坏已批准的内容。最后,由一名拥有否决权的监督员签署“批准”或“更改”意见。该技能旨在将测量工作自动化,避免将重复性的低级错误展示给最终观众,从而节省时间并提升交付质量。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/robinfernandez2016-create/claqueta/tree/HEAD/skills/control-calidad

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

质量控制 是做什么的?

相关人员应该看到的是作品,而不是技术错误。所有可测量的内容在展示之前都应被测量。无法测量的内容则由一位具备否决权的、眼光敏锐的监督员来检查。相关人员的每条修改意见都会被记录下来,以便下次能够自动发现类似问题。

  • 自动质量控制工具是一个准备中的模块。在此期间,所有测量均来自 ffmpeg 和 ffprobe:相关命令位于 referencias/mediciones.md。
  • 已出现过的错误列表,包含其阈值和检查方法,位于 referencias/lista-de-errores.md。
  • 包中的 supervisor 代理遵循此技能。

1 · 流程

  1. 在渲染之前,读取作品档案 (pieza.md):已批准不可更改的部分和待解决的问题。
  2. 测量渲染结果 (§ 2)。✘ 项必须在继续之前修正;⚠ 项需通过查看帧来决定。
  3. 使用 referencia.py 分析节奏 (§ 3)。
  4. 制作控制图: 从作品中选取 6 到 24 个均匀分布的帧,并绘制安全区。逐一检查。
  5. 如果是修正版本, 将其与前一版本进行比较 (§ 4)。
  6. 监督员签署“批准”或“更改”意见 (§ 5)。
  7. 在重新制作任何内容之前,向相关人员展示相同的渲染结果和监督员的意见。
  8. 交付时附上报告 (§ 9)。

2 · 要测量的项目

测量项目阈值不满足时
格式按要求:1080×1920 垂直,1920×1080 水平,1080×1350 feed。仅当要求时使用 4K✘
每秒帧数序列的帧率 (±0.02) 且恒定✘ · ⚠ 如果是可变帧率
时长Reel:最长 40 秒。导出:标记区间 ±1 帧⚠ · 如果是 campaign reel 则阻塞
缩放任何边缘出现黑边持续 0.5 秒或以上✘
安全区 (1080×1920)两侧各 54 px;可读内容不超过 y 224 且不低于 y 1495;按钮列区域 (从 x 897, y 1228 开始) 必须空闲。水平方向:整个轮廓 96 px✘ 如果持续 0.35 秒或以上 · ⚠ 如果是瞬间出现
完整对象在 Alpha 通道中,没有任何对象触碰画面边缘持续 0.35 秒或以上✘
黑场第一帧有图像。除有意的淡入淡出外,不允许出现任何孤立黑帧(1 帧)✘ 在开头 · ⚠ 在中间
静帧在应该移动的地方,没有任何画面静止 0.5 秒或以上⚠ · ✘ 如果是 broll 或动画且持续 1 秒或以上或在最后一秒内
画面不动没有任何 4 秒的窗口无剪辑或运动⚠
最后一帧存在,非黑场,所有内容在边距内。帧数 = 预期数;音频不超过视频时长✘
音量Reel 集成 LUFS 约为 −15(范围 −17 至 −13)✘
峰值真实峰值 ≤ −1 dBTP;没有采样达到或超过 −0.1 dBFS(削波)✘
静音开头静音不超过 0.3 秒;在有语音的地方,任何低于 −50 dB 持续 0.5 秒的间隙⚠
音效单独:峰值 ≈ −5.5 dB (上限 −5 dB)。在语音下方:峰值 ≤ −9 dB 且 RMS ≤ −27 dB✘
嘶声 ("chhh")没有任何持续宽频噪声:音效中 150 ms,混音中 300 ms。在音效中,最多 20% 的能量在 4 kHz 以上✘ 在音效中 · ⚠ 在混音中
真实 Alpha像素格式包含 alpha (yuva…, rgba…) 且可见✘
色彩标记为 bt709 且在 TV 范围内。交付时使用 HLG 或 bt2020✘
导出H.264 和 AAC 48 kHz 立体声;码率 30 Mbps 或以上(目标 52 时平均 38–43)⚠

3 · 使用 referencia.py 分析节奏

用于分解参考片段 的工具也可以测量您自己的渲染结果。它位于包根目录的 herramientas/referencia.py(比此技能高两级目录):

python3 herramientas/referencia.py <render> --idioma es --salida control/<pieza>-vN-ritmo

读取 analisis.md 并查看 hoja.jpg 和 gancho.jpg:

在报告中必须给出
“每多少秒有事情发生”4 秒或更短
“最长静止片段持续时间”少于 4 秒。如果不是,说明是哪个片段以及将引入什么内容
“最长镜头持续时间”3 到 4 秒。更长只应在无法避免的情况下,并能解释原因
时长 (在“档案”中)Reel 最长 40 秒
gancho.jpg (0.1 到 3 秒)你会为此停下手指吗?在 0.5 秒前有意料之外的事情发生,并在 3 秒内能理解故事
“集成音量”与 § 2 测量结果一致
  • 镜头内信息变化或摄像机缓慢移动不计为新镜头。切换到不同缩放、角度或想法,则算。
  • 在无剪辑的动画中,“1 个镜头”不是错误:其节奏体现在“视觉变化”上。
  • 如果作品源自参考,将其数据与已批准的概念进行比较。

4 · 与前一版本比较

修正不能使已经获得认可的版本变得更差。

  1. 在修正前,读取 pieza.md 中已批准不可更改的部分。
  2. 之后,将新版本与前一个版本进行图像和音频比较(命令在 mediciones.md 中):
    • 在要求修改的区间之外(有 0.25 秒容差)必须保持一致;
    • 在区间内,必须发生变化:如果没有任何改变,则说明问题未解决;
    • 若时长改变,其后的所有内容都可能产生偏移。
  3. 在要求范围外发生的变化,要么是有意为之并在交付时说明,要么是回归性错误,需在展示前修复。
  4. 每条修改意见都必须在其对应新版本的帧上检查,并严格按照要求解决,不得自行解释。

整帧比较无法发现细微变化(例如,仅占画面 5% 的标识、110 px 的遮挡物、修正后的字幕):请在这些位置放大至实际尺寸比较两个版本。修正通常破坏的内容列在错误清单的“回归”部分。

5 · 监督员

监督员与制作人员掌握相同的信息,但以全新的眼光审视作品:制作者往往看不到自己的失误。监督员不做任何修复:只负责查看、测量和签署意见。

接收 渲染结果、其类型(reel, broll, alpha, 效果, 封面等)、序列帧率和 pieza.md。如果是修正版本,还需接收前一版本、要求修改的区间以及带有精确秒数的修改意见。如果缺少任何信息,需在签署前找出。

审查方式:

  1. 根据作品的内容、展示和时长来识别,而不是文件名。
  2. 读取 pieza.md、修正档案 (§ 6) 和错误清单。
  3. 进行测量 (§ 2)。如果出现 ✘,则直接判定为“更改”,无需进一步讨论。
  4. 首先询问作品是否吸睛,其次才是是否符合规范 (§ 3)。
  5. 检查控制图,将可疑的秒数、每个剪辑点和每个已解决修改意见的秒数放大至全尺寸查看。
  6. 如果是修正版本,进行比较 (§ 4)。
  7. 检查数据和文字:不得出现虚构的数字、名称或事件。

严重程度:

  • 阻塞性: 出现了 ✘;在正常速度下可读的私人数据;相关人员已修正过的错误;超过 40 秒的 reel;无法让人停下手指的钩子;没有理由超过 3–4 秒的镜头。
  • 警告: 除此之外的所有情况,包括标准问题(仅在暂停时可见的 1 帧闪光、多余遮挡物)。由相关人员决定。

迭代轮次:

  • 第一次审查: 一次性地给出所有发现的问题及其严重程度。
  • 第二次: 仅检查其阻塞性问题以及与前一版本的比较。前一版本已存在但未发现的新问题,视为其首次审查的失误:以警告形式提出。
  • 第三次: 如果没有任何阻塞性问题,则签署“批准”并附带警告。
  • 绝不随意提高标准。重新审查耗时少于 5 分钟。

签署意见 对照现行规则。如果作品早于某项规则,则同等情况计为错误,并标记为“渲染后生效”。在将黑场或静帧判定为错误前,检查其是否为有意的从黑场进入。

判决:批准 | 更改
更改内容:1) 0:04,2 · 问题描述 · 规则 (ID) · 阻塞性 | 警告;2) …
已检查:测量、节奏、控制图 (n 帧)、放大的全尺寸帧在 …, 与 vN 的比较、已解决的修改意见 …

该签署意见仅针对当前渲染结果:如果文件更改,则需重新测量并签署。

6 · 修正档案

correcciones.md,位于工作目录中。监督员在每次审查前都会阅读此文档:这样其标准与相关人员同步。

  • 在相关人员审查时, 即时记录每条修改意见:时间 · 更改内容 · 原因 · 保留内容。首先阅读保留内容。
  • 当天内, 每条可重复出现的错误修改意见都应转化为规则,包含编号和验证方法: COR-12 · AAAA-MM-DD · 一个镜头最长 4 秒 · 测量:“最长的镜头”来自 referencia.py · 来源:“我觉得一个素材剪辑持续 8 秒太长了”,reel X v3
  • 如果与之前的规则冲突,则采用新规则:修正旧规则,不应同时保留两条。
  • 同时记录首次即批准的内容,以及监督员认为可视或可保留的内容:这些同样不应被否决。
  • 如果相关人员发现了监督员未发现的问题,监督员应提议将其添加入清单。
  • 监督员不应捏造偏好。如果某问题明显错误但未在清单中,则要求修改并说明原因:这样清单才能不断增长。

7 · 不应破坏的原则

  • ✘ 项必须修正,不得争辩。 一个可测量的错误若被相关人员看到,会使其浪费时间去修正本不该出现的低级错误。
  • 测量正确不等于批准。 一个仅带警告就批准的版本曾因“太长”(52 秒)和“无聊”(同一部手机持续 31 秒)而被退回。
  • 修正应只触及要求修改的部分。 顺手重做曾导致手工完成的工作丢失,并损害了已获批的内容。
  • 如果要求更改一个属性,则只更改该属性。 “降低黑色的不透明度”曾被解读为“移除栏目”,而事实并非如此。
  • 相关人员批准或选择的内容,不应因监督员的细节问题而重做: 应通过一行询问解决。针对已让相关人员信服的内容连续三次否决,既浪费金钱也浪费时间。
  • 如果相关人员在场,由其监督。 代理仅在相关人员不在时介入。
  • 在重新制作之前, 相关人员应看到与监督员相同的内容及监督员的意见:否决了什么、在哪一秒、提出了什么建议。相关人员可能不在乎该否决,而且每轮迭代都有渲染成本。对于相关人员已提出的要求,无需询问直接执行。
  • 每部作品最多 2 到 3 个版本。 遇到相同类型的第二次否决,或遇到标准问题,应暂停并以选项形式提问。曾有一晚因监督员不断提高标准而产生了 8 个版本。
  • 每个版本仅重做发生更改的部分。 曾有一次因局部更改而将 45 分钟的视频全部重新渲染。
  • 重新审查仅检查被否决的部分。 一次完整的审查迭代需要 12 到 17 分钟,消耗 300 到 400k tokens。
  • “做完最后一个更改就完事” = 修复该问题,测量,展示,结束。不再进行另一轮否决。
  • 随口提及的评论不是命令。 一句“我不太喜欢这个”曾导致一个已批准的内容被更改,渲染结果被拒:只修复要求的内容,其他保持不变;最多提供一次修改选项。如果相关人员已关闭某个议题,不再重开。
  • 生成内容应从已批准的版本开始。 从已获得认可的图像出发,仅更改要求的部分。在连续两次无方向的拒绝后,不会盲目进行第三次:应说明理解的内容,并要求提供一张图像或一句话。如果相关人员改变主意,则以最后说的为准。
  • 如果说某物已打开或在屏幕上,请核实。 曾宣布四个打开的草图,但实际上并不存在。

8 · 技术陷阱

  • nb_frames 在 ProRes 中不可靠:它计算的是数据包 (-count_packets)。
  • 使用 -shortest 合并音频会吞掉 1 到 4 帧:请使用精确时长 (-t)。
  • 标签“4444”不保证 Alpha 通道:像素格式必须以 yuva 开头。
  • ffmpeg -ss t 返回从 t 开始的第一帧:对于帧 f,请使用 t = (f − 0.25) / fps。
  • QuickTime 和快速预览会改变色彩:应与编辑器的帧进行比较,而非肉眼。
  • 安全区应在文本背景段测量:明亮的素材会干扰整帧测量。
  • 转录会将第一个单词对齐到 0.0,并在下一个单词内部插入长暂停:紧随暂停之后的内容应通过能量来测量。
  • 编辑器会缓存被覆写文件的时长和音频:每个版本都应使用新文件名。
  • 以每秒 4 帧的速度读取文本会跳过闪烁:为确保隐私,应使用每秒 10 帧。

9 · 交付内容与验证项目

  • 交付报告: 路径、时长、区间、实际平均码率、测量结果(含数据)、节奏、监督员意见、与前一版本的比较以及遗留问题。
  • 在 pieza.md 中,“控制”部分:vN · 测量结果 (错误和警告) · 监督员 (意见及理由)。
  • 每个版本使用新文件名 (v2, v3…):保留前一版本以便比较。
  • 未经相关人员请求,不得发布或发送任何内容给任何人。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

robinfernandez2016-create/color

Corrige e iguala el color de material real antes de montarlo o entregarlo. Detecta midiendo si un clip es S-Log3 o HLG de celular y lo pasa a Rec.709 (SDR), coloriza cada clip de apoyo antes de usarlo, iguala tomas con una LUT por toma, separa persona y fondo en dos capas, etalona en Premiere con Lumetri por script y revela fotos RAW. Úsalo cuando alguien diga «igualar el color», «corrige el color», «coloriza estos clips», «que todas las tomas se vean iguales», «se ve lavado», «se ve oscuro / amarillo / verdoso», «está muy frío», «la piel sale rara», «el celular sale naranja», «esto está en log», «en QuickTime se ve distinto», «revela estas fotos» o «la foto sale tumbada».

robinfernandez2016-create/generacion-ia

Genera imágenes, vídeo y voz con IA (Higgsfield, Kling, Seedance, GPT Image, HeyGen, ElevenLabs y otros) sin desperdiciar créditos y sin que el resultado mienta. Elige el modelo según lo que haya en el plano, mantiene el mismo personaje dentro de la pieza, hace presentadores con voz clonada y lip-sync, compone croma sobre foto, protege el producto real del cliente (que se reproduce, no se recrea) y corrige editando lo aprobado en vez de regenerar. Siempre pasa antes por la skill `presupuesto`. Úsalo cuando digan «genérame una imagen», «hazme un vídeo con IA», «anima esta foto», «clona mi voz», «que hable sin grabarlo», «haz un 360 del producto», «mete este croma en la foto», «ponle otro fondo» o «no me gusta, hazlo otra vez».

robinfernandez2016-create/guion

Convierte un brief en el guion de un reel o un anuncio, listo para grabar o generar. Escribe el gancho de 3 s, la estructura frase por frase, la toma que va con cada frase (tabla frase → toma), la llamada a la acción y el copy de la publicación, y lo deja todo en un solo guion de producción del que sale el teleprompter. No inventa cifras, nombres ni casos. Úsalo cuando digan «escríbeme el guion», «haz un anuncio», «necesito un reel sobre…», «dame un gancho», «¿cómo cierro el vídeo?», «escribe el copy de la publicación», «prepárame el teleprompter» o «¿qué tomas necesito?».

robinfernandez2016-create/motion

Hace motion graphics como código con Remotion (gráficos animados, brolls, alfas sobre el vídeo o por detrás de una persona, pop-ups, subtítulos, simulacros de chat, 3D y la portada del reel) con la marca en un archivo de tokens, bocetos de 2 o 3 fotogramas antes del render y salida con fondo o con transparencia. Úsalo cuando digan «hazme un gráfico animado», «anima este dato», «hazme un broll», «un pop-up aquí», «ponle subtítulos», «subtítulos con palabras clave», «simula un chat de WhatsApp», «que salga detrás de mí», «hazlo en 3D», «con fondo transparente», «la portada del reel» o «renderiza el MG».

相关技能