惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
云风的 BLOG
云风的 BLOG
大猫的无限游戏
大猫的无限游戏
M
MIT News - Artificial intelligence
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Recent Announcements
Recent Announcements
IT之家
IT之家
Google DeepMind News
Google DeepMind News
罗磊的独立博客
爱范儿
爱范儿
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
U
Unit 42
MongoDB | Blog
MongoDB | Blog
S
SegmentFault 最新的问题
B
Blog
博客园 - 叶小钗
月光博客
月光博客
Stack Overflow Blog
Stack Overflow Blog
V
Visual Studio Blog
C
Check Point Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - zhang-yd

今日开源[第57期]beautiful-water源码解读 今日开源[第56期]human-atlas源码解读 今日开源[第55期]model-x-studio源码解读 今日开源[第54期]Spark(@sparkjsdev/spark)源码解读 今日开源[第53期]PlayCanvas Engine(playcanvas/engine)源码解读 今日开源[第52期]SPEEDBALL GI WebGPU Showcase(speedball-gi)源码解读 今日开源[第51期]Pi Agent Harness(pi)源码解读 今日开源[第50期]World Monitor(worldmonitor)游戏项目解读 今日开源[第49期]竹知了(zhuzhiliao)小玩具项目解读 今日开源[第48期]Operation Ironhold 游戏项目解读 今日开源[第47期]Academic Research Skills for Claude Code(ARS)项目skill解读 今日开源[第46期]AI-Research-SKILLs项目skill解读 今日开源[第45期]nature-research-skills项目skill解读 今日开源[第44期]findskills项目skill解读 今日开源[第43期]last30days-skill 今日开源[第42期]Cangjie Skill 今日开源[第41期]MoneyPrinterTurbo 今日开源[第39期]img2threejs 今日开源[第39期]Kronos 今日开源[第38期]Open Code Review (OCR) 今日开源[第37期]Openship 今日开源[第36期]croc 今日开源[第35期] Code-Review-Graph 今日开源[第34期] 《深入理解 AI Agent:设计原理与工程实践》 今日开源[第33期] Home Assistant Core 今日开源[第32期] Vibe-Trading 今日开源[第31期]RuView 今日开源[第30期]Chrome DevTools MCP 今日开源[第29期]RomM (ROM Manager) 今日开源[第28期]Page Agent
今日开源[第27期]video-use
zhang-yd · 2026-07-05 · via 博客园 - zhang-yd

video-use 项目分析报告

分析日期:2026-07-05


一、项目介绍

1.1 项目概述

video-use 是由 browser-use 团队推出的开源 AI 视频编辑工具,核心理念是通过自然语言对话驱动 AI Agent(Claude Code、Codex、Hermes、Openclaw 等)完成专业的视频后期剪辑。用户只需将原始素材放入文件夹,用自然语言描述需求,AI 即可自动完成从剪辑、调色、字幕烧录到动画叠加的全流程,最终输出 final.mp4 [1]。

video-use 延续了 browser-use 的核心理念——不给 LLM 喂像素,喂结构化数据。browser-use 是让 AI 通过结构化 DOM 操作浏览器,video-use 是让 AI 通过结构化文本(转录)编辑视频 [1]。

1.2 项目信息

项目 详情
项目名称 video-use
项目地址 https://github.com/browser-use/video-use
项目官网 无独立官网;可通过 Browser Use Cloud 在线体验:https://cloud.browser-use.com/v4
作者/组织 browser-use 组织
Stars 12,500+(截至 2026 年 7 月)
当前版本 0.1.0
开源协议 MIT License
主要语言 Python 76.0%、HTML 22.9%、Shell 1.1%
仓库创建 2026 年 4 月 12 日
演示视频 TikTok 15 秒 Demo

