Manim video teacher
A skill package and helper scripts to turn prompts into Manim teaching videos with optional narration, muxing, and cover generation.
npx -y skills add lispking/video-skills --skill manim-video-teacherAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
专注于使用 Manim 生成动画教学视频的完整流程与专业建议。适用于用户用中文提示语让 Codex 生成脚本、分镜、Manim 代码、渲染命令或优化教学视频质量与节奏,并输出 MP4。
SKILL.md
5.1 KB, as published. Nobody here has run it
Manim 动画教学视频
快速目标
用用户的中文提示语,产出可执行的 Manim 方案:脚本/分镜/代码/渲染命令,并解释关键教学设计选择。
先收集的最少信息
- 主题与受众:讲什么、给谁看
- 时长与节奏:总时长、快慢、是否分章节
- 画面风格:黑板风、简洁线性、是否强调配色
- 数学/代码内容:公式、伪代码或示例数据
若用户未提供,先做合理默认并声明假设。
工作流程
- 把用户提示语改写成教学脚本(结构化段落:引入-核心-总结)。
- 为每段脚本给出分镜(画面目标、关键动画、旁白要点)。
- 设计视觉语言(颜色/字号/对齐/高亮规则),保持一致。
- 生成 Manim 代码(Scene 结构清晰、变量命名明确)。
- 给出渲染命令与参数建议(分辨率、fps、质量)。
- 用脚本生成旁白音频,并可同步产出字幕(SRT)。
- 用脚本合成视频与音频,必要时把字幕嵌入输出。
- 用脚本生成单独封面图(适合传播/分享平台)。
- 简要解释关键教学设计选择(为何这样分镜/过渡/强调)。
教学脚本模板
用短句、可口播的节奏:
- 引入:问题/现象/动机(1-2 句)
- 定义:核心概念(1-3 句)
- 机制:关键步骤或推导(分 2-5 步)
- 示例:用 1 个具体例子验证
- 总结:一句话回扣重点
分镜粒度建议
- 15-30 秒一个镜头块,避免信息密度过高
- 每一步推导或关键结论单独成镜头
- 每个镜头最多 1-2 个主视觉对象
Manim 代码约定
- 使用
Scene或MovingCameraScene,尽量保持单场景可复用。 - 把复杂动画拆成小函数(如
show_definition())。 - 用
VGroup组织元素,统一对齐与间距。 - 用
FadeIn/FadeOut/Transform/ReplacementTransform传达逻辑过渡。 - 文本尽量用
Tex/MathTex保持数学排版一致,纯中文说明用Text。
默认技术参数
- 分辨率:1920x1080
- fps:30
- 渲染质量:
-qh作为默认 - 输出:MP4
视觉与节奏默认值
- 主色:蓝色或橙色二选一,保持一致
- 强调色:亮黄或红色,仅用于关键结论
- 留白:屏幕边缘留 10-15% 安全区
- 口播节奏:每分钟 120-150 字
脚本优先
优先使用 scripts/ 下的脚本完成语音生成、合成与封面,不要求用户手写命令。
可用脚本:
scripts/tts_generate.py:把旁白文本转为音频(edge-tts),可用--subs-output subs.srt输出字幕scripts/concat_audio.py:合并多段旁白(ffmpeg concat)scripts/mux_av.py:合成视频与音频(ffmpeg),可用--subs subs.srt嵌入字幕scripts/make_cover.py:生成 16:9 封面图(Pillow)scripts/pipeline.py:一键执行语音、合成与封面生成- 可选参数:
--dry-run输出命令不执行,--verbose显示执行命令,--log-file记录命令列表(默认覆盖),--append-log追加记录 - 字幕参数:
--subs-output subs.srt(TTS 生成字幕),--subs subs.srt(使用已有字幕)
- 可选参数:
若脚本报缺依赖,提示用户安装对应依赖即可(edge-tts、ffmpeg、Pillow)。
示例(推荐):
python scripts/pipeline.py \\
--video manim.mp4 \\
--tts-file narration.txt \\
--subs-output subs.srt \\
--cover-title "二次函数顶点式" \\
--cover-subtitle "60 秒掌握" \\
--output output.mp4
封面图规格与建议
- 比例:16:9
- 尺寸:1920x1080(与正片一致)
- 文字层级:标题 1 行 + 副标题 1 行(可选)
- 信息结构:左大标题,右侧示意图或关键公式
- 颜色:主色 + 强调色,避免超过 3 种主色
- 导出:PNG,保证清晰度
用户可能的触发示例(中文)
- “用 Manim 做一个 60 秒讲解二次函数顶点式的视频。”
- “做一个教学动画解释矩阵乘法,画面简洁。”
- “把这个概念讲给高中生,生成 Manim 代码和渲染命令。”
输出格式建议
- 先给脚本与分镜
- 再给 Manim 代码(可直接运行)
- 提供
scripts/pipeline.py的使用方式(优先) - 如需分段合成或自定义流程,给出对应脚本用法(
tts_generate.py/concat_audio.py/mux_av.py) - 提供封面图设计建议与导出规格(对应
make_cover.py) - 最后给渲染命令与参数说明(Manim)
- 如果用户要旁白,附带配音台词与字幕(SRT)
常见优化点
- 重要概念用颜色/加粗/放大突出
- 动画节奏宁可慢一点,留白便于理解
- 公式推导分步出现,避免一次性堆叠
- 使用
Wait()给观众思考时间
质量检查清单
- 逻辑顺序明确,镜头之间过渡自然
- 文字不过密,屏幕无明显拥挤
- 关键步骤已用颜色或动画强调
- 渲染参数与目标平台匹配