来源信息
- 仓库
- earayu/Hang2La-skills
- 最近来源活动
- 2026年3月11日 16:19
- 检测到的 SKILL.md 语言
- 中文
- 星标
- 1
- 分支
- 0
安装方式
默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。
检查来源文件
决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。
文件资源管理器
3 个文件正在显示 SKILL.md
SKILL.md
来源说明 · 只读预览- name
- assemble-video
- description
- 读取 project.yaml,将排行榜图片和音频合成为最终 MP4 视频。当所有选手的图片和音频均已就绪、或用户要求渲染/导出/完成视频时使用。
# assemble-video
读取 `project.yaml`(`type: "tierlist"`),生成"从夯到拉"排行榜动画视频。
## 脚本用法
```bash
python skills/assemble-video/scripts/assemble_tierlist.py \
--project projects/myvideo/project.yaml \
--output projects/myvideo/output/video.mp4 \
[--config config.yaml]
```
**标准输出(JSON):**
```json
{"path": "projects/myvideo/output/video.mp4", "duration_seconds": 245.7}
```
## 视频结构
1. **片头**(intro):排行榜背景 + 旁白音频
2. **逐一处理每位选手**:
- 解说阶段:选手大图居中展示 + 旁白音频
- 入榜动画(0.6 秒):图片从中央缩小飞入对应档位行,同一档位的后续选手排列到右侧
3. **片尾**(outro):完整排行榜 + 旁白音频
## 前置条件
`project.yaml` 中:
- `type: "tierlist"`
- 每位 `contestant` 均有 `image`、`audio`、`tier` 字段
- `intro` 和 `outro` 均有 `audio` 字段
若有字段缺失,请先运行 **search-images** 和 **generate-tts** 补全。
## 资产
排行榜背景图(五档):`skills/assemble-video/assets/tierlist_bg.png`
## 常见错误与修复
| 错误信息 | 原因 | 修复方法 |
|---------|------|---------|
| `ffmpeg not found` / `FileNotFoundError: ffmpeg` | 系统未安装 ffmpeg | macOS: `brew install ffmpeg`;Ubuntu: `sudo apt install ffmpeg` |
| `ModuleNotFoundError: No module named 'moviepy'` | Python 依赖未安装 | 在项目根目录执行 `uv sync`(或 `pip install moviepy pillow numpy`) |
| `FileNotFoundError: [image path]` | project.yaml 中的图片路径不存在 | 确认 `image` 字段路径正确,或先运行 search-images 补全 |
| `FileNotFoundError: [audio path]` | project.yaml 中的音频路径不存在 | 确认 `audio` 字段路径正确,或先运行 generate-tts 补全 |
| `PIL.UnidentifiedImageError` | 图片文件损坏或格式不支持 | 删除该图片,重新运行 search-images 下载 |
| 视频合成卡住不动 | 某段音频时长为 0 或 duration 字段错误 | 检查 project.yaml 中所有 `duration` 字段,值应大于 0 |
| 输出视频无声音 | ffmpeg 版本过旧 | 升级 ffmpeg:`brew upgrade ffmpeg` |
在 GitHub 查看