跳转至

命令行

面向智能体的动画引擎:以 Manim 的 Python API 极速生成数学和 3D 视频,底层基于 Rust GPU 核心。

场景文件是 Manim CE 代码:import manimgx as m,一个继承 m.Scene 的类及其 construct。在循环中工作:

 manimgx inspect scene.py 时间线、分镜图、布局问题 manimgx inspect scene.py -t 1.5,end 检视特定时刻 manimgx render scene.py 视频(MP4),附带相同报告

文件写在场景文件旁边;每个命令会打印其写入的文件。

用法:

$ manimgx [OPTIONS] COMMAND [ARGS]...

选项:

  • --version: 显示版本号并退出。
  • --help: 显示此帮助信息并退出。

命令:

  • render: 将场景渲染为带声音的 MP4 视频。
  • inspect: 检视场景:生成标注 PNG、时间线和二维布局检查,不生成视频。
  • preview: 实时预览场景:在窗口中展示,每次保存代码时重新生成。
  • present: 演示场景:其各节即为幻灯片。

manimgx render

将场景渲染为带声音的 MP4 视频。

同时在视频旁写入分镜图(每次播放结尾的帧,布局问题以边框标出并编号)并列出 这些问题——参见 manimgx inspect——若场景包含语音或字幕,还写入字幕文件(.srt)。

用法:

$ manimgx render [OPTIONS] {FILE} [SCENE]

参数:

  • FILE: 场景文件:定义 ManimGX 场景的 Python 文件。 [required]
  • SCENE: 场景(文件中的一个类);仅当文件定义了多个场景时需要。

选项:

  • -o, --output <path>: 视频文件(.mp4)。[默认:文件旁的 .mp4]
  • -r, --resolution WxH: 像素,如 1280x720。[默认:场景的 config,未设置则为 1920x1080]
  • --fps <int range>: 每秒帧数。[默认:场景的 config,未设置则为 60] [x>=1]
  • --preset <ultrafast|superfast|veryfast|faster|fast|medium|slow|slower|veryslow|placebo>: 编码速度:更快的预设编码更早完成,但生成更大的文件。 [default: medium]
  • --crf <float range>: 视频质量:值越低质量越高、文件越大。 [default: 23.0; 0<=x<=51]
  • --help: 显示此帮助信息并退出。

manimgx inspect

检视场景:生成标注 PNG、时间线和二维布局检查,不生成视频。

默认采样各次播放和等待的结尾。使用 -t 时,检视视频播放器在那些时刻显示的帧; 'end' 表示最后一帧。检查内容包括内容被裁剪、文字重叠、线条或填充覆盖文字、 以及标签过小。三维场景生成图片和时间线;布局检查被跳过。仅检视被采样的时刻。

图片按时间顺序排列,标注为 #play t=… file:line,问题以边框标出并编号。 每张分镜图放六张图片(多余的放入 <name>-2.png、……)。默认采样省略连续相同 的图片。使用 -t 时,仅绘制请求的帧,且除非包含 'end',场景在最后一个请求帧 所属的播放结束后停止。

存在布局问题时退出码为 1;提示(如图形超出画面)不计入问题。

用法:

$ manimgx inspect [OPTIONS] {FILE} [SCENE]

参数:

  • FILE: 场景文件:定义 ManimGX 场景的 Python 文件。 [required]
  • SCENE: 场景(文件中的一个类);仅当文件定义了多个场景时需要。

选项:

  • -t, --time TIME: 从开始的秒数,或 'end';多个时刻:重复 -t 或用逗号 分隔。
  • -o, --output <path>: 分镜图(.png)。[默认:文件旁的 .storyboard.png]
  • --help: 显示此帮助信息并退出。

manimgx preview

实时预览场景:在窗口中展示,每次保存代码时重新生成。

窗口在场景生成的同时播放。保存文件或其旁边导入的模块会重新运行场景,窗口保持 播放位置;错误显示在最后一帧正常画面之上。包含多个场景的文件播放指定的场景, 或第一个场景;按 N 和 P 切换其他场景。按键:空格 播放/暂停,← → 5 秒,, . 一帧, Option(或 Ctrl)加 ← → 一次播放,? 显示全部按键。关闭窗口或 Ctrl+C 停止。

用法:

$ manimgx preview [OPTIONS] {FILE} [SCENE]

参数:

  • FILE: 场景文件:定义 ManimGX 场景的 Python 文件。 [required]
  • SCENE: 场景(文件中的一个类);仅当文件定义了多个场景时需要。

选项:

  • -t, --time <float range>: 播放头起始位置,以秒为单位。 [default: 0.0; x>=0]
  • -r, --resolution WxH: 像素,如 1280x720。[默认:场景的 config,未设置则为 1920x1080]
  • --fps <int range>: 每秒帧数。[默认:场景的 config,未设置则为 60] [x>=1]
  • --help: 显示此帮助信息并退出。

manimgx present

演示场景:其各节即为幻灯片。

渲染视频,写入一个播放该视频的页面(在每个节末暂停,直到你继续),并打开它。 按键:→ 或空格 下一张,← 上一张,F 全屏,B 黑屏,Shift+P 演讲者视图 (备注、下一张幻灯片、计时器),C 字幕,? 帮助。翻页器可用:它发送相同的按键。 在场景中用 self.next_section(...) 开始一个节。

用法:

$ manimgx present [OPTIONS] {FILE} [SCENE]

参数:

  • FILE: 场景文件:定义 ManimGX 场景的 Python 文件。 [required]
  • SCENE: 场景(文件中的一个类);仅当文件定义了多个场景时需要。

选项:

  • -o, --output <path>: 视频文件(.mp4);页面写在其旁(.html)。[默认: 文件旁的 .mp4]
  • -r, --resolution WxH: 像素,如 1280x720。[默认:场景的 config,未设置则为 1920x1080]
  • --fps <int range>: 每秒帧数。[默认:场景的 config,未设置则为 60] [x>=1]
  • --pdf / --no-pdf: 同时写入 PDF:每张幻灯片结束时的画面,每张一页。 [default: no-pdf]
  • --open / --no-open: 在浏览器中打开页面。 [default: open]
  • --help: 显示此帮助信息并退出。