Files
video-edit-planner-skill/README.zh.md
T
nite b60931913b feat: add stock material search section + npx skills add install
- SKILL.md: new 'Finding stock materials' section (on-demand, not mandatory)
  - 5 material sources: 爱给网, B站素材酷, Tenor, GIPHY, Klipy
  - Language-based priority (Chinese users → 爱给网 + B站素材酷)
  - Semantic search term expansion guidance
  - B站素材酷: bcut-resource-search userscript or direct API
  - Anti-bot fallback: browser-based tools
- README.md + README.zh.md: add 'npx skills add' install method
  - Compatible with open agent skills ecosystem (73+ frameworks)
  - git clone as fallback option
  - New 'Stock Material Search' section
2026-07-14 12:00:39 +08:00

131 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Video Edit Planner 视频剪辑规划助手
一个 agent skill,通过迭代式对话帮助规划视频剪辑——转录音频、按需提取关键帧、分析画面内容,最终生成结构化的剪辑规划。
**仓库地址**: https://git.nite07.com/nite/video-edit-planner-skill
## 功能特性
- **音频转录** — 内置 [funasr-script](https://github.com/modelscope/FunASR),支持 Fun-ASR-Nano(高质量,中文优化)和 SenseVoice(快速预览)两种模型
- **按需抽帧** — 基于 ffmpeg 的片段剪辑(`-c copy`)+ 场景变化检测 + 均匀采样,优先使用硬件加速(CUDA/NVDEC)
- **产物索引** — SQLite 数据库记录所有转录、剪辑片段和帧图片,避免跨会话重复处理
- **视觉分析指引** — 二分查找式帧采样策略;兼容 agent 运行时提供的任何视觉模型
- **迭代式剪辑规划** — Markdown 表格输出(时间码、片段描述、操作建议、转场方式、备注),支持追问细化
- **Agent 无关** — 不包含任何平台特定工具名;兼容任何 agent 框架(Hermes、Claude Code、Codex 等)
## 快速开始
### 前置依赖
| 依赖 | 安装方式 |
|---|---|
| `ffmpeg` + `ffprobe` | Linux: `pacman -S ffmpeg` / `apt install ffmpeg`macOS: `brew install ffmpeg`Windows: `winget install Gyan.FFmpeg` |
| `uv` | Linux: `pacman -S uv`macOS: `brew install uv`Windows: `winget install astral-sh.uv`;备用: `pip install uv` |
| `python3` | Linux: `pacman -S python`macOS: `brew install python`Windows: `winget install Python.Python.3` |
### 安装 skill
**方式一:`npx skills add`(推荐)**
本 skill 兼容 [开放 agent skills 生态](https://www.npmjs.com/package/skills),可以直接安装:
```bash
# 全局安装(跨项目可用)
npx skills add git@git.nite07.com:nite/video-edit-planner-skill.git -g -y
# 安装到指定 agent
npx skills add git@git.nite07.com:nite/video-edit-planner-skill.git -g -a claude-code -y
# 列出可用 skill(不安装)
npx skills add git@git.nite07.com:nite/video-edit-planner-skill.git --list
```
支持 73+ agent 框架,包括 Claude Code、Codex、Cursor、OpenCode 等。
**方式二:`git clone`(手动)**
```bash
git clone git@git.nite07.com:nite/video-edit-planner-skill.git ~/.hermes/skills/media/video-edit-planner
```
Hermes Agent 用户克隆到 `~/.hermes/skills/media/`。其他 agent 请遵循各自的 skills 目录约定。
### 首次使用
转录脚本需要一次性依赖安装:
```bash
cd ~/.hermes/skills/media/video-edit-planner/scripts/transcription && uv sync
```
这会创建一个隔离的 venv,包含 `funasr``torch``torchaudio`。如果你之前通过 uv 安装过这些包,缓存会被复用——首次成本仅为链接步骤。
## 工作流程
```
1. 检查依赖(ffmpeg、uv、python3
2. 收集输入(视频路径 + 音轨索引)
3. 询问剪辑需求
4. 转录音频(如索引中已有缓存则跳过)
5. 按需提取片段和帧(agent 自主判断转录稿是否足够)
6. 用视觉模型分析帧(二分查找式采样)
7. 生成 Markdown 表格剪辑规划 + 总体建议
8. 迭代——用户追问,规划逐步细化
```
## 素材搜索(可选)
规划剪辑时,用户可能需要素材——贴纸、GIF、梗图视频片段、B-roll 等。skill 按需提供素材搜索指引。
### 素材来源
| 来源 | 网址 | 内容 | 适用场景 |
|---|---|---|---|
| 爱给网 | https://www.aigei.com/ | 中文梗图视频片段(热梗,4.2万+),免费下载 | 中文创作者(B站/抖音) |
| B站素材酷 | https://cool.bilibili.com/ | 哔哩哔哩平台素材(视频、音频、BGM、模板、贴纸) | B站创作者;大量中文梗图 |
| Tenor | https://tenor.com/ | GIF + 贴纸,支持 30+ 语言含中文,免费 API | 快速 GIF/贴纸搜索 |
| GIPHY | https://giphy.com/ | 最大 GIF 库,30+ 语言,贴纸频道 | 英文/多语言 GIF 搜索 |
| Klipy | https://klipy.com/ | 本地化 GIF/贴纸/片段 API,支持中文 | API 集成搜索,本地化 |
中文用户优先推荐爱给网和B站素材酷。
### B站素材酷搜索
B站素材酷没有内置搜索功能。可以使用 [bcut-resource-search](https://git.nite07.com/nite/bcut-resource-search) 油猴脚本添加搜索功能,或让 agent 直接查询 API。
## 目录结构
```
video-edit-planner/
├── SKILL.md # Skill 定义(工作流程、指引、注意事项)
├── README.md # 英文说明
├── README.zh.md # 本文件(中文)
├── scripts/
│ ├── transcription/ # 内置 funasr-script(自包含 uv 项目)
│ │ ├── pyproject.toml
│ │ ├── uv.lock
│ │ ├── funasr_common.py # 共享:ffprobe、音频提取、模型运行
│ │ ├── funasr_nano.py # Fun-ASR-Nano 入口(高质量)
│ │ ├── funasr_fast.py # SenseVoice 入口(快速预览)
│ │ └── funasr_regular.py # Paraformer 入口(对比用)
│ ├── frames/
│ │ └── extract_frames.py # 片段提取 + 抽帧(ffmpeg 封装)
│ └── index/
│ └── manage_index.py # SQLite 索引管理(8 个子命令)
└── references/
└── frame-extraction-guide.md # 视觉模型 token 成本、分辨率/批次指引
```
## 索引数据库
所有处理产物记录在 SQLite 数据库(`<视频文件名>.vedit.db`)中,存放在视频文件同目录:
- **transcription** — JSON 路径、音轨索引、时长
- **clips** — 起止时间、文件路径、提取原因
- **frames** — 时间戳、文件路径、场景分数、提取方法
这避免了跨会话对同一视频重复转录或重复抽帧。
## 许可证
MIT