视频工作室
一条对话式流水线,用于编辑任意视频。三层结构组合而成;本技能在它们之间进行路由。LLM 并不观看视频——而是阅读它(通过转录文本 + 按需生成的 PNG 时间轴),并以词语边界的精度进行剪辑。
三层结构(此处捆绑的内容)
-
剪辑引擎 —
video-use(skills/video-use/)
转录 → 打包 → 推理 → EDL → 渲染 → 自我评估。负责:填充词去除、死区修剪、色彩分级、30ms 音频淡入、字幕烧录,以及render.py复合层——它将叠加层放置在剪辑之上。这是每个剪辑的主干。 阅读skills/video-use/SKILL.md了解 12 条生产规则。 -
动态图形层 — HyperFrames (
skills/hyperframes/、hyperframes-cli/、hyperframes-registry/、gsap/、website-to-hyperframes/)
HTML + GSAP 动画通过无头 Chrome 渲染为带 Alpha 通道的.mov。用于:下三分之一字幕、标题卡、标注、音频反应元素、场景过渡、动态文字。video-use 将它们作为叠加层生成并复合。 -
品味层 —
make-a-video、short-form-video、docs/MOTION_PHILOSOPHY.md
故事板、品牌体系、节奏、动态品味。在这里查找应该如何感觉,而不是如何渲染。
标准循环
- 盘库。 列出文件夹中的素材。不要主动转录——等待用户指向素材并说出他们的需求。
- 转录 + 打包 (video-use):每个素材调用一次转录 → 生成一个
takes_packed.md。 - 策略 → 确认。 提出剪辑方案(节拍、顺序、剪掉的内容)。等待确认。未经批准绝不触碰剪辑。
- EDL。 编写剪辑列表(
ranges= 素材秒数,overlays= 输出秒数内的字幕 .mov)。参见templates/project/了解格式。 - 动态图形 (HyperFrames,当节拍需要时):创建一个合成,通过
--format mov参数渲染每个变体(带 Alpha —— webm 输出为不透明)。 - 复合 (video-use):
render.py <edl> -o final.mp4 --no-subtitles --no-loudnorm(仅当素材包含真实音频时去掉--no-loudnorm)。 - 自我评估 → 持久化。 引擎在展示任何内容之前检查每个剪辑边界。会话记忆保存在项目的
project.md中。
硬性规则(不可协商;品味自由)
- 字幕以
--format mov渲染(ProRes 4444 yuva)。webm = 不透明,无 Alpha。 - 静音素材需要在
render.py之前创建一条立体声静音轨道(其音频路径期望如此)并添加--no-loudnorm。 - 变速片段作为预渲染的
setpts剪辑处理,在 EDL 中作为独立素材引用。不支持原生 EDL 变速。 - 输出文件位于
<videos>/edit/— 保持技能目录整洁。
安装
运行 ./install.sh 一次(检查 ffmpeg/node/chrome,设置 video-use 的 venv,连接各个技能,提示输入 ElevenLabs 密钥)。然后 cd 进入素材文件夹并开始会话。参见仓库 README.md。