剪口播
转录 + 口误/静音识别 → 生成审查稿
快速使用
code
用户: 帮我剪这个口播视频 用户: 处理一下这个视频
流程
code
1. 转录视频(本地 FunASR)
↓
2. 识别口误(逐句检查)
↓
3. 识别微口误(VAD 检测短片段)
↓
4. 识别语气词(嗯/哎/诶 等)
↓
5. 识别静音(≥1s)
↓
6. 生成审查稿(时间戳驱动)
↓
7. 输出删除任务 TodoList
↓
【等待用户确认】→ 用户确认后,执行 /videocut:剪辑
进度 TodoList
启动时创建:
code
- [ ] 转录视频(本地 FunASR) - [ ] 读取「口误识别方法论」→ 识别口误 - [ ] 扫描语气词(嗯/哎/诶 等) - [ ] 识别静音(≥1s) - [ ] 生成审查稿 - [ ] 输出删除任务清单
⚠️ 必须先读方法论再执行
| 阶段 | 先读 | 再执行 |
|---|---|---|
| 转录 | tips/转录最佳实践.md | 调用转录模块 |
| 识别口误 | tips/口误识别方法论.md | 逐句分析 |
转录命令
bash
cd /path/to/videocut-skills/剪口播/scripts # 转录视频 python transcribe_local.py video.mp4 # 指定输出路径 python transcribe_local.py video.mp4 --output=transcript.json
⚠️ 脚本位置规则
所有分析脚本必须放在 剪口播/scripts/ 文件夹中:
- •
transcribe_local.py- 转录脚本 - •
analyze_transcript.py- 分析脚本(语气词、静音检测) - •禁止在视频临时文件夹(如 DEMO/)创建脚本
原因:保持项目结构清晰,便于复用和维护
输出格式
json
{
"input_file": "video.mp4",
"mode": "local",
"full_text": "完整转录文本...",
"duration_s": 217.97,
"chars": [
{ "char": "大", "start": 0.88, "end": 1.12 },
{ "char": "家", "start": 1.12, "end": 1.36 },
...
]
}
核心:时间戳驱动
删除任务格式
每项必须标注精确时间戳 (start-end):
code
口误(N处): - [ ] 1. `(start-end)` 删"错误文本" → 保留"正确文本" 语气词(N处): - [ ] 1. `(前字end-后字start)` 删"嗯" 上下文: XX【嗯】YY 静音(N处): - [ ] 1. `(start-end)` 静音Xs
口误类型
| 类型 | 示例 | 删除策略 |
|---|---|---|
| 重复型 | 拉满新拉满 | 只删差异("新") |
| 替换型 | AI就是AI就会 | 删第一个完整版本("AI就是") |
| 卡顿型 | 听会会 | 删第一个重复字 |
⚠️ 关键规则
- •时间戳驱动:审查稿直接标注时间戳,剪辑不再搜索文本
- •逐token分析:对于"删前面保后面"的口误,必须逐token查时间戳
- •检查时间跨度:如果口误时间跨度 > 2秒,必有静音,需拆分
输出文件
code
01-xxx-v1_transcript.json # 转录结果(含时间戳) 01-xxx-v1_审查稿.md # 口误审查稿
展示要求
生成审查稿后,必须展示给用户:
- •写入文件
01-xxx-v1_审查稿.md - •读取并展示内容
- •等待用户确认要删除哪些项目
方法论
详见 tips/口误识别方法论.md:
- •口误识别方法(逐句检查)
- •"删前面保后面"的精确处理
- •时间戳对齐规则
详见 tips/转录最佳实践.md:
- •转录参数配置
- •常见问题解决