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()给观众思考时间
质量检查清单
- 逻辑顺序明确,镜头之间过渡自然
- 文字不过密,屏幕无明显拥挤
- 关键步骤已用颜色或动画强调
- 渲染参数与目标平台匹配