Communitygithub.com

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

验证工作室输出(视频、图像、音频、3D模型)后再验收:提取帧并检查它们,使用 ffprobe 检查格式,测量响度并运行 `make verify`。每次渲染后、更改音频后或修改需求概要后使用它。

brief-to-3d-video-pipeline 是什么?

该技能自动化了在将工作室输出标记为“完成”之前对其进行验证的耗时过程。它遵循黄金法则:除非你亲眼看过结果,否则不要说“完成”。该技能对视频执行视觉帧提取(生成联系表),使用 ffprobe 检查格式合规性,并使用 ebur128 滤波器测量音频响度以确保符合广播标准(-16 LUFS)。对于音频,它还利用大型 Whisper 模型进行转录以检测错误,避免使用小型 Whisper 因其虚构文本。最后,它运行 `make verify` 并根据已知陷阱(如 Kokoro 的非确定性行为、低于 0.4 秒窗口产生的错误响度读数以及 PNG 在复杂场景中性能变慢)提供诚实报告。支持所有标准 CI/CD 平台以及本地执行。

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

在你喜欢的 AI 中提问

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

文档

验证工作室输出

项目的黄金法则:在查看结果之前,永远不要说“完成”。 自动测试只能说明是否正常运行;只有亲眼查看才能说明是否看起来正确 (在此项目中,hyperframes check 在一条弧线穿过文字的情况下通过了测试,而查看器测试未能检测到其四个视觉故障中的任何一个)。

步骤

  1. 视频或带 seek(t) 的场景:拍摄 6–8 张分布均匀的帧(不仅仅是第一帧)生成联系表,并通过 Read 查看它们: node scripts/capture.mjs <scene.html> 1,4,7,10,13,16,19 out/frames/sheet.png 4 对于已渲染的 MP4:ffmpeg -i out/x.mp4 -vf "fps=1/3,scale=640:-1,tile=3x3" -frames:v 1 out/frames/sheet.png。 查找:文字被截断或重叠、元素超出画面、对比度差、空白或冻结的帧。
  2. 格式:ffprobe -v error -show_streams -show_format -of json <file> → 1920x1080、30 fps、H.264 yuv420p、预期时长、AAC 48 kHz 音频轨道。
  3. 音频:ffmpeg -i <file> -vn -af ebur128=peak=true -f null - → 综合响度 −16 LUFS(±1)、真峰值 ≤ −1 dBFS。 你不能听:使用频谱图(showspectrumpic)、测量结果以及通过 Whisper large-v3 返回的转录(audio/verify_voice.py)。 绝对不要使用小型 Whisper:它会在静默中虚构文本,并产生 49–160% 的错误率。
  4. 所有检查一起执行:make verify(或 audio/.venv/bin/python scripts/verify_output.py)。必须以 ALL CORRECT 结束。
  5. 如实报告:你查看了什么、测量了什么、你无法判断什么(声音的自然度、设计的品味)以及即使你修复了但仍然出现的故障。

已知陷阱

  • 必须证明“相同”的结果(cmp、使用 ffmpeg -f framemd5 的帧哈希),不能假定。Kokoro 在没有种子时不是确定性的。
  • 使用小于 0.4 秒的窗口测量响度会得到 −65 LUFS 的结果(垃圾数据):应跳过它们。
  • 在复杂场景中,PNG 可能比 JPEG 慢 10 倍(210 秒对比 20 秒),而在平坦场景中则更快。

相关技能