Skip to content

Ceeon/videocut-skills

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Videocut Skills

用 Claude Code Skills 构建的视频剪辑 Agent,专为口播视频设计

为什么做这个?

剪映的"智能剪口播"有两个痛点:

  1. 无法理解语义:重复说的句子、说错后纠正的内容,它识别不出来
  2. 字幕质量差:专业术语(Claude Code、MCP、API)经常识别错误

这个 Agent 用 Claude 的语义理解能力解决第一个问题,用自定义词典解决第二个问题。

效果演示

输入:19 分钟口播原片(各种口误、卡顿、重复)

输出

  • 自动识别 608 处问题(静音 114 + 口误/重复 494)
  • 剪辑后视频 72MB
  • 全程 AI 辅助,人工只需确认

核心功能

功能 说明 对比剪映
语义理解 AI 逐句分析,识别重说/纠正/卡顿 只能模式匹配
静音检测 >0.3s 自动标记,可调阈值 固定阈值
重复句检测 相邻句开头≥5字相同 → 删前保后 无此功能
句内重复 "好我们接下来好我们接下来做" → 删重复部分 无此功能
词典纠错 自定义专业术语词典 无此功能
自更新 记住你的偏好,越用越准 无此功能

快速开始

1. 安装 Skills

# 克隆到 Claude Code skills 目录
git clone https://github.com/Ceeon/videocut-skills.git ~/.claude/skills/videocut

2. 配置 API Key

cd ~/.claude/skills/videocut
cp .env.example .env
# 编辑 .env,填入火山引擎 API Key

3. 安装环境

打开 Claude Code,输入:

/videocut:安装

AI 会自动:

  • 检查 Python、FFmpeg、Node.js
  • 安装 FunASR(口误识别模型,约 2GB)
  • 安装 Whisper large-v3(字幕模型,约 3GB)

使用流程

┌─────────────────────────────────────────────────────────┐
│  /videocut:安装  →  首次使用,安装环境和模型            │
└─────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────┐
│  /videocut:剪口播 视频.mp4                              │
│                                                         │
│  1. 提取音频 → 上传云端                                 │
│  2. 火山引擎转录 → 字级别时间戳                         │
│  3. AI 审核:静音/口误/重复/语气词                      │
│  4. 生成审核网页 → 浏览器打开                           │
└─────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────┐
│  【人工审核 + 执行剪辑】                                │
│                                                         │
│  - 单击跳转播放                                         │
│  - 双击选中/取消                                        │
│  - Shift 拖动多选                                       │
│  - 确认后点击「执行剪辑」→ 自动 FFmpeg 剪辑            │
└─────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────┐
│  /videocut:字幕                                         │
│                                                         │
│  - Whisper 转录                                         │
│  - 词典纠错(Claude Code → claude code)                │
│  - 人工确认 → 烧录字幕                                  │
└─────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────┐
│  /videocut:自更新  (可选)                             │
│                                                         │
│  告诉 AI 你的偏好,它会记住:                           │
│  - "静音阈值改成 1 秒"                                  │
│  - "保留适量嗯作为过渡"                                 │
└─────────────────────────────────────────────────────────┘

Skill 清单

Skill 功能 输入 输出
安装 环境准备 安装日志
剪口播 转录 + AI 审核 + 剪辑 视频文件 剪辑后视频
字幕 生成字幕 视频文件 带字幕视频
自更新 记录偏好 用户反馈 更新规则文件

目录结构

videocut/
├── README.md           # 本文件
├── .env.example        # API Key 模板
├── 安装/               # 环境安装 skill
├── 剪口播/             # 核心:转录 + AI 审核 + 剪辑
│   ├── SKILL.md        # 流程说明
│   ├── *.js            # 脚本(生成字幕、审核页面、服务器)
│   ├── *.sh            # 脚本(转录、剪辑)
│   └── 用户习惯/       # 审核规则(可自定义)
│       ├── 1-核心原则.md       # 删前保后
│       ├── 2-语气词检测.md     # 嗯啊呃
│       ├── 3-静音段处理.md     # >0.3s 删除
│       ├── 4-重复句检测.md     # 相邻句开头相同
│       ├── 5-卡顿词.md         # 那个那个、就是就是
│       ├── 6-句内重复检测.md   # A+中间+A 模式
│       ├── 7-连续语气词.md     # 嗯啊、啊呃
│       └── 8-重说纠正.md       # 部分重复、否定纠正
├── 字幕/               # 字幕生成与烧录
│   └── 词典.txt        # 自定义词典
└── 自更新/             # 自我进化机制

技术架构

┌──────────────────┐     ┌──────────────────┐
│   火山引擎 ASR   │────▶│  字级别时间戳    │
│  (云端转录)    │     │  subtitles.json  │
└──────────────────┘     └────────┬─────────┘
                                  │
                                  ▼
┌──────────────────┐     ┌──────────────────┐
│   Claude Code    │────▶│   AI 审核结果    │
│  (语义分析)    │     │  auto_selected   │
└──────────────────┘     └────────┬─────────┘
                                  │
                                  ▼
┌──────────────────┐     ┌──────────────────┐
│   审核网页       │────▶│   最终删除列表   │
│  (人工确认)    │     │  delete_segments │
└──────────────────┘     └────────┬─────────┘
                                  │
                                  ▼
┌──────────────────┐     ┌──────────────────┐
│     FFmpeg       │────▶│   剪辑后视频     │
│  filter_complex  │     │   xxx_cut.mp4    │
└──────────────────┘     └──────────────────┘

依赖

依赖 用途 安装方式
Node.js 18+ 运行脚本 brew install node
FFmpeg 音视频处理 brew install ffmpeg
Python 3.8+ 模型运行 系统自带
火山引擎 API 语音转录 申请 Key

常见问题

Q: 火山引擎转录超时?

上传音频到 uguu.se(脚本默认),不要用 catbox.moe(火山引擎访问慢)。

Q: 审核网页打不开?

检查端口 8899 是否被占用:lsof -i :8899

Q: 剪辑后音画不同步?

使用 filter_complex + trim 而非 concat demuxer,脚本已处理。

Q: 如何添加自定义词典?

编辑 字幕/词典.txt,每行一个词:

Claude Code
MCP
API

License

MIT

About

用 Claude Code Skills 做的视频剪辑 Agent

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

No contributors