用 Claude Code 剪视频:丢一堆原始素材,聊天一句话,拿回 final.mp4
更新于 2026-09-23 · 数据来源:GitHub API + README/SKILL.md(采集于 2026-09-23)
← 返回汇总LLM 不「看」视频,它「读」视频
browser-use 团队开源的 Agent Skill:把视频剪辑变成 coding agent 的对话任务。核心理念是把 45M tokens 的帧暴力降维成 12KB 词级转写文本——和 browser-use 给 LLM 结构化 DOM 而非截图是同一个哲学,只是对象换成了视频。适合有大量口播/访谈素材、会用终端、不想学时间线软件的创作者和开发者。
2026-04-12 创建 · 最后 push 2026-08-30 · 8 位贡献者 · 115 open issues · MIT · 无 release tag(skill 形态,git clone 即安装)· 来源:GitHub API 2026-09-23
Premiere/达芬奇是给专业剪辑师设计的。独立创作者有素材、有意图,却没有「把意图变成时间线操作」的技能。菜单和预设解决不了「这条 take 比那条好」的判断。
帧暴力:30,000 帧 × 1,500 tokens/帧 = 45M tokens 噪声,上下文直接爆炸;GUI 自动化:模拟鼠标拖时间线,脆弱且不可复现。视频对 LLM 一直是「不可读」的介质。
video-use 的答案是换介质:不让 LLM 看画面,让它读带时间戳的转写文本——剪辑的本质信息(说了什么、什么时候说的、哪里停顿)全在音频里。
| browser-use(网页) | video-use(视频) | |
|---|---|---|
| 原始形态 | 截图 = 像素噪声 | 视频帧 = 像素噪声 |
| 结构化形态 | DOM 树 + 可交互元素 ref | word-level 转写 + 时间戳 + 说话人 |
| 按需下钻 | 截图(决策点才看) | timeline_view PNG(决策点才看) |
| 动作 | click / type | EDL 剪切决策 → ffmpeg |
同一家族的两个项目共享同一条第一性原理:给 LLM 它读得动的表示,别让它看。音频是主轨道,画面跟随——剪切点永远来自语音边界和静默间隙。
转写按源文件缓存(Hard Rule 9:源文件没变就永不重转写);4-worker 并行批量转写多 take。
SKILL.md 把规则严格二分:Hard Rules 偏差 = 静默失败(字幕被挡、切点爆音、画面错帧),必须背下来;其余一切——字体、调色、节奏、技巧——全是「一条已发布视频的算例」,素材需要就随便偏离。
| 脚本 | 职责 | 关键细节 |
|---|---|---|
transcribe.py | 单文件 Scribe 调用 | 结果缓存;--num-speakers 可选 |
transcribe_batch.py | 目录批量转写 | 4-worker 并行,多 take 场景 |
pack_transcripts.py | JSON → takes_packed.md | 静默 ≥0.5s / 换人断短语;token 省 10× |
timeline_view.py | 胶片条+波形+词标签 PNG | 决策点下钻用,明确「不是扫描工具」 |
render.py(771 行) | EDL → 成片 | 分段提取→concat→PTS 偏移叠层→字幕最后;--preview 720p 快渲 |
grade.py | 调色滤镜链 | 预设 + --filter 任意自定义 ffmpeg 链 |
仓库另 vendored 一个完整 manim-video skill(含 13 篇 references:动画思维/镜头 3D/公式/图表/排错……),动画槽位直接引用。测试仅 2 个文件(render 的 fps 与朝向回归)——执行逻辑薄,因为重活全在 ffmpeg 和 LLM 推理里。
HTML/CSS/GSAP 合成。产品 UI 动效、kinetic 字幕、透明 WebM 叠层。像写网页一样写视频。
React 组件树合成。已有 React 品牌系统或组件复用需求时选它。
3Blue1Brown 那套。公式推导、状态机、图变形。vendored skill 带全套参考。
PNG 序列叠层卡:计数器、打字机、条形揭示。官方发布视频用的就是它。
「看帧 → 判断哪里不对 → 调一个参数 → 再看」。per-channel:out = (in × slope + offset)^power,再全局饱和度。slope→高光、offset→阴影、power→中间调。内置 warm_cinematic(发布视频实船)/ neutral_punch / none 三预设,--filter 可塞任意 ffmpeg 链。硬规则:分段提取时逐段调色(别拼接后调,双重编码),激进调色先测肤色。
| 风格 | 参数 | 适合 |
|---|---|---|
| bold-overlay | 2 词/行 · 全大写 · MarginV=35 · Helvetica 18 Bold 白字黑描边 | 快节奏科技发布 / 短视频 |
| natural-sentence | 4–7 词/行 · 句首大写 · MarginV=60–80 · 更大字号 | 叙事 / 纪录 / 教学 |
两种都是「算例」——SKILL.md 明说「需要就发明第三种」。硬规则只有两条:字幕最后进链(R1)、输出时间轴偏移(R5)。
# 对 Claude Code / Codex / 任意有 shell 的 agent 粘贴: Set up https://github.com/browser-use/video-use for me. Read install.md first ... register the skill with whichever agent ... set up the ElevenLabs API key — ask me to paste it when you need it. # agent 自己:clone → uv sync → brew ffmpeg → symlink 到 skills 目录 → 要一次 API key cd /path/to/your/videos && claude > edit these into a launch video # → 清点素材 → 转写打包 → 提策略(等确认)→ 执行 → 自检 → edit/final.mp4
| 静默时长 | 判定 | 处置 |
|---|---|---|
| ≥ 400ms | 最干净切点 | 首选剪切目标 |
| 150–400ms | 可用需目检 | 短语边界,跑一次 timeline_view 确认 |
| < 150ms | 不安全 | 短语内部,别切 |
Playground 复刻 audio-first 剪辑内核:词级转写 → 静默三档着色 → 点击词定切边(词边界 = Hard Rule 6 天然满足)→ 拖垫片滑块看 30–200ms 工作窗违规实时报警 → 组装 EDL 看 -c copy 拼接总时长。Scribe 时间戳漂移怎么被垫片吸收,点两下就懂。
纯前端实现,零网络依赖 · 短语切分 / 垫片窗口 / 间隙三档 / EDL 组装逻辑均经 2000 组真值表验证
评分 8.5:5 个月 25.9k stars 验证了「视频是 agent 的下一个介质」这个判断——不是靠产品功能,是靠「12KB 文本代替 45M 帧暴力」这个降维表示。SKILL.md 的工程质量(硬规则/算例二分、自检回环、sub-agent 并行)是 agent skill 写作范本,manim 子 skill 直接白送一套动画知识库。扣分:ElevenLabs 单点依赖、无 release/无版本化(git 即版本)、视觉素材能力弱。看点:Scribe 换成 Whisper word-level 或本地模型后护城河是否仍在;「skill 而非 app」的形态能否长出社区贡献的剪辑算例生态。