100k Star 的 browser-use 又出新品:把 Claude Code 变成你的 AI 剪辑师,丢一文件夹原片它吐 final.mp4
开头:你有没有过这种崩溃时刻?
录了两个小时的播客采访,剪的时候才发现里面全是” 嗯”” 啊”” 那个”” 然后”,每一句话前面都跟着 3 秒空白。
或者,你花了半天时间给公司产品拍了一支 30 秒的介绍片,结果导出来一看:第 12 秒说话的人还在” 呃……”,第 18 秒突然接不上气,第 24 秒一句话被拦腰斩断。
更惨的是,你打开 Premiere / Final Cut / DaVinci,准备手工修。轨道拉到时间线上一段一段听、一帧一帧剪,光是去掉所有” 嗯啊” 就能耗掉大半天。Premiere 自带的” 删除停顿” 功能有,但经常会把正常的人声呼吸也给干掉,效果让人崩溃。
你是不是无数次想过:如果 AI 能像读代码一样读视频就好了。
巧了 ——browser-use 团队上周刚发了一个叫 video-use 的新项目,直接把这个想法做出来了。它的 slogan 特别直白:“Edit videos with coding agents”。丢一文件夹原片进 Claude Code,说一句”edit these into a launch video”,它就给你吐 final.mp4。
而且他们完全不靠 AI 去逐帧” 看” 视频。
项目背景:browser-use 在解决一个老问题
在说 video-use 之前,得先介绍一下它爹。
browser-use 是 2024 年 GitHub 上爆火的一个 Python 项目,现在已经 100k stars 了。它解决的痛点很朴素:让 LLM 能像人一样操作浏览器。早期大模型要” 上网”,要么得靠截图(GPT-4V 之类的视觉模型),要么得依赖结构化的 HTML。
browser-use 的核心洞察是:别让 AI 看像素,让它读 DOM。 把网页结构、a11y 树、元素位置打包成结构化文本喂给 LLM,再让 LLM 输出” 点击这个元素”” 在那个输入框里输入” 这样的动作序列。这套思路直接成了行业标配 ——OpenAI Operator、Anthropic Computer Use、Manus,背后多少都有它的影子。
video-use 干的是同一件事,只不过把对象从” 网页” 换成了” 视频”。
它面对的核心问题很简单:视频是世界上最难让 LLM 处理的数据格式之一。
一段 30 分钟的口播视频,按 30fps 算有 54,000 帧。哪怕每帧只喂给模型 1,500 tokens,整段视频就吃掉 8,100 万 tokens。这不是” 贵不贵” 的问题,是根本塞不进上下文窗口的问题。
video-use 的解法和它爹一脉相承:别让 AI 看视频帧,让它读视频的”DOM”—— 也就是文字版的转录稿。
核心功能:用” 读” 代替” 看” 的剪辑流水线
video-use 的 README 写得非常工程化,它的核心设计可以拆成 5 个亮点:
1. 双层表征:文字 + 按需生成的视觉合成图
video-use 把视频内容压成两个东西:
Layer 1:一份~12KB 的 takes_packed.md
这是 AI 的” 主视图”。它不是简单的字幕文件,而是用 ElevenLabs Scribe 转录出来的短语级转录稿:
1 | ## C0103 (duration: 43.0s, 8 phrases) |
注意几个关键点:
- word 级时间戳:每个词都能精确定位,但展示时按短语分组便于 LLM 推理
- 说话人分离:
S0S1这样标记谁在说话,多人访谈场景非常有用 - 音频事件:
(laughter)(applause)(sigh)这些 ElevenLabs Scribe 会顺便标出来,对剪辑” 笑了” 或” 沉默了一会儿” 这种决策点至关重要 - 纯文本 + 时间戳:所有内容打包到一个 markdown 文件,整段 30 分钟视频压成 12KB
Layer 2:按需生成的 timeline_view PNG
当 LLM 看到” 第 14 秒这里有歧义” 或” 两段之间要比较哪段保留” 这种问题时,它会调一个工具生成一张合成图:画面胶片 + 音轨波形 + 词级时间标签。
这两层的 token 消耗差距是:
Naive(30,000 帧 × 1,500 token)= 45M tokens of noise
video-use = 12KB 文字 + 几张 PNG
差了三个数量级。这就是为什么它能塞进 Claude Code 的上下文窗口里。
2. 完整的生产级剪辑能力
video-use 不是玩具,它能干的活包括:
- 剪掉填充词(
ummuh那个重复起句) - 自动逐段调色(暖色电影感、中性高对比、或者你自己写 ffmpeg filter chain)
- 每个剪辑点强制 30ms 音频淡入淡出,避免可察觉的爆音
- 烧录字幕:默认是 2 词一行的全大写风,完全可定制
- 生成动画叠加层:调用 HyperFrames、Remotion、Manim 或 PIL,并行 spawn 多个 sub-agent 同时出图
- 自评估渲染输出:在每个剪辑点拉一张 timeline_view 截图看实际效果,发现问题自动重渲(最多 3 轮)
- 会话记忆持久化:把这次的
project.md存起来,下次接着干
3. 12 条” 硬规则”——SKILL.md 是它的工程基线
video-use 的 SKILL.md 里写了一组不可违反的硬规则,这是它和”AI 剪辑玩具” 的最大区别。挑几条最硬核的:
1 | 1. 字幕必须在 filter chain 最后应用,否则会被叠加层盖住 |
翻译过来就是:它不是生成一个” 看起来像样” 的视频,它是按专业剪辑师的工业标准来交付成品。
4. 与 coding agent 工作流深度集成
video-use 本质上是 Claude Code / Codex / Hermes 这些 coding agent 的一个 skill。安装方式是这样的:
1 | git clone https://github.com/browser-use/video-use ~/Developer/video-use |
然后日常使用:
1 | cd /path/to/your/videos |
agent 就会:
- 盘点你目录里的原片
- 用自然语言提出一个剪辑策略(哪些段保留、哪些段剪掉、加什么调色和字幕)
- 等你 OK 之后再动手
- 渲染出
edit/final.mp4
这个” 问 → 确认 → 执行 → 自评 → 持久化” 的工作流,是它最像” 人” 的地方。
5. 永远只输出到 /edit/ 目录
所有产物都活在 <视频目录>/edit/ 下:
1 | edit/ |
skill 目录永远是干净的,永远不会被污染。
实战示例:把一段采访剪成 2 分钟精华版
我假设一个真实场景:你刚做完一期 30 分钟的播客采访,录了 3 个机位,输出是 3 个 mp4 文件。
第一步:把素材丢进文件夹
1 | mkdir -p ~/videos/podcast-ep42/raw |
第二步:跟 agent 说话
1 | > 我刚录完一期播客,3 个机位剪成一个 2 分钟精华版。 |
agent 会先调用 ElevenLabs Scribe 转录,3 个文件大约 30-60 秒。然后它会读 takes_packed.md,给你输出类似这样的策略:
1 | 我打算这样剪: |
第三步:确认 & 等待
你说”OK”,agent 开始渲染 + 自评估。
渲染过程中,它会在每个剪辑点拉 timeline_view 截图自己看:
- 看到画面有跳变?回退调一下 cut boundary
- 听到爆音?回退加长 fade
- 看到字幕被某个叠加层盖住了?回退调整 filter chain
最多 3 轮自评之后,你看到的就是 edit/preview.mp4,然后是 edit/final.mp4。
整个过程你唯一要做的事就是 “OK”。
适用场景和限制
video-use 显然不是万能的。它最适合的场景:
- ✅ 口播内容:播客、采访、vlog、教程
- ✅ 多人对话:自带说话人分离
- ✅ 长素材 → 短视频精华:你不需要 30 分钟版本,agent 帮你抽 2 分钟
- ✅ 个人创作者:不想学 Premiere,又想要专业级输出
- ✅ 批量生产:每个 episode 一次渲染,下一期直接接着
project.md干
它不太合适的场景:
- ❌ 复杂视觉特效:调色、淡入淡出、字幕它都会;但如果你要花字动画、三维合成、粒子特效,它生成不了 —— 除非你愿意把 HyperFrames/Remotion/Manim 这些叠加层手把手配出来
- ❌ 海量机位:3 个机位能 hold 住,10 个机位就需要更长上下文,token 成本会快速涨上来
- ❌ 超长视频:单次会话几小时可能 OK,但 8 小时直播录屏就吃力了
- ❌ 完全脱离 ElevenLabs:转录核心依赖 ElevenLabs Scribe(要 API key),ffmpeg/PIL/Node 22+ 也得自己装好
- ❌ 本地化字幕:英文默认支持最好,中文要 ElevenLabs Scribe 中文模型 OK,但 2 词一行的” 分词” 逻辑对中文不太友好,可能要改 prompt
与同类项目相比,video-use 到底特别在哪?
市面上”AI 剪辑工具” 已经不少了,主要分三类:
第一类:全自动片段生成器(Opus Clip、Munch、Vizard)
它们擅长把 30 分钟长视频自动切成 5-10 条 60 秒短片,主打” 一键发抖音 / 小红书”。但你几乎控制不了剪辑逻辑 ——AI 说这段是” 高光时刻”,它就是高光时刻,你没法改。你想要” 把第 12 秒那个停顿保留,其它全部剪掉”,它做不到。
第二类:AI 辅助转写 + 粗剪(Descript)
Descript 的” 文字版时间线” 是行业开创性的发明,video-use 显然受过它的启发。但 Descript 是闭源 SaaS,要月费,而且它的” 文字版时间线” 是给你看的、不是给 LLM 推理用的。
第三类:通用 LLM + 视觉模型(GPT-4V、Gemini 直接喂视频)
理论上能行,实际上很贵。一段 10 分钟视频调 GPT-4V 逐帧打分,账单轻松到几十美元;而且 LLM 依然很难精确到 word 级做剪辑 —— 它对帧边界的判断就是粗的。
video-use 走的是第四条路:
| 维度 | Opus Clip 类 | Descript | GPT-4V 直接来 | video-use |
|---|---|---|---|---|
| 精细控制 | ❌ 几乎为零 | ⚠️ GUI 拖拽 | ⚠️ 受限于视觉模型 | ✅ 自然语言精细指令 |
| 成本 | 中(SaaS 月费) | 高(月费) | 极高(按 token 烧) | 低(一次 12KB 转录 + 几次 LLM 调用) |
| 可定制 | ❌ 不可 | ❌ 不可 | ⚠️ prompt 工程 | ✅ SKILL.md 12 条规则 + 完整代码可改 |
| 工业级输出 | ⚠️ 社交媒体 ok | ✅ 专业 | ⚠️ 容易有视觉穿帮 | ✅ 30ms fade + 自评估 + 工业规则 |
| 与 coding agent 工作流集成 | ❌ | ❌ | ❌ | ✅ Claude Code / Codex / Hermes |
| 开源 | ❌ | ❌ | ❌ | ✅ 100% Apache 2.0 |
最后一点是最关键的:它是开源 skill,可以和你的 coding agent 工作流融为一体。
你写代码累了,想” 顺手把今天录的会议剪个 2 分钟总结发给老板”?claude 里说一句就行,agent 不会因为” 这是视频不是代码” 就愣住。
这背后其实是一个更大的趋势:未来的 coding agent 不会只写代码。 任何可以被” 结构化文本” 表达的领域 —— 网页(DOM)、视频(转录 + 时间戳)、数据库(schema + SQL)、设计稿(Figma JSON)—— 都可能成为 agent 施展拳脚的新舞台。
browser-use 的 DOM 即网页,视频的”DOM” 即转录稿 + 时间戳。video-use 的真正价值,不在于” 它能剪视频”,而在于它演示了 coding agent 如何把” 看似无法处理的多媒体” 重新理解成” 可以推理的结构化数据”。
总结
video-use 是 browser-use 团队给”AI 剪辑” 赛道带来的一个非常工程师化的解法。它的核心设计哲学只有一句话:
别让 AI 看视频,让它读视频的”DOM”。
围绕这句话,它做了这些事:
- 用 ElevenLabs Scribe 把视频压成~12KB 的文字版 EDL
- 在需要决策时按需生成 timeline_view 合成图
- 让 Claude Code 推理出剪辑策略,等人 OK 才动手
- 用 12 条工业级硬规则保证成品质量
- 渲染后自评,发现问题自动重渲
- 整个工作流是开源的、可修改的、可继承的
它今天可能还不完美 —— 中文支持、复杂动效、长视频适配都还有空间 —— 但它示范的方向是确定的:当 LLM 学会” 读” 视频而不是” 看” 视频时,视频剪辑就从 GUI 软件的菜单层级,坍缩成一段对话。
去 browser-use/video-use 看看吧,丢一文件夹原片进你的 Claude Code,让 agent 当一次你的剪辑师。
References: