首页/新闻资讯/正文详情

做教学视频太累?我试了试“写代码就能生成视频“的 Code2Video

发布时间:2026/9/25 19:39:28 来源:云帆数科 栏目:资讯中心
做教学视频太累?我试了试“写代码就能生成视频“的 Code2Video
起因一节 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.htmlmacOS 上 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_pointHanoi 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-devmacOS 用brew install cairo pango。强烈建议装进虚拟环境别污染全局python3-mvenv venvsourcevenv/bin/activate pipinstallmanim2. API 调用失败按顺序排查key 填对没、网络能不能通、账号额度够不够、有没有触发限流。3. 生成的代码跑不起来先确认版本manim --version应该是 0.19.0。然后可以直接去输出目录里翻出生成的manim_code.py手动跑一遍看报什么错manim-pqlmanim_code.py GeneratedVideo4. 视频不够好看升级一下 LLM官方推荐 Claude-4-Opus或者在prompts/目录里改提示词模板再让 Critic 多迭代几轮通常在版面上能明显改善。5. 太慢 / 内存爆并行数别开太大PARALLEL_GROUP_NUM按 CPU 核心数来调试阶段用低质量预览出片再上高质量manim-pql# 低质量快速预览manim-pqh# 高质量慢一些再就是先拿MAX_CONCEPTS5小批量试别一上来就冲上百个主题。这东西适合谁什么时候别用它适合你如果要批量做教学视频且希望风格统一、可复现需要反复迭代画面细节改一行就能重出你写代码比用剪辑软件顺手做的是数学、计算机、物理这类适合动画演示的内容。别用它如果你要的是实拍或复杂特效你只是想要一条有艺术感的氛围短片你完全不想碰命令行和 Python 环境。写在最后Code2Video 最打动我的是它换了个思路——不再执着于让 AI 直接画视频而是让 AI 写能画出视频的代码。这个转向带来的好处很实在看得清、改得动、跑一百遍都是一个样。当然它也不是万能的本质上是教学动画自动生成器边界很清楚。但如果你恰好卡在这类需求上它值得花一个下午装起来试试。项目地址github.com/showlab/Code2Video项目主页showlab.github.io/Code2Video论文arXiv:2510.01174

相关推荐

华为OD机试真题 新系统 2026-09-09 JavaGoC【数列求值】
华为OD机试真题 新系统 2026-09-09 JavaGoC【数列求值】

目录 题目 思路 Code 题目 题目内容: 有一个连续的数列,它的前 7 个数为 1,2,3,4,5,6,7。从第 8 个数开始,每个数的值等于它所在位置前面最近连续 7 个数中,最大的两个数之和减去最小的两个数之和。 例如,第 8 个数由前面的 1,2,3,4,5,6,7 计算得到,即 6+7-1-2=10… · 2026/9/25 19:38:51

ArcGIS JS 基础教程(38):三维要素聚合 FeatureReduction
ArcGIS JS 基础教程(38):三维要素聚合 FeatureReduction

ArcGIS JS 基础教程(38):三维要素聚合 FeatureReduction零、写在前面一、功能介绍二、功能实现2.1 开启三维抽稀聚合2.2 动态开关聚合三、功能应用四、核心代码五、在线示例六、关键 API 说明七、系列导航零、写在前面 📌 本系列教… · 2026/9/25 19:38:45

基于Python数据筛选模块总结
基于Python数据筛选模块总结

1、需求 筛查范围:全部储能项目 筛查周期:近一个月 筛查策略:存在单体电压>=XXXXmV,且存在单体温度>=XXX℃,且电池簇总电压30s内降低10V 输出结果:设备号,时间,总电压,电流,SOC,最高最低电压,最高最低温度,单体电压,单体温度 2、整体思路 从influxdb获取… · 2026/9/25 19:38:45

OpenCodex Providers 工作区账户与导航基线审计——从契约证据到多账户激活场景的全链路梳理
OpenCodex Providers 工作区账户与导航基线审计——从契约证据到多账户激活场景的全链路梳理

【免费下载链接】opencodex Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code 项目地址: https://gitcode.com/gh_mirrors/ope/opencodex 点击… · 2026/9/25 20:08:58

Navicat for MySQL实战指南:安装、连接、导入导出与排错
Navicat for MySQL实战指南:安装、连接、导入导出与排错

简介:Navicat for MySQL是专为MySQL设计的图形化数据库管理及开发工具,主要面向数据库管理员、运维开发者和需要日常操作MySQL的人员。它提供直观的图形界面与丰富功能,包括多连接管理、SQL语法高亮与自动完成、可视化ER模型、数据导入导出、… · 2026/9/25 20:08:40

校园WiFi覆盖方案设计:AC+瘦AP、信道规划与POE供电避坑
校园WiFi覆盖方案设计:AC+瘦AP、信道规划与POE供电避坑

简介:面向学校信息化建设者与无线网络工程师,这份PDF文档提供了一套完整的校园无线WIFI覆盖需求综合解决方案。内容从项目概述、需求分析到室内外覆盖规划、产品选型与网络拓扑规划均有详细展开,重点涵盖设计原则(实用、可靠、安全… · 2026/9/25 20:08:40

基于 FluxCD 的多集群 GitOps 声明式配置同步与灾难恢复
基于 FluxCD 的多集群 GitOps 声明式配置同步与灾难恢复

基于 FluxCD 的多集群 GitOps 声明式配置同步与灾难恢复在构建跨越多个物理数据中心(如华东核心主集群 k8s-prod-east 华北异地容灾集群 k8s-prod-north)的企业级高可用架构时:如何确保两套物理隔离的 Kubernetes 集群中的 300 多个微服务配… · 2026/9/25 20:08:27

中国高校前100 · 代表专业就业、薪资与升学全景分析榜单口径:2025校友会中国大学排名(主榜/综合总榜)前100;专业口径:就业与薪酬最强的代表性专业或方向,而非“每一所学校唯一最好的专业”。薪
中国高校前100 · 代表专业就业、薪资与升学全景分析榜单口径:2025校友会中国大学排名(主榜/综合总榜)前100;专业口径:就业与薪酬最强的代表性专业或方向,而非“每一所学校唯一最好的专业”。薪

中国高校前100 代表专业就业、薪资与升学全景分析榜单口径:2025校友会中国大学排名(主榜/综合总榜)前100;专业口径:就业与薪酬最强的代表性专业或方向,而非“每一所学校唯一最好的专业”。薪资仅采用统一全… · 2026/9/25 20:08:09

Gliding Horse 上下文动态感知与智能压缩:用 RelevanceTracker 让 Agent 真正“听得进”每一句话
Gliding Horse 上下文动态感知与智能压缩:用 RelevanceTracker 让 Agent 真正“听得进”每一句话

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 20:08:09

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码