1.3 项目示意图

  • README 中展示了一个 hero 海报(poster.html
  • 项目被广泛报道,配有多张示意图:包括双层读取系统架构图、timeline_view 生成的胶片条+波形图+词标签合成图、以及完整工作流展示
  • 支持内容类型:talking heads(口播)、montages(混剪)、tutorials(教程)、travel(旅行)、interviews(采访)——无预设,零菜单

二、项目亮点

2.1 双层读取系统——核心创新

video-use 最核心的差异化设计是:LLM 全程不直接分析视频帧。它通过两层抽象让 LLM "阅读"视频而非"观看"视频 [1]:

层级 说明 输出
第一层 — 音频转录层(始终加载) 通过 ElevenLabs Scribe API 对每段素材进行逐词级时间戳转录,包含说话人分离(diarization)和音频事件标记(如 (laughter), (applause), (sigh) takes_packed.md(约 12KB)
第二层 — 可视化复合层(按需生成) 仅在 LLM 需要判断"某段沉默是否为死区"或"比较两次拍摄节奏"时,才调用 timeline_view 生成含胶片条+波形+词标签的合成 PNG PNG 图片

效率对比:传统方案逐帧分析 30,000 帧 x 1,500 tokens = 4500 万 tokens 噪声;video-use 方案仅需 12KB 文本 + 少量 PNG [1]。

2.2 完整渲染管线

Transcribe → Pack → LLM 推理 → EDL → Render → Self-Eval
                                              └─ 问题? 修复 + 重新渲染(最多 3 次)

2.3 自我质检循环

渲染完成后自动在每一处剪辑点运行 timeline_view 检查:画面跳变、音频爆音、字幕遮挡、叠加层错位。预览仅在通过质检后展示给用户。最多 3 轮自检,超限则标记问题交给用户 [1]。

2.4 12 条硬规则

项目定义了 12 条不可协商的生产正确性规则,确保输出质量 [1]:

编号 规则
1 字幕必须最后应用
2 分段提取 + 无损拼接
3 每段 30ms 音频淡入淡出(防止剪辑点爆音)
4 叠加层 PTS 偏移
5 字幕时间轴偏移计算
6 禁止词内切割
7 剪辑点 padding(30-200ms)
8 仅使用逐词级 ASR
9 缓存转录结果
10 动画并行子代理
11 策略确认后执行
12 所有输出到 <videos_dir>/edit/

2.5 多引擎动画系统

支持 4 种动画引擎,按需选择:

引擎 适用场景
HyperFrames 创意动画、角色动画
Remotion 数据可视化、信息图动画
Manim 数学/技术动画(3Blue1Brown 风格)
PIL 简单叠加层

2.6 数据驱动调色

自动分析每段素材的亮度/对比度/饱和度(基于 ffmpeg signalstats 滤镜),所有修正限制在 ±8% 内,目标为"干净而不像调过色"。支持预设模式(warm_cinematic/neutral_punch/subtle/none)和自动分析模式。

2.7 与同类项目的差异化优势

对比维度 video-use 传统视频编辑软件(PR/FCP) 其他 AI 视频工具
交互方式 自然语言对话 GUI 时间轴操作 多为一键模板/预设
LLM 视频理解 文本 + 按需可视化(不分析帧) N/A 多数逐帧分析
剪辑精度 词级边界 帧级 场景级
开放性 100% 开源,可扩展 商业闭源 多数闭源
Agent 集成 深度集成 Claude Code/Codex 等 不支持 不支持
动画引擎 HyperFrames/Remotion/Manim/PIL 四选一 内置效果 通常有限

三、项目运行环境

3.1 硬件要求

  • 无特殊硬件要求,项目本身不运行本地大模型
  • 转录和 LLM 推理均通过 API 完成(ElevenLabs + Claude/Codex)
  • ffmpeg 视频处理需要合理的 CPU 性能

3.2 操作系统支持

平台 支持状态
macOS 主要支持(安装脚本优先 macOS/brew)
Linux 支持(Debian/Ubuntu、Arch,提供 apt/pacman 安装命令)
Windows 理论上支持(Python 跨平台,但安装文档未专门列出 Windows 步骤)

3.3 软件依赖

Python 环境: Python >= 3.10

Python 包依赖:

  • requests — HTTP 请求(ElevenLabs API)
  • librosa — 音频分析(可选,timeline_view 有纯 ffmpeg 回退方案)
  • matplotlib — 图表绘制
  • pillow — 图像处理(timeline_view 合成)
  • numpy — 数值计算
  • 可选:manim — 数学/技术动画

系统依赖:

  • ffmpeg + ffprobe(硬性要求,>= 4.x)
  • yt-dlp(可选,用于下载在线视频源)
  • Node.js 22+(可选,仅 HyperFrames 或 Remotion 动画需要)
  • Manim + LaTeX(可选,仅 Manim 动画需要)

API 依赖:

  • ElevenLabs API Key(Scribe 转录服务,必须)
  • Claude Code / Codex / Hermes / Openclaw(Agent 运行环境)

3.4 安装步骤

# 1. 克隆仓库
git clone https://github.com/browser-use/video-use ~/Developer/video-use

# 2. 安装 Python 依赖
cd ~/Developer/video-use
uv sync  # 或 pip install -e .

# 3. 安装系统依赖
brew install ffmpeg        # macOS
brew install yt-dlp        # 可选
# Ubuntu: sudo apt-get install -y ffmpeg
# Arch: sudo pacman -S ffmpeg yt-dlp

# 4. 注册技能到 Agent
mkdir -p ~/.claude/skills
ln -sfn ~/Developer/video-use ~/.claude/skills/video-use  # Claude Code
# 或 Codex: ln -sfn ~/Developer/video-use ~/.codex/skills/video-use

# 5. 配置 ElevenLabs API Key
cp .env.example .env
# 编辑 .env 填入 ELEVENLABS_API_KEY=...

也可使用一键 Setup Prompt(粘贴到 Claude Code 等 Agent 中自动完成安装)。


四、项目代码介绍

4.1 代码架构图

video-use/
├── README.md                    # 项目说明
├── SKILL.md                     # 核心技能定义(12 条硬规则 + 完整工作流)
├── install.md                   # 安装指南
├── pyproject.toml               # Python 项目配置
├── LICENSE                      # MIT 许可证
├── .env.example                 # 环境变量模板
├── poster.html                  # 项目展示海报
├── static/                      # 静态资源
├── helpers/                     # 核心脚本工具
│   ├── transcribe.py            # 单文件转录(ElevenLabs Scribe)
│   ├── transcribe_batch.py      # 4 线程并行批量转录
│   ├── pack_transcripts.py      # 转录打包为 takes_packed.md
│   ├── timeline_view.py         # 按需可视化(胶片条+波形+词标签)
│   ├── render.py                # 渲染管线(EDL → final.mp4)
│   └── grade.py                 # 调色引擎(预设 + 自动分析)
└── skills/
    └── manim-video/             # Manim 动画技能(3Blue1Brown 风格)
        └── SKILL.md

4.2 核心模块介绍

模块 功能 输入 输出
transcribe.py 单文件转录,调用 ElevenLabs Scribe,提取 16kHz 单声道音频,逐词级时间戳 + 说话人分离 + 音频事件标记 视频文件 transcripts/<name>.json
transcribe_batch.py 4 线程并行批量转录,自动跳过已缓存文件 视频目录 多个 transcripts/<name>.json
pack_transcripts.py 将转录 JSON 打包为短语级 markdown,按 0.5s 以上静音或说话人切换断句 transcripts/*.json takes_packed.md(约 12KB)
timeline_view.py 按需生成时间范围的可视化合成图(胶片条 + 波形 + 词标签 + 静音阴影) 视频 + 时间范围 + 转录 PNG 图片
render.py 完整渲染管线:分段提取 → 调色 → 无损拼接 → 叠加层 → 字幕 → 响度归一化 edl.json final.mp4 / preview.mp4
grade.py 调色引擎:预设模式 + 自动分析模式(每段采样分析亮度/对比度/饱和度,±8% 修正) 视频 + 预设/自动 调色后视频

4.3 核心代码解析

4.3.1 ElevenLabs Scribe 转录(transcribe.py

def call_scribe(audio_path, api_key, language=None, num_speakers=None):
    data = {
        "model_id": "scribe_v1",
        "diarize": "true",                    # 说话人分离
        "tag_audio_events": "true",            # 音频事件标记
        "timestamps_granularity": "word",      # 逐词级时间戳(硬规则8)
    }
    with open(audio_path, "rb") as f:
        resp = requests.post(
            SCRIBE_URL,
            headers={"xi-api-key": api_key},
            files={"file": (audio_path.name, f, "audio/wav")},
            data=data, timeout=1800,
        )
    return resp.json()

关键设计:使用 timestamps_granularity=word 获取逐词级时间戳,确保剪辑精度达到词级边界;启用 diarizetag_audio_events 为 LLM 提供丰富的编辑信号(如 (laughter), (applause), (sigh) 等音频事件标记)[1]。

4.3.2 分段渲染管线(render.py

def extract_segment(source, seg_start, duration, grade_filter, out_path, ...):
    # 30ms 音频淡入淡出(硬规则3:防止剪辑点爆音)
    fade_out_start = max(0.0, duration - 0.03)
    af = f"afade=t=in:st=0:d=0.03,afade=t=out:st={fade_out_start:.3f}:d=0.03"

    # HDR→SDR 色调映射(自动检测 HLG/PQ 源)
    vf_parts = []
    if is_hdr_source(source):
        vf_parts.append(TONEMAP_CHAIN)  # zscale+tonemap 链

    # 竖屏视频自适应缩放
    portrait = is_portrait_source(source)
    scale = "scale=-2:1920" if portrait else "scale=1920:-2"

    cmd = ["ffmpeg", "-y", "-ss", f"{seg_start:.3f}", "-i", str(source),
           "-t", f"{duration:.3f}", "-vf", vf, "-af", af, ...]

关键设计:每段独立提取并编码(硬规则2),避免全局滤镜图导致的双重编码;自动检测并处理 HDR 源(HLG/PQ)和竖屏方向,确保跨素材类型兼容 [1]。

4.3.3 自动调色分析(grade.py

def auto_grade_for_clip(video, start=0.0, duration=None):
    stats = _sample_frame_stats(video, start, duration)  # 采样10帧分析
    y_mean, y_range, sat_mean = stats["y_mean"], stats["y_std"]*4, stats["sat_mean"]

    # 所有调整限制在 ±8% 内,目标:"干净而不像调过色"
    if y_range < 0.65:    # 画面偏平→轻微对比度提升
        contrast_adj = 1.03 + 0.05 * (1 - (y_range-0.50)/0.15)
    if y_mean < 0.42:     # 偏暗→gamma 提升
        gamma_adj = 1.02 + 0.08 * (1 - (y_mean-0.30)/0.12)

    filter_string = f"eq=contrast={contrast_adj:.3f}:gamma={gamma_adj:.3f}:saturation={sat_adj:.3f}"
    return filter_string, stats

关键设计:基于 ffmpeg signalstats 滤镜采样分析,数学驱动而非视觉判断,所有修正有界(±8%),不引入创意性色彩偏移,确保输出"干净而不像调过色" [1]。

4.3.4 转录打包为短语级 Markdown(pack_transcripts.py

def group_into_phrases(words, silence_threshold=0.5):
    # 在 >=0.5s 静音或说话人切换处断句
    for w in words:
        if w["type"] == "spacing" and (w["end"] - w["start"]) >= silence_threshold:
            flush()  # 输出当前短语
        if speaker != current_speaker:
            flush()  # 说话人切换,断句

输出格式示例:[002.52-005.36] S0 Ninety percent of what a web agent does is completely wasted.

这是 LLM 编辑决策的主要阅读视图——约 12KB 的文本文件,让 LLM 通过"阅读"而非"观看"来完成视频编辑决策 [1]。


五、项目应用与评价

5.1 应用场景

场景 说明
口播/Vlog 博主 批量去除填充词(umm/uh)、口误、重复句及静默死区,快速出片
知识/教程 UP 主 讲错重录无需手动剪辑,AI 自动拼接正确片段
产品/运营团队 同一套素材快速生成不同风格宣发短片(不同调色、字幕、动画)
开发者/极客 将视频剪辑纳入 AI Agent 工作流,结合 Claude Code 实现自动化
采访/纪录片 自动识别说话人,按问答结构组织剪辑
旅行/活动视频 混剪素材,自动添加动画叠加和背景音乐

5.2 项目优点

  1. 极低门槛:一句话即可完成专业级剪辑,无需学习传统剪辑软件。
  2. 架构优雅:双层读取系统大幅降低 token 消耗,12KB 文本替代数千万 token 视频帧,效率极高。
  3. 生产级质量:12 条硬规则确保输出正确性,自我质检循环(最多 3 轮)保证最终质量。
  4. 100% 开源:MIT 协议,完全可定制和扩展,商用友好。
  5. Agent 原生:深度集成 Claude Code/Codex 等编码 Agent,适合开发者工作流,会话记忆(project.md)持久化。
  6. 多引擎动画:支持 HyperFrames/Remotion/Manim/PIL 四种动画引擎,按需选择最佳方案。
  7. 数据驱动调色:自动分析每段素材的亮度/对比度/饱和度,±8% 精细修正,不引入创意性偏移。
  8. 跨平台兼容:自动处理 HDR→SDR、横屏/竖屏自适应,不同素材类型混编无忧。

5.3 项目不足

  1. 强依赖外部 API:转录依赖 ElevenLabs Scribe(付费服务),LLM 推理依赖 Claude 等外部模型,无本地离线方案。
  2. 仅支持 Agent 交互:无 GUI 界面,非技术用户使用门槛较高,必须通过 Claude Code/Codex 等 Agent 操作。
  3. 项目尚处早期阶段:版本 0.1.0,无正式 Release,18 次 commit,功能仍在快速迭代中。
  4. 不支持实时预览:渲染后才可查看结果,无传统剪辑软件的时间轴拖拽实时预览功能。
  5. 复杂效果受限:对于需要精确手动调整的复杂转场、关键帧动画、多轨道合成等高级操作,可能不如传统剪辑软件精细。
  6. 转录精度依赖:剪辑质量高度依赖 ElevenLabs Scribe 的转录精度,对非英语语言支持未充分验证。
  7. 成本考量:Scribe 转录按量计费 + LLM API 调用费用,处理大量素材时成本可能较高。
  8. Windows 支持不完善:安装文档主要面向 macOS/Linux,Windows 用户需要额外适配。

参考来源