利益相关:本文作者与极坐标⋅XYZ(jizuobiao.xyz)团队有关联。下面的边界按我们自己的实现和测试整理,结论请自行验证。
学 Manim、跟教程、做日常的短动画,免安装基本够用;少数场景还得回本地。免安装指的是两种用法:电脑浏览器里的极坐标⋅XYZ 工作区,和 iPhone / iPad 上的「Manim教程」App。两边跑的都是 Manim 社区版 0.21.0 本体,API 跟pip install manim装出来的一样,代码可以原样拿回电脑上跑。
真正要考虑的不是「能不能跑」,而是下面这几条边界。我按「够用」和「还得回本地」分开列。
一张表先看结论
| 你要做的事 | 浏览器工作区 | iPhone / iPad App | 本地安装 |
|---|---|---|---|
| 跑 Manim 社区版 0.21 的代码 | 能 | 能 | 能 |
MathTex/Tex公式 | 能,不用装 LaTeX | 能,不用装 LaTeX | 要装 LaTeX |
Typst/MathTypst公式 | 能,首次多下载约 13MB | 暂不支持 | pip install "manim[typst]" |
Typst 的#import在线包 | 不支持 | 不支持 | 能 |
| ManimGL(3b1b 版) | 不支持 | 不支持 | 能 |
| 导出视频 | MP4 / GIF,带水印 | MP4 | 能,无水印 |
| 渲染在哪 | 你的浏览器里,页面要联网打开 | 手机本机,不用联网 | 本机 |
| 和本地项目、Git 一起用 | Chrome / Edge 可直接打开本机文件夹 | 项目在 App 里 | 能 |
| Android 手机 | 手机浏览器能打开,但复杂场景容易被系统关掉 | 只在 Google Play 上架 | 不适用 |
够用的部分
写代码、看效果、导出视频。这是学 Manim 时最常做的循环。工作区里写完点运行,右边出动画,可以逐帧拖着看,导出 MP4 或 GIF 存到本机。代码和渲染都在浏览器里完成,视频编码也在本地做,不经过服务器。
写公式。本地环境最劝退的一步是装 LaTeX,TeX Live 好几个 G。免安装这边MathTex、Tex照常写,后台换了一套排版方式。Manim 0.21 新出的MathTypst在网页工作区也能用,分数写成(a+b)/2,求和写成sum_(k=1)^n。
在手机上改参数、重新渲染。App 把 Python 和 Manim 0.21.0 打包在里面,本机渲染。我们在 iPhone 17 Pro Max 上用 App 自带的渲染基准测过:一段 3 秒、45 帧的 1080p 2D 动画导出成 MP4,大多数场景 0.21 到 0.27 秒。逐帧出图比一台 M1 Max 上原生安装的 Manim 快 18% 到 38%。
还得回本地的情况
你用的是 ManimGL。这边跑的是社区版(Manim Community),3b1b 自己用的 ManimGL 不支持,两个版本写法不通用。网上找代码时先看是哪一版。
你需要精确的字体和文字效果。公式和文字的排版方式换过,默认字体可能跟你电脑上不同,个别文字样式会有细微差别。做对外发布、对字体有要求的片子,最后一版建议在本地渲。
你要在手机上写 Typst 公式,或者用 Typst 的#import包。App 目前不支持 Typst;网页工作区支持MathTypst,但不支持#import引入在线包。
你要无水印导出又不想付费。网页工作区导出的视频带 jizuobiao.xyz 水印,去水印要单独买,买了课程的自带。本地装的 Manim 没有这个问题。
你用 Android 手机,又装不了 Google Play。Android 版 App 目前只在 Google Play 上架。手机浏览器能打开网页工作区,但浏览器给单个网页的内存很紧,场景一复杂就可能被系统关掉。这种情况先用电脑浏览器。另外 Android 的渲染速度我们还没测。
你要渲很重的 3D 场景。这一条不是免安装特有的:3D 在 iPhone 上导出 1080p 要 4.5 秒,M1 Max 上原生跑也要 5 秒多。时间大多花在每帧对曲面小面的计算上,调低分辨率帮助不大,要从网格精度和对象数量下手。
两个容易被忽略的小差别
- 手机导出的文件更大。同一个场景,iPhone 用系统硬件编码器导出的 MP4 是 Mac 上 libx264 的 1.05 到 2.8 倍,硬件编码器默认码率更高。
- 拿一台老 Mac 比不公平。上面的对照组 M1 Max 是 2021 年的芯片,换新款 Mac 差距会缩小甚至反过来。能说的是「iPhone 17 Pro Max 渲 Manim 已经够得上一台好用的 Mac」,不是「手机比电脑快」。
我的建议
刚开始学、跟教程、做课件里的短动画,用免安装的就够了,省下的是装环境那一两天。碰到上面「还得回本地」里的任何一条,再在电脑上pip install manim。两边代码通用,前面写的东西不会白费。
原文和完整说明:jizuobiao.xyz/blog/manim-no-setup-browser-iphone-android