Communitygithub.com

LuZhong-Li/vibe-knowledge-video-skill

制作「Vibe 知识大赏」风格的无旁白 HTML 科普短视频(120–150s / 16:9 / 图形动画 + 事件拟声 + 氛围垫音)。当用户要做认知科普短视频、复刻 Vibe 知识大赏、把一篇科普文案做成动画短片、给知识视频配事件音效与封面、或需要这套流程图/分镜/验收时使用。不适用于需要人声解说、实拍、剧情或访谈的片子。

vibe-knowledge-video-skill란 무엇인가요?

vibe-knowledge-video-skill is a Claude Code agent skill that 制作「Vibe 知识大赏」风格的无旁白 HTML 科普短视频(120–150s / 16:9 / 图形动画 + 事件拟声 + 氛围垫音)。当用户要做认知科普短视频、复刻 Vibe 知识大赏、把一篇科普文案做成动画短片、给知识视频配事件音效与封面、或需要这套流程图/分镜/验收时使用。不适用于需要人声解说、实拍、剧情或访谈的片子。.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add LuZhong-Li/vibe-knowledge-video-skill

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Vibe 知识大赏风格 · 无旁白科普短视频

目标

用图形交互动画 + 事件拟声音效 + 氛围垫音讲清一个反常识认知点。 画面里的图形是演员,文字是贴在演员身上的标签,声音只是动作的回声。 没有旁白 —— 画面文字就是全部信息,所以每一句原稿都必须留在屏幕上。

产出:单文件 HTML(零依赖、可 seek)→ 逐帧渲染的 1920×1080/30fps 成片 → 音轨 + 封面 + 发布文案。

判断是否适用

适用:概率 / 心理学 / 底层逻辑类科普;有反常识认知点;能被图形化表达;结论对观众有用。 不适用:需要人声解说、实拍、剧情、访谈;纯口播;纯 PPT 录屏。

开工顺序(八步,不要跳)

  1. 选题 & 文案:原稿逐句锁定,一句不删;每屏只留 1 个中心观点,其余文字降级(不是删除)。
  2. 分镜:分幕网格 → 每屏一个主角物品 → 一张节拍表(画面 / 光影 / 音效三处只读这一张表)。
  3. 单屏原型:先做一屏(引擎 + 附着层 + 时序 + 音效),给人看过审后再铺满全片。
  4. 铺满全片:同一套组件推到其余屏,不许写第二套。
  5. 体检:几何 / 时序 / 附着 / 文字盒(横向溢出 0) / 文字可读性(最差分帧对比度) / 音效 / 噪检逐项跑脚本,全部绿灯才继续; 再跑 node tools/anti-slop.mjs --html <成片.html> 过一遍反模式分诊单(见 README §18.1)。 脚本一律串行跑(并行会抢 CDP 端口,留下僵尸无头进程)。
  6. 逐帧渲染 + 合成(分片并行;-color_range tv 不能省)。
  7. 裁剪与电平:帧级内容扫描剪掉「零文字零亮部」的低信息段;整轨均匀抬电平。
  8. 封面 + 发布:封面复用成片素材、数字钩子优先;正文一句话结论,解释放评论区。
  9. 交付包(四件):成片(带音轨)+ 封面(含缩略测试图)+ 发布文案 + 交付说明。 改过画面就必须按最终成片重抽封面背景板,否则封面与正片质感对不上。

绝不能违反的硬约束

  1. 字号与坐标全用画布绝对 px(rx/ry/rFont),禁用 vw/vh/clamp。
  2. 同一元素上位移入场与缩放入场必须分内外层(两个 keyframes 写同一个 transform 会互相覆盖)。
  3. 所有画面状态由 t 计算,?t=45 必须能精确定位任意一帧;关键字动画不能自动播放。
  4. background-clip:text 的金属字禁用 text-shadow(会压暗 45%),用 filter:drop-shadow(); 且容器必须装得下字形 —— max-width 只约束盒子、不约束字形,盒外那一段没有 background 可裁, 末字会整块丢填充(体检 textbox-check.mjs,横向溢出必须 0)。
  5. 文字落点取整像素;循环动画写时间常数断言,console.warn 计入失败。
  6. 垫音不许混宽带白噪 air 层;高通用二阶巴特沃斯 @20Hz;拼接用交叉淡化,不许 fade to silence。
  7. 裁切只能动「零文字零亮部」的低信息段,剪口两侧各留 ≥0.3s 有内容的画面。
  8. 封面不要嵌进视频片头(会改变时序、破坏音画对齐)。
  9. 图片生成模型(GPT Image2 一类)只做概念稿:不生成带文字/数字的图、不出成片帧、 不做封面底图与内联 SVG(封面底图例外须过 assets-guide.md §8.5 三关)。 画面里会动的东西一律自绘。
  10. 交付物是一份可 seek 的单文件 HTML(?t=45 能定位任意一帧),不是帧序列。 外部的代码生成模型(DeepSeek 等)可以帮你写这份 HTML,但别把「逐帧 SVG/PNG → ffmpeg」 或 Manim / Remotion 那条线套进来当主流程(README.md §7.5)。
  11. 与光源联动的文字要有"渐隐下限":正文(L2–L4、非附着)opMin ≥ 0.78、附着标签 0.62–0.65。 光漫游到别处时不许把正文压成半透明 —— 这是"文字偏淡看不清"最常见的真凶(README §5.8)。

