Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

math-viz-video

把任意数学题(小学 → 研究生)做成竖屏 9:16 可视化解题动画,直接输出剪映草稿工程: 动画片段排好时间轴、字幕轨承载配音台词(剪映内一键 AI 配音)、音效就位,打开即可精修出片。

风格对标"黑底三色手写板书"数学短视频:Manim 负责数学演示层,Remotion 负责标题包装层, pyJianYingDraft 负责草稿装配。

这是一个 Claude Code skill

克隆到 skills 目录后,直接对 Claude 说"把这道题做成可视化解题视频:……"即可:

git clone https://github.com/lucifer726/math-viz-video ~/.claude/skills/math-viz-video
cd ~/.claude/skills/math-viz-video && ./setup.sh

Claude 会自动:判定学段与知识点 → 选可视化手法 → 写分镜台词 → 渲染动画 → 装配草稿。 流程定义见 SKILL.md,人也可以照着手动执行。

产出物

output/drafts/<草稿名>/
├── assets/            # 全部素材(随草稿走,可整体拷贝)
├── draft_content.json # 时间轴:视频轨 + 配音字幕轨 + 音效轨
├── fix_paths.py       # 跨机路径修复(换机器后运行一次)
└── 分镜脚本.md         # 台词时间表 / 配音音色 / BGM 建议
output/drafts/<草稿名>.srt          # 字幕备份
output/drafts/<草稿名>-preview.mp4  # 无声预览片(--preview)

内置示例(四学段各一,均已跑通全流程)

示例 学段 题目 可视化手法 成片时长
01-chicken-rabbit 小学 鸡兔共 50 只 160 条腿 简笔动物抬腿法 60.4s
02-square-area 初中 (a+b)² 面积模型 + 口算 103² 正方形切四块面积拼图 85.4s
03-derivative-tangent 高中 f(x)=x² 在 x=1 的切线斜率 割线滑向切线的极限过程 84.2s
04-determinant-area 大学 为什么 det A = ad−bc 是面积缩放因子 网格线性变换 + det=0 塌缩 99.7s

复现任一示例(仓库不含渲染产物,需本地渲染):

cd manim && manim render scenes/chicken_rabbit.py QuestionScene LiftLegsScene SolveScene RevealScene
cd ../remotion && npx remotion render src/index.ts TitleCard ../examples/01-chicken-rabbit/clips/seg01_title.mp4 \
    --props='{"title":"鸡兔同笼","subtitle":"小学 · 思维题","seconds":4}'
cd .. && python3 scripts/build_draft.py examples/01-chicken-rabbit/storyboard.json \
    --clips-dir examples/01-chicken-rabbit/clips --preview

在剪映中使用

  1. <草稿名> 整个文件夹拷进剪映草稿目录:
    • Windows: C:\Users\<用户名>\AppData\Local\JianyingPro\User Data\Projects\com.lveditor.draft\
    • macOS: ~/Movies/JianyingPro/User Data/Projects/com.lveditor.draft/
  2. 跨机器使用时,在草稿文件夹内运行一次 python fix_paths.py(修复素材绝对路径)
  3. 重启剪映,打开草稿
  4. AI 配音:框选"配音字幕"轨的全部文本 → 右侧"朗读" → 按分镜脚本建议选音色 → 开始朗读, 每句自动生成对齐的配音;成片不想显示字幕就隐藏/删除该文本轨
  5. BGM 在剪映音乐库按分镜脚本建议自选,音量压到 20% 以下

兼容性与已知坑

  • 目标剪映:桌面版 10.x(pyJianYingDraft 在 10.8 实测)。剪映对自己保存的草稿会加密, 但打开程序生成的明文草稿不受影响;草稿被剪映保存过一次后,本工具无法再读回修改—— 改内容请改 storyboard 重新构建。
  • 新草稿不会立即出现在剪映列表,重启剪映即可。
  • 学段自动判定可被覆盖:直接说"这题按初中讲"。

仓库结构

SKILL.md               # Claude 的完整制作流程
reference/             # 视觉规范 / 题型手法库 / 学段分档
manim/mvv/             # Manim 共享组件(颜色语义、红虚线框、竖屏基类)
manim/scenes/          # 每支视频的场景代码
remotion/              # 标题卡等包装动效
scripts/build_draft.py # storyboard → 剪映草稿
assets/fonts/          # 霞鹜文楷 + 思源宋体(OFL 1.1,可随仓库分发)
assets/sfx/            # 自制音效(ffmpeg 合成,无版权限制)
examples/              # 各学段完整示例

许可

代码 MIT。字体:霞鹜文楷思源宋体 均为 SIL OFL 1.1,随仓库分发合规。 音效为本仓库用 ffmpeg 合成,无第三方版权。

About

把任意数学题(小学→研究生)做成竖屏可视化解题动画,输出剪映草稿工程 | Math problem → vertical 9:16 visualized solution video → JianYing draft. Manim + Remotion + pyJianYingDraft, packaged as a Claude Code skill

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages