AI视频编辑器
一个本地的开源CLI工具,使用人工智能自动编辑有声视频。将其指向原始录音,它会删除静音、填充词(“um”、“uh”、“ну”、”типа“)和失败的拍摄(说“剪切”以标记重新开始)。它使用Silero VAD进行语音检测,使用Whisper large-v3进行带字级时间戳的转录,使用FFmpeg进行帧精确组装。可选择通过LLM生成智能钩子开启器和YouTube章节标记。完全在您的机器上运行——核心管道不需要云API。设计用于由AI代理调用(结构化JSON输出)或用作Claude Desktop中的MCP服务器。
特性
- 消除沉默 --Silero VAD去除死空气;短暂的自然停顿得以保留
- 填充词删除 --英语和俄语填充词(“um”、“uh”、“ну”、
- 重新启动检测 --“cut cut”/“каткаят”删除整个失败的镜头;通过VAD持续时间过滤自动消除短时间的孤立爆发(咳嗽、误启动)
- 重复句子检测 --自动检测并剪切重复的句子开头
- 智能钩子生成 --OpenRouter LLM挑选最佳8秒开瓶器(可选)
- YouTube章节标记 --LLM从成绩单中生成带时间戳的章节(可选)
- 硬件编码 —
h264_videotoolbox在苹果Silicon上实现快速最终编码 - 可配置的YAML管道 --每个阈值、模型和特征切换都是可覆盖的
需求
- Python 3.11+
- FFmpeg 7+(
brew install ffmpeg) - macOS与Apple Silicon(用于VideoToolbox硬件编码;在其他地方回退到libx264)
- ~ 4 GB RAM用于Whisper
large-v3(使用--whisper-model small对于较轻的机器)
安装
cd Tools/ai-video-editor
uv venv
source .venv/bin/activate
uv pip install -e .快速开始
# Core editing only (no API calls)
ai-video-editor process video.mp4 --no-hook --no-chapters
# Full pipeline with smart hook opener + YouTube chapters (requires OPENROUTER_API_KEY)
ai-video-editor process video.mp4示例输出(stdout):
{
"status": "complete",
"input": "video.mp4",
"output_video": "video_edited.mp4",
"duration_original_sec": 154.6,
"duration_edited_sec": 145.9,
"segments_removed": 1,
"silence_removed_sec": 2.1,
"restarts_removed": 1,
"fillers_removed": 4
}在处理过程中,进度事件以JSON行的形式发送到stderr。
命令行命令
process --编辑视频
ai-video-editor process VIDEO [OPTIONS]| 选项 | 描述 |
|---|---|
--config, -c PATH | 自定义YAML配置文件(与默认值合并) |
--whisper-model, -m MODEL | Whisper型号尺寸:小/底座/小/中/大/大-v3 |
--lut PATH | 通往a的道路 .cube 用于颜色分级的LUT文件 |
--output, -o PATH | 输出文件路径(默认: {input}_edited.mp4) |
--no-hook | 跳过智能钩子生成(无OpenRouter调用) |
--no-chapters | 跳过YouTube章节生成(无OpenRouter调用) |
info --检查视频文件
ai-video-editor info VIDEO以JSON格式打印编解码器、分辨率、FPS、持续时间和比特率。
models --列出Whisper型号尺寸
ai-video-editor models配置
默认配置位于 config.default.yml.用以下内容覆盖任何部分 --config my.yml --您的文件已深度合并到默认值之上,因此您只需指定更改内容。
| 第节 | 关键设置 |
|---|---|
whisper | model, language, device |
silence | min_gap_sec (合并阈值), padding_sec (切口处有呼吸空间) |
restarts | enabled, trigger_phrases, detect_repeated_starts, max_burst_duration_sec |
fillers | enabled, min_filler_duration_sec, words.en, words.ru |
audio | enabled (默认关闭)、降噪和响度设置 |
video | lut_path |
hook | enabled, duration_sec, model |
chapters | enabled, model |
encoding | codec, quality, audio_codec, audio_bitrate |
示例覆盖——使用较小的Whisper型号并启用音频增强:
# my-config.yml
whisper:
model: small
audio:
enabled: trueai-video-editor process video.mp4 --config my-config.yml运作原理
管道运行四个连续阶段:
- 分析 --提取音频→ Silero VAD(语音片段)→ 耳语转录→ 编辑决策(删除短脉冲、合并短间隙、删除重启和填充、应用填充)
- 装配 --帧精确FFmpeg段提取→ 连接→ 可选音频增强→ 可选LUT颜色等级
- AI增强 --通过OpenRouter进行智能钩子选择和YouTube章节(如果
--no-hook --no-chapters或没有API密钥) - 编码 --最终的h264_videotobox(或libx264)编码为AAC音频,针对网络播放进行了优化
克劳德桌面(MCP服务器)
该工具包括一个内置的MCP服务器,因此Claude Desktop可以将其用作本机功能。
设置:
- 添加到您的
claude_desktop_config.json(参见claude_desktop_config.example.json模板):
"ai-video-editor": {
"command": "/path/to/ai-video-editor/.venv/bin/python",
"args": ["-m", "src.mcp_server"],
"cwd": "/path/to/ai-video-editor"
}- 重新启动克劳德桌面。
- 可选安装
SKILL.md作为模型选择指导和工作流提示的功能。
克劳德有三个工具: process_video, video_info,以及 list_models.
环境变量
| 变量 | 描述 |
|---|---|
OPENROUTER_API_KEY | 智能钩子和章节生成所需。设置在a .env 文件旁边 pyproject.toml 或者在您的shell中导出。没有它,AI增强步骤就会被优雅地跳过。获取钥匙 openrouter.ai/keys. |
OPENROUTER_REFERER | 可选。显示在您的OpenRouter使用仪表板上,用于归因跟踪。 |
许可证
麻省理工学院——见 许可证.
