视频剪辑:从原始素材到可发布视频
用户拍摄、拖入文件,即可获得一份精剪后的视频。
此技能本身不做之事:剪辑和渲染引擎由video-use(需另行安装的公共技能)提供,动画由HyperFrames渲染。在此重复实现这些工具已有的功能会导致两个版本需要维护。
安装(每台机器一次)
此技能运行在配备Apple芯片(M1或更新款)的Mac上,需macOS 14或更高版本。所有操作均在本地完成:没有任何视频被上传到线上。按顺序检查并安装缺失的组件:
- 技能本身:将
montage-video文件夹放入~/.claude/skills/。 - ffmpeg和ffprobe:运行
brew install ffmpeg(Homebrew:https://brew.sh)。 - uv(用于管理隔离的Python环境):
brew install uv。 - Node.js 18或更新版本(附带
npx):brew install node。HyperFrames(负责渲染动画)会在首次渲染时自动下载(npx [email protected]),并附带其渲染所需的浏览器。 - video-use技能(剪辑和渲染引擎),需使用此技能已验证的精确版本:
如果存放在git clone https://github.com/browser-use/video-use ~/.claude/skills/video-use git -C ~/.claude/skills/video-use checkout 87f00c6~/.claude/skills/video-use以外的位置,请通过VIDEO_USE_DIR环境变量指定其路径。此技能仅使用其helpers/render.py文件,该文件只需ffmpeg即可运行,无需ElevenLabs密钥。 - CrisperWhisper(用于识别“嗯”等犹豫的转录器):运行
python3 scripts/derush.py installer(大小2.2 GB,存储在技能外部;如果可用空间低于5 GB将拒绝安装;请参阅去冗处理的第0步)。 - 用于分类B-roll素材库的视觉模型:无需额外操作,首次运行
brolls.py indexer时会自动下载(基于mlx-vlm,通过uv管理)。 - Final Cut Pro:仅用于播放器中的“在Final Cut Pro中打开”按钮。
- Playwright及其WebKit浏览器:用于在Pexels和Pixabay上搜索免费B-roll素材,无需密钥或账户:运行
npm install -g playwright,然后运行npx playwright install webkit。如果缺少,代理将使用其自带的浏览器进行搜索(请参阅“B-rolls”部分)。
使用一段真实短视频(一分钟足够)验证安装:依次运行derush.py analyser、monter、verifier。仅当这三个命令均成功执行后,才算安装完成。
文件存放位置
所有剪辑所需文件均放置在桌面上一个以视频名称命名的文件夹中:~/Desktop/剪辑文件<视频名称>(完成后可删除);在此名称中,撇号应使用印刷体(’),切勿使用直撇号('):剪辑引擎无法读取包含直撇号的文件夹路径(技能会因此停止并给出提示)。该文件夹在第一次操作时创建,无需询问用户存放位置。原始素材文件不会被移动或修改。
最终导出的文件也会输出到桌面,位于上述文件夹旁,采用易读的名称(例如“<视频名称> 剪辑完成.mp4”)。
不会自动删除任何文件:用户可在视频满意后自行删除工作文件夹。只要该文件夹存在,即可随时恢复修改或重新打开指向其文件的Final Cut Pro项目。剪辑完成后,告知用户最终导出文件和工作文件夹的位置,后者在用户不再需要修改时可移入废纸篓。如果桌面文件夹已通过iCloud同步,mv命令可能会失败:应使用cp -Rc复制,然后将原始文件夹移入废纸篓。
技能当前状态(如实告知调用者)
| 功能模块 | 截至2026年11月11日的状态 |
|---|---|
| 1. 去冗处理:静音、犹豫、重拍、导演旁白 | 已可用,自2026年11月11日起使用CrisperWhisper 2.0快速版检测犹豫;已在四个真实素材上测试 |
| 2. B-roll素材库:本地分类、选择、叠加、控制 | 已可用,已在包含12个素材的测试库上测试 |
| 3. Pexels和Pixabay免费B-roll素材,无需密钥或账户 | 自2026年11月11日起可用:通过Playwright或代理的浏览器(computer use)搜索;已在一次真实剪辑中使用三个素材测试 |
| 4. 品牌动画:38种设计师动画(自2026年11月11日起成为默认方式)和24种内置动画及其目录 | 16:9格式已可用,已在一次真实剪辑中使用三个设计师动画测试;竖屏格式尚未测试 |
| 5. 审阅播放器(图像级评论、每条评论的时间线标记点、评论关联动画、时间范围、绘图、版本对照、比较) | 已可用,已在一次真实视频上完成端到端测试(3条评论,1个V3版本);设计文档在references/lecteur-facon-frame-io.md中 |
| 6. 音效:动画切入时的音效、勾选提示音、画面切换音效 | 自2026年11月11日起可用,在叠加时自动添加;已在一次真实剪辑中使用八个音效测试 |
| 6 bis. 情感配乐 | 待开发(无音乐库) |
| 7. 竖屏片段、字幕、发布上传 | 此技能不包含 |
| 8. 修改记忆 | 手动:每次反馈后在文件末尾添加一条带日期的规则 |
| 9. Final Cut Pro导出(播放器按钮、独立轨道) | 已可用:项目已生成并符合Final Cut格式;音效置于独立轨道上;无调色或配乐。Premiere和DaVinci导出:待开发 |
涉及“待开发”模块的需求,在交付时如实说明:交付已完成的功能,说明缺失的部分。不要将仅完成去冗处理的视频称为“已剪辑视频”。
机器设置(首次使用时)
此技能不存储任何个人配置:它可能被多人使用。B-roll素材库路径、缓存和品牌插画配置存储在机器级别的设置文件中:~/.config/montage-video/reglages.json(独立于技能本身)。
python3 scripts/brolls.py reglage # 查看当前设置
首次请求B-roll素材时,如果bibliotheque(素材库)设置为“无”,请一次性询问用户:“你是否有自己的B-roll素材文件夹?请提供路径。”然后运行brolls.py reglage --bibliotheque <文件夹路径>。如果用户没有,则仅使用免费图库,不再追问。品牌插画同理:若无设置,则使用默认样式输出,并向用户展示目录以供选择。
去冗处理:分步指南
scripts/derush.py 包含三个主要操作。所有操作均在本地Mac上运行,不上传任何数据。
0. 每台机器一次性操作:安装转录器。 犹豫(如“嗯”)由CrisperWhisper 2.0快速版(turbo)检测,这是一个经过再训练的Whisper模型,专门用于转录“嗯”等词汇。它存储在技能外部,路径为~/.local/share/montage-video/crisper(或$MONTAGE_VIDEO_DONNEES环境变量指定的路径):
python3 scripts/derush.py installer # 2.2 GB,可用空间低于5 GB将拒绝安装
如果未安装,analyser命令将停止并提示错误:它不会静默地回退到其他方法。
1. 分析。
python3 scripts/derush.py analyser <视频文件> --edit-dir <工作文件夹>/edit
脚本使用CrisperWhisper进行逐词转录,通过音频波形检测静音,并生成edit/derush/<文件名>.json(数据)和edit/derush/<文件名>.md(逐词、逐句的文本,带时间戳)。工作文件夹为桌面上的视频文件夹(参见“文件存放位置”)。
为何使用CrisperWhisper:普通转录器会输出干净的文本,即不包含“嗯”,因而无法识别那些需要删除的犹豫部分。截至2026年11月11日在四个真实素材上测量(音频总时296秒,人工验证11处犹豫):CrisperWhisper快速版检测到10处,旧方法(使用包含大量犹豫的句子作为提示的Whisper,通过--moteur amorce选项启用)检测到5处;两种方法均未遗漏任何实际词语;CrisperWhisper大约慢4倍(152秒 versus 35秒)。我们仅删除实际词语之间的间隔:误报的犹豫不会导致任何内容被删除。
快速模型有时会错误标记“嗯”后面的词语的时间戳(时长为零,且位置位于犹豫内部):在一次测试素材中,有两个“que”字被错误标记,导致0.2秒的“嗯”音残留。crisper.py会根据音频信号重新标记时间戳(持续发声直到波谷,搜索范围限于0.4秒内及下一个词语),并将每次更正写入转录结果的corrige_au_son字段中。
2. 阅读文本并决定哪些内容需要删除。 这是代理(AI)的工作,而非脚本的任务:完整阅读<文件名>.md,然后创建一个retirer.json文件,格式为`{