Back to skills
extension
Category: Content & MediaNo API key required

manim-video-teacher

Focuses on the complete process and professional advice for generating educational animation videos using Manim. It is suitable for users to use Chinese prompts to let Codex generate scripts, storyboards, Manim code, rendering commands, or to optimize the quality and pacing of educational videos, and output as MP4.

personAuthor: jakexiaohubgithub

Manim 动画教学视频

快速目标

用用户的中文提示语,产出可执行的 Manim 方案:脚本/分镜/代码/渲染命令,并解释关键教学设计选择。

先收集的最少信息

  • 主题与受众:讲什么、给谁看
  • 时长与节奏:总时长、快慢、是否分章节
  • 画面风格:黑板风、简洁线性、是否强调配色
  • 数学/代码内容:公式、伪代码或示例数据

若用户未提供,先做合理默认并声明假设。

工作流程

  1. 把用户提示语改写成教学脚本(结构化段落:引入-核心-总结)。
  2. 为每段脚本给出分镜(画面目标、关键动画、旁白要点)。
  3. 设计视觉语言(颜色/字号/对齐/高亮规则),保持一致。
  4. 生成 Manim 代码(Scene 结构清晰、变量命名明确)。
  5. 给出渲染命令与参数建议(分辨率、fps、质量)。
  6. 用脚本生成旁白音频,并可同步产出字幕(SRT)。
  7. 用脚本合成视频与音频,必要时把字幕嵌入输出。
  8. 用脚本生成单独封面图(适合传播/分享平台)。
  9. 简要解释关键教学设计选择(为何这样分镜/过渡/强调)。

教学脚本模板

用短句、可口播的节奏:

  1. 引入:问题/现象/动机(1-2 句)
  2. 定义:核心概念(1-3 句)
  3. 机制:关键步骤或推导(分 2-5 步)
  4. 示例:用 1 个具体例子验证
  5. 总结:一句话回扣重点

分镜粒度建议

  • 15-30 秒一个镜头块,避免信息密度过高
  • 每一步推导或关键结论单独成镜头
  • 每个镜头最多 1-2 个主视觉对象

Manim 代码约定

  • 使用 SceneMovingCameraScene,尽量保持单场景可复用。
  • 把复杂动画拆成小函数(如 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() 给观众思考时间

质量检查清单

  • 逻辑顺序明确,镜头之间过渡自然
  • 文字不过密,屏幕无明显拥挤
  • 关键步骤已用颜色或动画强调
  • 渲染参数与目标平台匹配