☰
做教学视频太累?我试了试“写代码就能生成视频“的 Code2Video
2026/9/25 19:39:25 网站建设 项目流程

起因:一节 5 分钟的动画讲解,能吃掉我一下午

做过知识类视频的人应该都有体会:真正费劲的不是把知识想明白,而是把知识"画出来"。

一个傅里叶级数的动画,从画坐标轴、调动画节奏,到把文字对齐,熟练的人也要小半天,不熟练的直接劝退。我平时写代码比用剪辑软件顺手,所以一直有个念头:能不能干脆用"写代码"的方式,把这类讲解动画做出来?

最近刷到一个开源项目 Code2Video,思路正好对上了。我翻了下它的仓库和论文,又自己跑了一遍,这篇就把过程和我关心的几个点说清楚。

一句话说清它是什么

Code2Video 是新加坡国立大学 Show Lab 做的一个框架:你给它一个知识点,比如"汉诺塔问题"“线性变换”“大语言模型原理”,它自动产出一条教学视频。

它跟常见 AI 视频最大的区别,在于用什么来生成:

  • 常见的 AI 视频(Sora、Veo、可灵那类)走的是像素级生成——模型一帧一帧地"画"出画面。
  • Code2Video 走的是代码级生成——它写出来的是 Manim 代码,再让代码渲染成视频。

【解释】:Manim是一个用 Python 写数学动画的引擎,3Blue1Brown 那些标志性的数学讲解视频就是用它做的。渲染就是把代码算成一帧一帧画面,再拼成视频。

打个比方更好理解:

  • 像素生成,像请画师直接画一张成品画——画完就定型了,想改一笔只能重画。
  • 代码生成,像先画出一份可编辑的图纸——图纸能反复复印、随时改动。视频第 10 秒想换个颜色,改一行代码重跑就行。

这就是它敢说自己"清晰、可重现、可调试"的底气,也是它和普通文生视频最本质的分野。

它内部是三个 AI 在打配合

我一开始以为它就是个"调大模型写 Manim 代码"的脚本,翻了下源码才发现里面分了三道工,各管一摊:

三个角色,可以理解成一个小型的视频制作小组:

智能体用大白话理解具体在干什么
Planner(规划)编剧把知识点拆成故事板:分几段、每段讲什么、配哪些动画
Coder(编码)程序员把故事板翻译成可执行的 Manim 代码
Critic(评审)美术指导让视觉模型"看"一眼生成效果,挑出版面重叠、留白不均的问题,退回去让 Coder 改

这里有个我觉得挺巧的设计:Critic 不是嘴上说说"不够好看",它会去分析画面里元素的重叠和留白,算出具体该挪到哪儿,再把坐标建议发给 Coder 重排。相当于给 AI 配了个会盯版面的美术。

Coder 那一步也不是"写一遍就完事",它会自己跑一遍代码看报错,根据错误信息回头改,有点像我们平时写代码的调试循环。

我实际跑了一遍

安装这块提前提醒一句:它依赖 Manim,系统级依赖没装好会直接卡住,这是最容易劝退的一步。

# 1. 克隆项目gitclone https://github.com/showlab/Code2Video.gitcdCode2Video/src# 2. 装 Python 依赖pipinstall-rrequirements.txt# 3. 装 Manim Community v0.19.0(版本一定要对上)# 参考官方安装指南:https://docs.manim.community/en/stable/installation.html

macOS 上 Manim 的两个前置库(cairo、pango)我是用 brew 补的:

brewinstallcairo pango

然后是配 API Key,文件是api_config.json:

{"LLM_API":{"provider":"anthropic","api_key":"你的key","model":"claude-4-opus"},"VLM_API":{"provider":"google","api_key":"你的key","model":"gemini-2.5-pro-preview-05-06"},"ICONFINDER_API_KEY":"可选,用来给视频补充图标素材"}

【解释】:LLM就是负责写代码的那个大语言模型,Planner 和 Coder 都靠它;VLM是"能看图的语言模型",Critic 用它来看画面挑毛病。项目方推荐的组合是 Claude-4-Opus 配 Gemini-2.5-Pro。

生成一条视频,一行命令就够:

shrun_agent_single.sh--knowledge_point"Hanoi Problem"

它会依次跑完 Planner 规划、Coder 写码、Critic 优化,最后执行代码渲染出视频,按项目说明默认落在CASES/TEST-single/目录下。

要批量做,就改long_video_topics_list.json里的主题列表,然后:

