Skip to main content

assemble-video

读取 project.yaml,将排行榜图片和音频合成为最终 MP4 视频。当所有选手的图片和音频均已就绪、或用户要求渲染/导出/完成视频时使用。

설치로 이동

소스 정보

저장소
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에서 보기