SuperAPI AI Directory

videocut-clip

Design & creation

View repository

Updated 10-15 23:43

About this skill

Editing

Execute deletion → Re-review → Loop until zero slips of the tongue → Generate subtitles

Quick Start

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

Prerequisites

Need to first execute /videocut:剪口播 to generate the deletion task TodoList

Process

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

Progress TodoList

Created at startup:

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

Update version number during each loop (v2→v3→...)


1. Read deletion tasks (timestamp-driven)

Read from the TodoList output by /videocut:剪口播 .Use timestamps directly, do not search text:

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

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

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

⚠️ Key rules

  1. Use timestamps directly: Parse from (start-end) , do not search text
  2. Do not search again: The review draft has already calculated precise timestamps
  3. Checked = delete, unchecked = keep

2. FFmpeg command

ffmpeg -y -i input.mp4 \
  -filter_complex_script filter.txt \
  -map "[outv]" -map "[outa]" \
  -c:v libx264 -crf 18 -c:a aac \
  output.mp4

filter.txt format

[0:v]trim=start=0:end=1.36,setpts=PTS-STARTPTS[v0];
[0:a]atrim=start=0:end=1.36,asetpts=PTS-STARTPTS[a0];
[0:v]trim=start=2.54:end=10.5,setpts=PTS-STARTPTS[v1];
...
[v0][a0][v1][a1]...concat=n=N:v=1:a=1[outv][outa]

3. Re-transcribe and review

After editing, must:

  1. Re-transcribe with FunASR
  2. Check whether there are still slips of the tongue
  3. Yes → return to /videocut:剪口播 to re-identify
  4. No → generate subtitles

4. Output files

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

Version increments: v1→v2→v3...


5. Feedback log

2026-01-15

  • Filler word deletion boundaries are imprecise: When deleting filler words, the preceding characters were deleted too
    • Cause: Directly using the filler word's timestamp to delete
    • Correct: From the previous character's end to the next character's start
  • Filler word + silence should be deleted together:A [静音] 语气词 B The entire segment (A.end - B.start) should be deleted
  • Lesson: When deleting filler words, the boundary is 前一字.end to 后一字.start

2026-01-14

  • The slip-of-the-tongue text was not deleted cleanly; only the silent segment was deleted
  • Lesson: Read timestamps directly from the TodoList, do not search again
  • "拉满新" was deleted and changed to "会的时候": Searching for the "拉满新" timestamp spans 7 seconds (including 6 seconds of silence), and "拉满" was deleted too
    • Lesson: For slips of the tongue where the front is deleted and the back is kept, delete only the differing part
  • "AI就是AI" contains AI twice: Only "就是" was deleted, the first "AI" was not deleted
    • Lesson: Replacement-type slips of the tongue must delete the complete first version
  • Systematic solution: Timestamp-driven, the review draft directly marks (start-end), and the editing script no longer searches text