关键数值(直接照用,除非有理由改)

项值
画布 / 安全框1920×1080 / 0.05–0.95
时长 / 帧率120–150s / 30fps
字号层级L0 160–300 · L1 72–96 · L2 60–64 · L3 32–52 · L4 28(px,1080p 基准)
色彩底 #0A0A0A · 暖白 #F5F1E8 · 暗金 #B8944A · 香槟金 #D7B979 · 光晕 #6B4A1A
垫音 / 拟声 / 重音−19.2dB / −22…−14dB / −12dB(重音全片仅 3 处)
噪检阈值1–4kHz ≤ −95dBFS,4–8kHz ≤ −100dBFS(汉宁窗逐帧取中位)
导出H.264 High / yuv420p / tv 范围 / AAC-LC 44.1k 192k
母版电平整轨均匀 +11dB → 约 −25.5 LUFS / 真峰 −0.5 dBTP
文字可读性正文渐隐下限 opMin ≥0.78 / 附着标签 0.62–0.65;最差分帧对比度中位 ≥5
字重分层L0/L1 600 · L2 500 · L3 500 · L4 450(禁止全线 Heavy)

按需阅读

  • README.md —— 全链路完整规范(选题/文案、分镜、视觉动画、音效、工程、渲染导出、剪辑、封面、发布、避坑总表、A1–A35 验收)。写代码前至少通读「视觉动画 / 工程 / 避坑总表」三节。 另有 §4.5「系列结构约定」(命名环节 / 猜—答互动 / 片尾三件套 / 示意免责,取自 7 部对标样片实测)、§5.8「文字可读性:三道防线 + 两个量测口径」、§17「对标样片实测」、§18「上游仓库(取材源与检查器)」、§19「同题参照:HyperFrames 可借鉴项」、§20「第二期《幸存者偏差》增量规范与工具」。
  • checklist.md —— 分阶段可勾选验收清单与复现命令。每次交付前逐项过。
  • assets-guide.md —— 色彩 token、字体分层、母题规格、金属渐变字、背景弱结构、音效素材检索词、封面素材抽法、图片模型素材生产(§8:什么时候用/不用、提示词模板、为什么不要一键转矢量)。
  • templates/ —— 起步模板:shot-template.html(单文件骨架,含引擎/附着层/音效/调试参数,3 屏 20s 可直接跑)、preview/(模板自检真实出图)、audio/(占位音效与垫音)、tools/(make-foley.mjs 生成素材、audio-render.mjs 离线混音、noise-floor.mjs 噪检、render.mjs/serve.mjs/cdp.mjs 逐帧渲染与本地预览、smoke-check.mjs 通用冒烟,以及 A1–A35 全套体检脚本;文字专项:textbox-check.mjs 文字盒截断 / readability-check.mjs 最差分帧对比度 / ink-bands.mjs 缺字自证 / measure-motion.mjs 动帧口径对齐)。换项目时先读 templates/tools/README.md 第 3 节的常量替换表。
  • examples/control-illusion/ —— 完整样例:成片 HTML、四份设计与规范文档、七屏静帧、节拍表、文案表、封面工程、发布文案。新项目先照它改,不要从零发明结构。

两条流程教训

  • 拿到别人的「优化方案」时,先核对它引用的原文是否存在。 不改已经锁定的原稿骨架; 要动就是下一版(连字数、停留时长、换行一起重排),不是这一版的补丁。
  • 先出成品看真实反馈,再针对性改那一句,比凭预判全量重写更准。

관련 스킬