Claude Code 的 AI 智能视频剪辑工具。下载视频、生成语义章节、剪辑片段、翻译双语字幕并烧录字幕到视频。
English | 简体中文
功能特性 • 安装 • 使用方法 • 系统要求 • 配置 • 常见问题
- AI 语义分析 - 通过理解视频内容生成精细章节(每个 2-5 分钟),而非机械按时间切分
- 精确剪辑 - 使用 FFmpeg 以帧精度提取视频片段
- 双语字幕 - 批量翻译字幕为中英双语,减少 95% 的 API 调用
- 字幕烧录 - 将双语字幕硬编码到视频中,支持自定义样式
- 内容总结 - 自动生成适合社交媒体的文案(小红书、抖音、微信公众号)
npx skills add https://github.com/op7418/Youtube-clipper-skill该命令会自动将 skill 安装到 ~/.claude/skills/youtube-clipper/ 目录。
git clone https://github.com/op7418/Youtube-clipper-skill.git
cd Youtube-clipper-skill
bash install_as_skill.sh安装脚本会:
- 复制文件到
~/.claude/skills/youtube-clipper/ - 安装 Python 依赖(yt-dlp、pysrt、python-dotenv)
- 检查系统依赖(Python、yt-dlp、FFmpeg)
- 创建
.env配置文件
| 依赖项 | 版本 | 用途 | 安装方法 |
|---|---|---|---|
| Python | 3.8+ | 脚本执行 | python.org |
| yt-dlp | 最新版 | YouTube 视频下载 | brew install yt-dlp (macOS)sudo apt install yt-dlp (Ubuntu)pip install yt-dlp (pip) |
| FFmpeg with libass | 最新版 | 视频处理和字幕烧录 | brew install ffmpeg-full (macOS)sudo apt install ffmpeg libass-dev (Ubuntu) |
安装脚本会自动安装以下包:
yt-dlp- YouTube 下载器pysrt- SRT 字幕解析器python-dotenv- 环境变量管理
macOS 用户注意:Homebrew 的标准 ffmpeg 包不包含 libass 支持(字幕烧录必需)。你必须安装 ffmpeg-full:
# 卸载标准 ffmpeg(如果已安装)
brew uninstall ffmpeg
# 安装 ffmpeg-full(包含 libass)
brew install ffmpeg-full验证 libass 支持:
ffmpeg -filters 2>&1 | grep subtitles
# 应该输出:subtitles V->V (...)只需告诉 Claude 剪辑一个 YouTube 视频:
Clip this YouTube video: https://youtube.com/watch?v=VIDEO_ID
或者
剪辑这个 YouTube 视频:https://youtube.com/watch?v=VIDEO_ID
- 环境检测 - 验证 yt-dlp、FFmpeg 和 Python 依赖
- 视频下载 - 下载视频(最高 1080p)和英文字幕
- AI 章节分析 - Claude 分析字幕生成语义章节(每个 2-5 分钟)
- 用户选择 - 选择要剪辑的章节和处理选项
- 处理 - 剪辑视频、翻译字幕、烧录字幕(如果需要)
- 输出 - 组织文件到
./youtube-clips/<时间戳>/
每个剪辑的章节包含:
./youtube-clips/20260122_143022/
└── 章节标题/
├── 章节标题_clip.mp4 # 原始剪辑(无字幕)
├── 章节标题_with_subtitles.mp4 # 带烧录字幕的视频
├── 章节标题_bilingual.srt # 双语字幕文件
└── 章节标题_summary.md # 社交媒体文案
本 skill 使用环境变量进行自定义配置。编辑 ~/.claude/skills/youtube-clipper/.env:
# FFmpeg 路径(留空则自动检测)
FFMPEG_PATH=
# 输出目录(默认:当前工作目录)
OUTPUT_DIR=./youtube-clips
# 视频质量限制(720、1080、1440、2160)
MAX_VIDEO_HEIGHT=1080
# 翻译批次大小(推荐 20-25)
TRANSLATION_BATCH_SIZE=20
# 目标翻译语言
TARGET_LANGUAGE=中文
# 目标章节时长(秒,推荐 180-300)
TARGET_CHAPTER_DURATION=180完整配置选项请参见 .env.example。
输入:
剪辑这个视频:https://youtube.com/watch?v=Ckt1cj0xjRM
输出(AI 生成的章节):
1. [00:00 - 03:15] AGI 是指数曲线而非时间点
2. [03:15 - 06:30] 中国在 AI 领域的差距
3. [06:30 - 09:45] 芯片禁令的影响
...
结果:选择章节 → 获得带双语字幕的剪辑视频 + 社交媒体文案
输入:
剪辑这个讲座视频并创建双语字幕:https://youtube.com/watch?v=LECTURE_ID
选项:
- 生成双语字幕:是
- 烧录字幕到视频:是
- 生成总结:是
结果:可直接在社交媒体平台分享的高质量剪辑视频
与机械按时间切分不同,本 skill 使用 Claude AI 来:
- 理解内容语义
- 识别自然的主题转换点
- 生成有意义的章节标题和摘要
- 确保完整覆盖,无遗漏
示例:
❌ 机械切分:[0:00-30:00]、[30:00-60:00]
✅ AI 语义分析:
- [00:00-03:15] AGI 定义
- [03:15-07:30] 中国的 AI 格局
- [07:30-12:00] 芯片禁令影响
一次翻译 20 条字幕,而非逐条翻译:
- 减少 95% 的 API 调用
- 速度提升 10 倍
- 更好的翻译一致性
生成的字幕文件同时包含英文和中文:
1
00:00:00,000 --> 00:00:03,500
This is the English subtitle
这是中文字幕
2
00:00:03,500 --> 00:00:07,000
Another English line
另一行中文错误:Option not found: subtitles 或 filter not found
解决方案:安装 ffmpeg-full(macOS)或确保安装了 libass-dev(Ubuntu):
# macOS
brew uninstall ffmpeg
brew install ffmpeg-full
# Ubuntu
sudo apt install ffmpeg libass-dev解决方案:在 .env 中设置代理:
YT_DLP_PROXY=http://proxy-server:port
# 或
YT_DLP_PROXY=socks5://proxy-server:port原因:API 限流或网络问题
解决方案:skill 会自动重试最多 3 次。如果持续失败,请检查:
- 网络连接
- Claude API 状态
- 减少
.env中的TRANSLATION_BATCH_SIZE
问题:文件名中的 :、/、? 等可能导致错误
解决方案:skill 会自动清理文件名:
- 移除特殊字符:
/ \ : * ? " < > | - 将空格替换为下划线
- 限制长度为 100 字符
- SKILL.md - 完整工作流程和技术细节
- TECHNICAL_NOTES.md - 实现笔记和设计决策
- FIXES_AND_IMPROVEMENTS.md - 更新日志和 Bug 修复
- references/ - FFmpeg、yt-dlp 和字幕格式指南
欢迎贡献!请:
- 通过 GitHub Issues 报告 Bug
- 提交功能请求
- 为改进提交 Pull Request
本项目采用 MIT 许可证 - 详见 LICENSE 文件。
- Claude Code - AI 驱动的 CLI 工具
- yt-dlp - YouTube 下载引擎
- FFmpeg - 视频处理利器
Made with ❤️ by op7418
如果这个 skill 对你有帮助,请给个 ⭐️