视频剪辑Skill videocut

视频剪辑技能是一个基于FFmpeg的自动化视频处理工具,专门用于处理口播视频中的口误、语气词和静音段删除。该技能采用时间戳驱动的工作流程,通过读取预先生成的删除任务清单,自动执行视频剪辑、重新转录审查和字幕生成。核心功能包括:智能删除口误、精确剪辑语气词、静音段处理、循环审查直到零口误、自动生成SRT字幕。适用于视频内容创作者、自媒体运营、在线教育讲师等需要高效处理口播视频的场景。关键词:视频剪辑、FFmpeg、口误删除、字幕生成、自动化视频处理、口播剪辑、视频后期、AI转录、静音检测、视频优化。

Premiere剪辑 12 次安装 180 次浏览 更新于 3/3/2026

名称: 视频剪辑 描述: 执行视频剪辑。根据确认的删除任务执行FFmpeg剪辑,循环直到零口误,生成字幕。触发词:执行剪辑、开始剪、确认剪辑

<!– 输入: 删除任务 TodoList(口误+静音) 输出: 剪辑后视频、字幕文件 位置: 执行技能,用户确认删除任务后调用

架构守护者:一旦我被修改,请同步更新:

  1. …/README.md 的技能清单
  2. /CLAUDE.md 路由表 –>

视频剪辑

执行删除 → 重新审查 → 循环直到零口误 → 生成字幕

快速使用

用户: 确认,执行剪辑
用户: 全删
用户: 保留静音3和5,其他都删

前置条件

需要先执行 /videocut:剪口播 生成删除任务 TodoList

流程

1. 读取用户确认的删除任务
    ↓
2. 计算保留时间段
    ↓
3. 生成 FFmpeg filter_complex
    ↓
4. 执行剪辑
    ↓
5. 重新转录 + 审查 ←───┐
    ↓                   │
   有口误? ──是─────────┘
    ↓ 否
6. 生成字幕(SRT)
    ↓
7. 完成

进度 TodoList

启动时创建:

- [ ] 确认删除任务
- [ ] 执行 FFmpeg 剪辑
- [ ] 重新转录审查
- [ ] 生成字幕

循环时更新版本号(v2→v3→…)


一、读取删除任务(时间戳驱动)

/videocut:剪口播 输出的 TodoList 读取。直接使用时间戳,不要搜索文本

口误(N处):
- [x] 1. `(开始-结束)` 删"错误文本" → 保留"正确文本"  ← 勾选=删除

语气词(N处):
- [x] 1. `(前字结束-后字开始)` 删"嗯"  ← 勾选=删除

静音(N处):
- [x] 1. `(开始-结束)` 静音Xs  ← 勾选=删除
- [ ] 2. `(开始-结束)` 静音Xs  ← 未勾选=保留

⚠️ 关键规则

  1. 直接用时间戳:从 (开始-结束) 解析,不要搜索文本
  2. 不要重新搜索:审查稿已经计算好精确时间戳
  3. 勾选 = 删除,未勾选 = 保留

二、FFmpeg 命令

ffmpeg -y -i 输入.mp4 \
  -filter_complex_script 过滤器.txt \
  -map "[输出视频]" -map "[输出音频]" \
  -c:v libx264 -crf 18 -c:a aac \
  输出.mp4

过滤器.txt 格式

[0:v]trim=start=0:end=1.36,setpts=PTS-STARTPTS[视频0];
[0:a]atrim=start=0:end=1.36,asetpts=PTS-STARTPTS[音频0];
[0:v]trim=start=2.54:end=10.5,setpts=PTS-STARTPTS[视频1];
...
[视频0][音频0][视频1][音频1]...concat=n=N:v=1:a=1[输出视频][输出音频]

三、重新转录审查

剪辑后必须:

  1. 用 FunASR 重新转录
  2. 检查是否还有口误
  3. 有 → 回到 /videocut:剪口播 重新识别
  4. 无 → 生成字幕

四、输出文件

01-xxx-v2.mp4              # 剪辑后视频
01-xxx-v2_transcript.json  # 重新转录(验证用)
01-xxx-v2.srt              # 字幕文件

版本递增:v1→v2→v3…


五、反馈记录

2026-01-15

  • 语气词删除边界不精确:删语气词时把前面的字也删了
    • 原因:直接用语气词的时间戳删除
    • 正确:从前一字 end 到后一字 start
  • 语气词 + 静音要一起删A [静音] 语气词 B 要删整段 (A.end - B.start)
  • 教训:删除语气词时,边界是 前一字.end后一字.start

2026-01-14

  • 口误文字没删干净,只删了静音段
  • 教训:直接从 TodoList 读取时间戳,不要重新查找
  • “拉满新"删成了"会的时候”:搜索"拉满新"时间戳跨度7秒(含6秒静音),把"拉满"也删了
    • 教训:对于"删前面保后面"的口误,只删差异部分
  • "AI就是AI"出现两次AI:只删了"就是",没删第一个"AI"
    • 教训:替换型口误必须删完整的第一个版本
  • 系统性解决:时间戳驱动,审查稿直接标注 (开始-结束),剪辑脚本不再搜索文本