大家好呀,我是豆芽菜小萌~
做知识讲解、故事口播想用手绘白板风,你还在用videoscribe,或者doodly?声音和画面反复对齐,分镜排版策划脚本反复调整?头早就大了吧。
我也试过让 AI 把口播做成白板手绘。要么画面太花,要么笔迹是「一块一块蹦出来」的,看的人都知道那是后期贴的,不是真在纸上画。我们需要的是那种讲课视频里、手一边讲一边把图勾出来的感觉。
还好我天天住在github里,终于让我发现了srt-whiteboard-animation 这份 skill,思路终于是对上了:不跟你拼生图模型多强,而是把「字幕驱动 + 真笔迹流动」写成了死规矩。你喂一段字幕,笔尖跟着叙事一笔一笔把图勾出来,是真的在动。

— 这幕「猴子山抢香蕉」就是按字幕一笔笔画出来的白板动画(官方示例)
01
PART
怎么实现
WHAT YOU GET
输入的是一段 SRT 字幕,输出的是一条 白板手绘动画 MP4。画面是暖米黄旧纸色底(#F5EBD7),深灰素描线条,红、橙、蓝只做少量概念点缀;极简、留白多、干净,画面里不带任何文字。
关键在「按顺序」:每个元素跟着字幕依次出场,假山先落、小猴再上、大猴抢香蕉、小朋友最后围观。不是一整张图淡入,而是一笔一笔长出来。字幕念到哪,画面画到哪。
一句话:把「口播稿」变成「边讲边画的手绘讲义」,知识讲解、故事口播、课程字幕都能用。
02
PART
笔是怎么动的
HOW IT DRAWS
这套画法分两层。编排层用「分区遮罩」:每个元素在 annotation.json 里占一块区域,按字幕叙事顺序逐个揭示,还没轮到的区域完全藏住,互相遮挡的地方用 protectedRegions 保护,后面的不会提前露线。
画法层是「流式笔迹」:笔尖在自己的允许区域内,沿骨架或网格连续滑行落墨,先 ink 铺线稿、再 color 添彩(权重 2:1),所有区域共享一张持久画布,画完的留在上面。所以你看到的是连贯的一笔笔,而不是方块擦除。
和整图 stream 不同,这份 skill 按字幕叙事分区,你能控制每个元素的出场顺序和时长;和逐格跳变不同,笔迹是连贯流动的。这俩区别,正是画面不像「贴上去」的关键。
03
PART
怎么上手
WORKFLOW
工作流是「字幕驱动、逐步确认」:读字幕出分镜策略,你确认了才生成线稿;线稿确认了再做标注、开预览台调区域和时序;最后命令行渲染成片、多幕合并。每一步都等你拍板,不会在分镜没定稿时就先烧渲染。
环境靠自带脚本准备,第一次跑 prepare_env.py 会建一个独立 venv,把 opencv、numpy、av 装进去,渲染走这个隔离解释器,不污染你本机环境。
友情提示:这是一个 skill,不是开箱即用的桌面软件,得配合能跑脚本的 Agent 或本地命令行;要的是现成 SRT 字幕,没有字幕先去出一份;审美上也只做暖米黄极简白板这一种,如果你想要彩色插画、复杂场景,这个skill 暂时还做不了。
///
LAST
写在最后
边界与获取
如果你也做知识口播、故事讲解,想让画面跟着字幕一笔笔长出来,而不是干巴巴的文字贴片,这个 skill 值得一试。
开源地址:
...repo
https://github.com/geeklee/srt-whiteboard-animation