manim-video-teacher

📁 lispking/video-skills 📅 Jan 22, 2026
18
总安装量
13
周安装量
#19322
全站排名
安装命令
npx skills add https://github.com/lispking/video-skills --skill manim-video-teacher

Agent 安装分布

opencode 9
claude-code 9
gemini-cli 8
github-copilot 7
codex 6
antigravity 6

Skill 文档

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 代码约定

  • 使用 Scene 或 MovingCameraScene,尽量保持单场景可复用。
  • 把复杂动画拆成小函数(如 show_definition())。
  • 用 VGroup 组织元素,统一对齐与间距。
  • 用 FadeIn/FadeOut/Transform/ReplacementTransform 传达逻辑过渡。
  • 文本尽量用 Tex/MathTex 保持数学排版一致,纯中文说明用 Text。

默认技术参数

  • 分辨率:1920×1080
  • 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
  • 尺寸:1920×1080(与正片一致)
  • 文字层级:标题 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() 给观众思考时间

质量检查清单

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