videocut-clip

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

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "videocut-clip" with this command: npx skills add zrt-ai-lab/opencode-skills/zrt-ai-lab-opencode-skills-videocut-clip

<!-- input: 删除任务 TodoList(口误+静音) output: 剪辑后视频、字幕文件 pos: 执行 skill,用户确认删除任务后调用 架构守护者:一旦我被修改,请同步更新: 1. ../README.md 的 Skill 清单 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. `(start-end)` 删"错误文本" → 保留"正确文本"  ← 勾选=删除

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

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

⚠️ 关键规则

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

二、FFmpeg 命令

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 格式

[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]

三、重新转录审查

剪辑后必须:

  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"
    • 教训:替换型口误必须删完整的第一个版本
  • 系统性解决:时间戳驱动,审查稿直接标注 (start-end),剪辑脚本不再搜索文本

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

auto-douyin

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

videocut-subtitle

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

auto-weixin-video

No summary provided by upstream source.

Repository SourceNeeds Review