SuperAPI AI 工具集

srt-whiteboard-animation

设计与创作

查看项目

更新于 10-27 06:18

技能介绍

用途

把 SRT 字幕转换成白板手绘动画视频。技能沿用分区遮罩揭示的编排方式(按叙事顺序逐区域揭示、未开始区域完全隐藏、重叠用 protectedRegions 保护),但把落墨换成流式笔迹:每个区域在自己的允许掩码内,笔尖沿骨架或网格连续滑行落墨。与逐格跳变或矩形擦除不同,笔迹连贯流动;与整图 stream 不同,可按字幕叙事分区依次作画,控制每个元素的出场顺序与时序。所有面向用户的说明、分镜、配置与界面文字使用中文。

主要能力

  • 字幕解析与分镜建议:用 scripts/parse_srt.py 把 SRT 解析成字幕条,按 25–35 秒/幕给出建议分镜。
  • 统一风格出图规范:暖米黄旧纸色(建议 #F5EBD7)、深灰草图线条,仅用红、橙、蓝少量点缀;极简手绘、留白充足;禁止画面文字、写实细节、3D 效果与高饱和配色。
  • 语义排序与像素级标注:每个模块含 sequence、narrativeRole、subtitle、region、reveal、handPath;坐标为原图整数像素,canvas 尺寸等于原图像素尺寸。
  • 预览台调整:在 assets/preview.html 拖拽区域、修改名称/方向/开始与结束时间与字幕、调整模块顺序,保存写回同名 .annotation.json。
  • 渲染参数:--ink-path grid(默认)或 skeleton;--color-fill contour-wipe(默认)或 brush;--total-ms 缺省用 sceneDurationMs。
  • 多幕合并:merge_scenes.py 按顺序合并单幕 MP4。

使用方式

流程为强制逐步确认:读字幕出策略 → 确认后生成线稿 → 确认后读字幕看图并标注、创建 annotation.json 并自动打开预览台载入目录 → 确认后生成区域编号预览图 → 确认后在预览台调整保存 → 确认后命令行渲染单幕 MP4 → 确认后合并多幕。每一步完成后必须停止等待用户明确确认;未回复、此前笼统授权或用户未反对都不算确认。

环境准备(首次或缺依赖):

python scripts/prepare_env.py --check
python scripts/prepare_env.py

解析字幕:

python scripts/parse_srt.py <字幕.srt> --target-sec 30 --min-sec 25 --max-sec 35

区域编号预览图:

python scripts/render_annotation_preview.py <图片> <标注> <预览图输出>

渲染单幕:

<ENV_PY> scripts/render_stream_whiteboard.py <图片> <标注> <输出mp4> assets/drawing-hand.png \
    [--ink-path grid|skeleton] [--color-fill contour-wipe|brush] [--total-ms <毫秒>]

多幕合并:

python scripts/merge_scenes.py --inputs 幕1.mp4 幕2.mp4 幕3.mp4 --output final.mp4

预览台直接用 Chrome / Edge 打开 assets/preview.html,点“打开文件夹”选目录,载入图片与同名标注后编辑并保存;写回需 File System Access API,其它浏览器改为下载后手动覆盖。渲染仍走命令行。

目录约定:

assets/whiteboard/<项目名>/
  scene-01-<名称>.png
  scene-01-<名称>.annotation.json
  scene-01-<名称>-whiteboard.mp4
  scene-01-<名称>-preview.mp4

图片与配置必须同名。

适用场景

需要把已有字幕内容做成白板手绘讲解视频、并按叙事顺序控制元素出场时机的场景;适合概念讲解、故事化叙述等需要简洁留白画面风格的短片。

限制

  • 标注前必须同时具备字幕与已查看的原图,缺任一项需先索取。
  • 同一幕内各区域应串行作画(startMs 不重叠);若重叠,渲染器仍按顺序处理,但视觉上不再并发。
  • reveal.direction 在 stream 画法下不决定真实笔迹,仅供预览台矩形代理演示。
  • 成片笔迹由 stream 自动生成,无需精调 handPath。
  • 预览台写回原文件依赖 Chrome/Edge 的 File System Access API。
  • 渲染脚本需用技能内 .venv 的解释器运行。
  • 价格、平台支持范围与效果指标暂未提供。