FableCut 是一个完全在浏览器中运行的 Premiere 风格非线性视频编辑器,其核心特点是整个时间线暴露为一个 JSON 文档(project.json),任何能够写入 JSON 的进程都可以编辑视频。它提供 MCP 和 REST 接口,允许 AI 智能体(如 Claude Code、Claude Desktop 或任何支持 MCP/REST 的工具)驱动编辑,同时浏览器 UI 通过服务器发送事件在约 150 毫秒内热重载,实现人与智能体在同一时间线上协同工作。项目零 npm 依赖,只需运行一个 node server.js。
主要能力包括:
- 视频与音频轨道(默认 3+4,可添加至各 16 条),支持拖拽、修剪、分割、吸附、撤销/重做。
- 轨道独奏、静音、目标定位、锁定;剪辑锁定、禁用、取消链接。
- 监视器上直接操作剪辑或标题:移动、缩放(角柄)、旋转(顶部手柄,Shift 吸附)。
- 时间线多选(框选、Ctrl/Cmd/Shift+点击、Ctrl+A、Esc),组移动、删除、分割。
- 节拍与提示标记(播放时按 m 打点),可命名、着色、拖动、跳转,并作为吸附目标。
- 转场(Alt+t 添加,拖动三角形调整时长)。
- 真实解码音频波形。
- 混音器:每条音频轨道有推子、声像、静音、独奏、电平表,主推子带实时 LUFS 读数。
- 剪辑增益、声道模式、标准化(ITU-R BS.1770 响度或采样峰值,目标 -14/-16/-23 LUFS 或 -1 dBFS)。
- 音量线、淡入淡出、交叉淡化(Shift+D)。
- 自动闪避(auto-duck):选择音乐、对话轨道和量,音乐在说话时自动降低。
- 音频效果与预设:EQ、高低通、压缩器、限制器、噪声门、延迟、混响、失真、立体声宽度、变调,可链式应用于剪辑、轨道、总线和主输出;预设包括 Clean voice、Podcast、Radio 等。
- 效果自动化:在效果设置旁按 ◆ 在播放头打关键帧。
- 子混音总线:+ Bus 添加总线,可路由轨道。
- 降噪:Light/Medium/Strong,使用 ffmpeg 渲染清理后的副本。
- 项目素材箱文件夹:树形视图,拖拽嵌套,右键新建文件夹。
- 从 URL 导入:+ URL 下载 HTTPS 视频/音频/图像到 ./media/。
- 音频保持(Audio Hold):暂停时循环播放头处一帧音频。
- 画布宽高比预设(16:9、9:16、4:5、1:1)、项目 FPS 选择(24/25/30/50/60)、安全区域参考线。
- 导出帧/重新构图:合成画布可大于交付裁剪,拖动导出帧手柄重新构图。
- 节目监视器缩放:鼠标滚轮缩放,中键或 Alt+拖动平移。
- 完整 J/K/L 穿梭:L 前进,J 后退,重复按加速,K 停止。
- 键入时间码跳转:01:15:00、1500、+30、12.5。
- 可调整工作区:拖动分隔条,时间线轨道密度预设 S/M/L。
- 缩放到选区(⇧Z)。
- IN/OUT 工作区:i 和 o 设置标记,导出范围下拉(整个时间线/IN–OUT)。
- 查找并关闭间隙:g 跳转到下一个共享间隙,⇧G 关闭间隙。
- 修剪工具:选择、波纹编辑、滚动编辑、滑移、滑动(V B R Y U)。
- 提升/提取:; 移除 IN→OUT 范围并留空,' 移除并关闭间隙。
- 跳转到剪切点:↑/↓ 移动到上一个/下一个编辑点。
- 波纹删除:⇧Del 移除选区并左移后续剪辑。
- 重置属性:Ctrl/Cmd+点击检查器标签或滑块恢复默认并清除关键帧。
- 替换媒体:检查器 Source 按钮交换底层文件,保留位置、修剪、关键帧、转场和效果。
- 多声道视频音频:超过 2 声道的视频为每个声道创建链接音频剪辑,自动创建额外音频轨道(最多 16)。
- 14 个一键滤镜预设(电影、青橙、黑色、复古、赛博朋克、日落、午夜等)。
- 调整图层:一个剪辑对下方所有内容调色。
- 颜色工作区:实时波形、RGB 游行、矢量示波器、直方图,以及 GPU 调色标签,包括提升/伽马/增益/偏移轮、曝光、白平衡拾色器、黑/阴影/中间调/高光/白、对数对比度、软滚降、饱和度,以及曲线(亮度、RGB、色相 vs 色相、色相 vs 饱和度、色相 vs 亮度、饱和度 vs 亮度),支持拾色器标记颜色,以及图层(二级调色):HSL 限定器和/或椭圆、矩形、多边形、贝塞尔或手绘蒙版(可羽化、反转、关键帧、在监视器上拖动),带遮罩视图。
使用方式:运行 node server.js 启动服务器,在浏览器中打开 UI。可通过 UI 手动编辑,或通过 MCP/REST 接口让 AI 智能体编辑 project.json。智能体可调用 fablecut_patch_project、fablecut_auto_duck、fablecut_denoise、fablecut_import_media 等操作。
适用场景:需要 AI 辅助视频编辑、自动化视频处理、人机协同编辑时间线的场景。
限制:零 npm 依赖,但需要 Node.js 环境;部分功能(如 WebCodecs 导出)在设置导出帧时禁用;远程 SVG 被拒绝;URL 不作为 media.src 保留以避免画布污染。