Skip to content

Releases: geeklee/srt-whiteboard-animation

v1.0.0 · SRT 白板动画 skill 首个公开发布

Choose a tag to compare

@geeklee geeklee released this 27 Jul 16:25

v1.0.0 · SRT 白板动画 skill 首个公开发布

将 SRT 字幕做成暖米黄纸张底的流式笔迹白板手绘动画mask 分区遮罩编排 + stream 连续笔迹(ink → color)

适合把知识讲解、故事口播、课程字幕或短视频文案,制作成暖米黄纸张底的手绘动画。

✨ 核心能力

  • 解析 SRT 字幕,按建议的 25–35 秒/幕拆分场景
  • 先输出分镜与配图策略,每一幕只表达一个核心意思
  • 按字幕事件(而非画面坐标)建立语义化的绘制顺序
  • annotation.json 管理区域、时序、字幕关联与重叠保护区
  • 每个区域采用连续流式笔迹:先 ink 铺线稿,再 color 添彩(权重 2:1)
  • 浏览器预览台可视化调整区域、顺序、时间和字幕关联
  • 支持逐幕渲染与多幕合并,输出完整 MP4(纯 pip 的 PyAV 编码,无需系统 ffmpeg)

🎬 效果示例

场景:猴子山抢香蕉 —— 随着字幕叙事顺序,依次绘制假山与小猴、抢香蕉的大猴,以及围观小朋友。

详见仓库 examples/scene-01-monkey-mountain-stream.gif

🧱 仓库结构

srt-whiteboard-animation/
├── SKILL.md                          # 完整工作流与约束
├── scripts/
│   ├── parse_srt.py                  # 字幕解析与分镜建议
│   ├── render_annotation_preview.py  # 标注检查图
│   ├── render_stream_whiteboard.py   # 流式笔迹 MP4 渲染器
│   ├── merge_scenes.py               # 多幕合并
│   └── prepare_env.py                # 依赖环境准备
├── assets/
│   ├── drawing-hand.png              # 手部素材
│   └── preview.html                  # 本地编辑预览台
└── agents/openai.yaml                # Codex 元数据

🚀 快速开始

# 1. 准备独立 Python 虚拟环境(自动装 opencv-python / numpy / av / Pillow)
python scripts/prepare_env.py --check
python scripts/prepare_env.py          # 末行输出 ENV_PY=<路径>

# 2. 解析字幕并生成建议分镜
python scripts/parse_srt.py 字幕.srt --target-sec 30 --min-sec 25 --max-sec 35

# 3. 渲染单幕成片
<ENV_PY> scripts/render_stream_whiteboard.py 图片.png 标注.json 输出.mp4 assets/drawing-hand.png \
    --ink-path grid --color-fill contour-wipe

# 4. 多幕合并
<ENV_PY> scripts/merge_scenes.py --inputs 幕1.mp4 幕2.mp4 --output final.mp4

完整工作流(读字幕 → 配图策略 → 线稿 → 标注 → 预览台调整 → 渲染 → 合并)见 SKILL.md

📦 安装资产

附件 srt-whiteboard-animation-v1.0.0.zip 为不含 .git 的完整源码包,解压即可使用(仍需本地准备 Python 环境,见上方步骤 1)。

📄 许可证

MIT License —— 详见 LICENSE

👤 关于作者

一个爱养鱼的老登 / AI Builder / 用 AI 团队打造一人公司。
抖音、B站、公众号:江哥是老登啊