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

推荐订阅源

B
Blog RSS Feed
P
Proofpoint News Feed
The GitHub Blog
The GitHub Blog
The Register - Security
The Register - Security
Recorded Future
Recorded Future
D
Docker
I
InfoQ
Recent Announcements
Recent Announcements
MongoDB | Blog
MongoDB | Blog
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans
N
Netflix TechBlog - Medium
H
Hackread – Cybersecurity News, Data Breaches, AI and More
云风的 BLOG
云风的 BLOG
Spread Privacy
Spread Privacy
AWS News Blog
AWS News Blog
F
Full Disclosure
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Threatpost
C
Cisco Blogs
P
Proofpoint News Feed
Google DeepMind News
Google DeepMind News
Security Latest
Security Latest
The Hacker News
The Hacker News
Microsoft Security Blog
Microsoft Security Blog
B
Blog
IT之家
IT之家
Latest news
Latest news
D
DataBreaches.Net
T
Tor Project blog
Scott Helme
Scott Helme
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Threat Research - Cisco Blogs
博客园 - 司徒正美
S
SegmentFault 最新的问题
宝玉的分享
宝玉的分享
Project Zero
Project Zero
T
The Exploit Database - CXSecurity.com
P
Privacy International News Feed
Last Week in AI
Last Week in AI
C
CERT Recently Published Vulnerability Notes
WordPress大学
WordPress大学
博客园 - 【当耐特】
C
Cybersecurity and Infrastructure Security Agency CISA
G
GRAHAM CLULEY
小众软件
小众软件
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - zhang-yd

今日开源[第33期] Home Assistant Core 今日开源[第32期] Vibe-Trading 今日开源[第31期]RuView 今日开源[第30期]Chrome DevTools MCP 今日开源[第29期]RomM (ROM Manager) 今日开源[第28期]Page Agent 今日开源[第26期]SimpleX Chat 今日开源[第25期]LingBot-Map 今日开源[第24期]OpenMontage 今日开源[第23期]Voicebox 今日开源[第22期]tw93/Pake 今日开源[第21期]yifanfeng97/Hyper-Extract 今日开源[第20期]google-research/timesfm 今日开源[第19期]Panniantong/Agent-Reach 今日开源[第18期]karpathy/autoresearch 今日开源[第17期]public-domain-books-translation 今日开源[第16期]soxoj/maigret 论文解读-《Dual-Kernel Graph Community Contrastive Learning》 今日开源[第15期]agent-skills 论文解读-《Hyperbolic Continuous Structural Entropy for Hierarchical Clustering》 今日开源[第14期]google/skills 今日开源[第13期]turbovec 今日开源[第12期]LiteParse 今日开源[第11期]OmniVoice-Studio 今日开源[第10期]ds4(DwarfStar) 今日开源[第9期]graphify 今日开源[第8期]open-notebook 今日开源[第7期]spec-kit 今日开源[第6期]Production Agentic RAG Course 今日开源[第5期]Headroom 今日开源[第4期]OpenTalking 今日开源[第3期]train-llm-from-scratch 今日开源[第2期]Project N.O.M.A.D. 今日开源[第1期]MoneyPrinterTurbo LearningCell代码解读 论文解读-《It Takes a Graph to Know a Graph Rewiring for Homophily with a Reference Graph》 论文解读-《Mitigating Over-Squashing in Graph Neural Networks by Spectrum-Preserving Sparsification》 论文解读-《Make Heterophily Graphs Better Fit GNN A Graph Rewiring Approach》 论文解读-《Temporal Graph Rewiring with Expander Graphs 》 论文解读-《Understanding Oversquashing in GNNs through the Lens of Effective Resistance》 论文解读-《Homophily-oriented Heterogeneous Graph Rewiring》 论文-Deep appearance modeling: A survey 代码阅读笔记-nanoclaw 代码阅读笔记-OpenManus 论文解读-《An Empirical Evaluation of Rewiring Approaches in Graph Neural Networks》 论文解读-《Probabilistic Graph Rewiring via Virtual Nodes》 论文解读-《Probabilistically Rewired Message-Passing Neural Networks》 论文解读-《Joint Graph Rewiring and Feature Denoising via Spectral Resonance》 代码阅读笔记-nanobot 论文解读-《Oversquashing in GNNs through the lens of information contraction and graph expansion》 论文解读-《GNNs Getting ComFy Community and Feature Similarity Guided Rewiring》 论文解读-《PANDA Expanded Width-Aware Message Passing Beyond Rewiring》 代码阅读笔记-AiPyApp 论文解读-《Deep Graph Contrastive Representation Learning》 论文解读-《Community-Invariant Graph Contrastive Learning》 论文解读-《DiffWire Inductive Graph Rewiring via the Lovász Bound》 论文解读-《The Effectiveness of Curvature-Based Rewiring and the Role of Hyperparameters in GNNs Revisited》 论文解读-《Over-Squashing in GNNs and Causal Inference of Rewiring Strategies》 论文解读-《Uncertainty-Aware Graph Structure Learning》
今日开源[第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 用户需要额外适配。

参考来源