shrun_agent.sh# 脚本里可以调这几项:# FOLDER_PREFIX 输出文件夹前缀,比如 Math-Course-2026# MAX_CONCEPTS 生成几个(-1 表示全部)# PARALLEL_GROUP_NUM 并行跑几组

我拿"汉诺塔"试了一条,出来的画面长这样:

这是视频里的真实一帧,不是示意图。左边分点讲解规则,右边三根柱子用 A/B/C 标注,圆盘用不同颜色区分——很标准的数学动画风格。

先说直观感受:清晰度确实在线,文字和图形都很干净,没有像素生成视频那种"文字糊成一团"的毛病。当然,它本质上是在"画教学动画",不是在做写实视频,所以别指望它给你生成风景大片。

它给自己出了套"考卷"

光自己说好没用。这个项目做了个基准测试叫MMMC,包含 117 个精选学习主题,还配了真人手工制作的视频作为参考答案。

【解释】:基准测试(benchmark)就是一套统一的"考卷",大家都做同一套题,才能横向比高下。

评估分三个维度:

维度考什么怎么考
知识传递(TeachQuiz)看完视频到底学没学到自动出题、让人看完视频答题,看正确率
美学与结构(AES)画面好不好看、排版合不合理比照真人视频的质量标准打分
效率花多少 Token、跑多久统计三个智能体各自的 Token 消耗和渲染耗时

说实话,用"看完视频后答题的正确率"来衡量教学效果,比单纯比画面相似度要靠谱得多,也能看出这个项目是想认真做教育场景,而不是做个好看的 demo。

和另外两条路比一比

我把三种方案摆在一起,方便你判断:

对比项Code2Video传统文生视频(Veo3 / Wan2.2 等)手工剪辑
清晰度高(代码生成,文字清楚)中低(像素生成,文字易糊)高
可重现性完全可重现不可重现,每次都不一样可重现但费时
可调试性高,改代码即可几乎无从下手可改但流程繁琐
生成速度中等快慢
成本低(主要是 API 调用)中(算力)高(人力)
风格一致性高(代码控制)中低取决于制作者
教育场景专门优化通用,但不够清晰质量高但耗时

一句话总结:要"稳、清、能复用",选它;要"快、随便出个氛围视频",传统文生视频更省事;要"极致自由和特效",还是得手工来。

我踩过的几个坑

这部分也是从社区 issue 和论坛反馈里收集来的高频问题,碰到别慌:

1. Manim 装不上

八成是系统依赖缺失。Linux 上补build-essential python3-dev libcairo2-dev libpango1.0-dev,macOS 用brew install cairo pango。强烈建议装进虚拟环境,别污染全局:

python3-mvenv venvsourcevenv/bin/activate pipinstallmanim

2. API 调用失败

按顺序排查:key 填对没、网络能不能通、账号额度够不够、有没有触发限流。

3. 生成的代码跑不起来

先确认版本:manim --version应该是 0.19.0。然后可以直接去输出目录里翻出生成的manim_code.py,手动跑一遍看报什么错:

manim-pqlmanim_code.py GeneratedVideo

4. 视频不够好看

升级一下 LLM(官方推荐 Claude-4-Opus),或者在prompts/目录里改提示词模板,再让 Critic 多迭代几轮,通常在版面上能明显改善。

5. 太慢 / 内存爆

并行数别开太大,PARALLEL_GROUP_NUM按 CPU 核心数来;调试阶段用低质量预览,出片再上高质量:

manim-pql# 低质量,快速预览manim-pqh# 高质量,慢一些

再就是先拿MAX_CONCEPTS=5小批量试,别一上来就冲上百个主题。

这东西适合谁,什么时候别用它

适合你,如果:

  • 要批量做教学视频,且希望风格统一、可复现;
  • 需要反复迭代画面细节,改一行就能重出;
  • 你写代码比用剪辑软件顺手;
  • 做的是数学、计算机、物理这类适合动画演示的内容。

别用它,如果:

  • 你要的是实拍或复杂特效;
  • 你只是想要一条"有艺术感的氛围短片";
  • 你完全不想碰命令行和 Python 环境。

写在最后

Code2Video 最打动我的,是它换了个思路——不再执着于"让 AI 直接画视频",而是"让 AI 写能画出视频的代码"。这个转向带来的好处很实在:看得清、改得动、跑一百遍都是一个样。

当然它也不是万能的,本质上是"教学动画自动生成器",边界很清楚。但如果你恰好卡在这类需求上,它值得花一个下午装起来试试。


项目地址:github.com/showlab/Code2Video
项目主页:showlab.github.io/Code2Video
论文:arXiv:2510.01174

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询