{"repo":"geeklee/srt-whiteboard-animation","free":true,"listed":false,"github":"https://github.com/geeklee/srt-whiteboard-animation","clone":"git clone https://github.com/geeklee/srt-whiteboard-animation.git","description":"将 SRT 字幕做成暖米黄纸张底的流式笔迹白板手绘动画 skill：mask 分区遮罩编排 + stream 连续笔迹（ink→color）。","language":"Python","stars":1180,"topics":["ai-skill","hand-drawn","opencv","python","srt","subtitle","whiteboard-animation"],"license":"MIT","category":"dev-tools","readme_excerpt":"SRT 白板动画 Skill 将 SRT 字幕转为按叙事顺序绘制的白板手绘视频Skill。它结合了 分区遮罩编排 与 流式笔迹绘制 ：每个元素跟随字幕依次出场，笔尖在区域内连续落墨，再逐步添彩，最终导出 MP4。 适合把知识讲解、故事口播、课程字幕或短视频文案制作成暖米黄色纸张底的手绘动画。 效果示例 场景：猴子山抢香蕉 —— 随着字幕的叙事顺序，依次绘制假山与小猴、抢香蕉的大猴，以及围观小朋友。 原始线稿：查看 PNG。 核心能力 - 解析 SRT 字幕，并按建议的 25–35 秒时长拆分场景 - 先输出分镜与配图策略，确保每一幕只表达一个核心意思 - 按字幕事件而非画面坐标，为元素建立语义化的绘制顺序 - 用 annotation.json 管理区域、时序、字幕关联和重叠保护区 - 每个区域采用连续流式笔迹：先 ink 铺线稿，再 color 添彩 - 支持浏览器预览台调整区域、顺序、时间和字幕关联 - 支持逐幕渲染与多幕合并，输出完整 MP4 工作方式 该 Skill 的关键在于“字幕驱动、逐步确认”。每一步完成后都等待确认，避免在分镜、线稿或标注尚未定稿时浪费渲染成本： 1. 解析 SRT，输出分镜与配图策略。 2. 确认后生成统一风格的线稿。 3. 确认线稿后，结合字幕和原图创建标注，并载入预览台。 4. 确认标注后，生成分区与方向检查图。 5. 在预览台调整区域、叙事顺序、时序和字幕关联并保存。 6. 确认最终标注后，逐幕渲染 MP4。 7. 多幕项目在确认各幕成片后合并。 视觉规范 - 暖米黄色纸张背景：建议 #F5EBD7 - 深灰色素描线条，红、橙、蓝仅作少量概念性点缀 - 极简手绘、干净背景与充足留白 - 不使用场景文字、标签、摄影感、3D 效果或复杂纹理 安装与环境 Skill 自带独立的 Python 虚拟环境准备脚本。首次运行时执行： 成功后第一条命令会输出 ENV PY= ；后续渲染请使用该解释器，确保依赖隔离。 项目素材结构 图片与标注必须同名，例如 scene-01-demo.png 对应 scene-01-demo.annotation.json 。 标注格式 每个元素使用原图的整数像素坐标，并通过 sequence 、 subtitle 与 narrativeRole 关联字幕中的事件。区域应按“场景铺垫 → 关键人物/物体 → 动作或变化 → 反应/结果”排序。 direction 和 handPath 用于预览台的矩形代理；最终成片的真实笔迹由流式绘制器自动生成。对于相互遮挡的对象，在较早元素的 protectedRegions 中标出需要延后显示的区域，避免后续内容提前露出。 常用命令 解析字幕并生成建议分镜： 生成区域检查图： 打开 assets/preview.html ，使用“打开文件夹”载入场景目录，即可编辑区域、顺序、时间与字幕关联。 渲染单幕： 合并多幕： 质量检查 - 首帧是干净的暖米黄纸张底色，没有提前露出的线条 - canvas 与原图尺寸一致，所有区域都是画布内的整数像素坐标 - sequence 、 startMs 与字幕的叙事顺序一致 - 中段帧中，未开始区域和保护区不会提前出现 - 笔尖贴近当前流式笔迹；线稿清晰时可选择 --ink-path skeleton - 每幕结束后至少停留 0.5 秒完整画面；多幕合并顺序与字幕分镜一致 仓库内容 贡献 欢迎提交 Issue 或 Pull Request。任何涉及绘制逻辑的改动，都应使用真实的字幕、标注和成片检查遮罩保护、时序与最终画面","default_branch":null,"files":null,"tree":[],"storefront":"/r/geeklee","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/geeklee/srt-whiteboard-animation/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}