Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 08:40:57 +08:00
commit abc7aa590b
7 changed files with 501 additions and 0 deletions

85
skills/rip-video/SKILL.md Normal file
View File

@@ -0,0 +1,85 @@
---
name: rip-video
description: 根据 todolist.md 使用 MCP 从 MP4 视频提取音频和字幕。读取任务清单,调用 MCP 服务提取封面、音频(mp3)和字幕(srt),更新任务完成状态。
---
# Rip Video - 视频资源提取
## 概述
根据 todolist.md 从已下载的 MP4 视频中提取音频和字幕。调用 MCP 服务生成封面、MP3 音频和 SRT 字幕。
**前置条件**
- MCP `rip-video` 服务已配置运行(需要 ffmpeg/ffprobe
- todolist.md 的视频文件已标记完成且 mp4 文件真实存在
## 工作流程
### 1. 读取 todolist.md
从 todolist.md 获取待处理的 MP4 文件:
```markdown
## 6VbNVltFQRX (http://xhslink.com/o/6VbNVltFQRX)
- [x] orgin/6VbNVltFQRX/6VbNVltFQRX.json
- [x] orgin/6VbNVltFQRX/6VbNVltFQRX.mp4
- [ ] orgin/6VbNVltFQRX/6VbNVltFQRX_cover.jpg
- [ ] orgin/6VbNVltFQRX/6VbNVltFQRX.mp3
- [ ] orgin/6VbNVltFQRX/6VbNVltFQRX.srt
```
提取MP4 路径、VideoId、待提取的资源。
### 2. 检查现有文件
检查哪些资源需要提取:
- 封面:`{VideoId}_cover.jpg``{VideoId}-cover.jpg`
- 音频:`{VideoId}.mp3`
- 字幕:`{VideoId}.srt`
跳过已存在的文件。
### 3. 调用 MCP `rip_video` 提取资源
**提取设置**MCP 服务端配置):
- 封面00:00:01 时间点,高质量
- 音频192kbps MP3
- 字幕SRT 格式(如果有嵌入字幕)
### 4. 更新 todolist.md
提取完成后标记任务:
```markdown
## 6VbNVltFQRX (http://xhslink.com/o/6VbNVltFQRX)
- [x] orgin/6VbNVltFQRX/6VbNVltFQRX.json
- [x] orgin/6VbNVltFQRX/6VbNVltFQRX.mp4
- [x] orgin/6VbNVltFQRX/6VbNVltFQRX_cover.jpg
- [x] orgin/6VbNVltFQRX/6VbNVltFQRX.mp3
- [x] orgin/6VbNVltFQRX/6VbNVltFQRX.srt
```
### 5. 输出报告
```
============================================================
视频资源提取完成!
============================================================
处理视频: {total} 个
成功: {success} | 跳过: {skipped} | 失败: {failed}
所有任务已完成!
============================================================
```
## 错误处理
- **MCP 服务不可用**:提示检查 `rip-video` 服务状态
- **MP4 文件不存在**:跳过该视频,在报告中记录
- **无嵌入字幕**:正常情况,在报告中标记但不算失败
- **提取失败**:记录错误,不更新 `todolist`
## 集成说明
**上游**parse-video 下载 MP4 文件
**输出**:完整的视频资源集(视频、封面、音频、字幕)