一天一个开源项目(第16篇):Code2Video - 用代码生成高质量教学视频的智能框架

引言

"如果生成教学视频就像写代码一样简单,那该多好?"

这是"一天一个开源项目"系列的第16篇文章。今天带你了解的项目是 Code2VideoGitHub)。

在AI视频生成领域,大多数模型都是基于像素的文本到视频生成,虽然能产生视觉效果,但在教育场景中往往缺乏清晰度、连贯性和可重现性。Code2Video 提出了一个革命性的代码中心范式:使用可执行的 Manim 代码作为统一媒介,通过多智能体系统自动生成高质量的教学视频。无论是汉诺塔问题、大语言模型原理,还是傅里叶级数,都能通过代码自动生成清晰、美观、可重现的教育视频。

为什么选择这个项目?

  • 🎬 代码中心范式:可执行代码作为视频生成的统一媒介,确保清晰度和可重现性
  • 🤖 三智能体系统:Planner(故事板扩展)、Coder(可调试代码合成)、Critic(布局优化)协同工作
  • 📚 MMMC基准测试:首个代码驱动视频生成基准,涵盖117个精选学习主题
  • 🎓 教育场景优化:专为教学视频设计,参考3Blue1Brown的高质量标准
  • 🏆 学术认可:已被NeurIPS 2025的Deep Learning for Code (DL4C) Workshop接受
  • 🧪 多维度评估:系统性评估效率、美学和端到端知识传递

你将学到什么

  • Code2Video 的代码中心范式和设计理念
  • 三智能体系统(Planner、Coder、Critic)的工作原理
  • 如何使用 Manim 代码生成教学视频
  • MMMC 基准测试的构建和评估方法
  • 如何配置和使用 Code2Video 生成视频
  • 与其他视频生成方法的对比分析
  • 实际教育场景中的应用案例

前置知识

  • 对AI视频生成有基本了解
  • 了解多智能体系统概念
  • 熟悉Python编程(可选,有助于理解代码生成)
  • 对教育视频设计有基本概念(可选)

项目背景

项目简介

Code2Video 是一个以代码为中心的智能体框架 ,用于从知识点生成高质量的教学视频。与基于像素的文本到视频模型不同,Code2Video 利用可执行的 Manim 代码来确保视频的清晰度、连贯性和可重现性。通过三智能体系统(Planner、Coder、Critic)的协同工作,自动将知识点转换为结构化的教学视频。

项目解决的核心问题

  • 传统文本到视频模型生成的教学视频缺乏清晰度和连贯性
  • 视频生成过程不可重现,难以调试和优化
  • 缺乏专门针对教育场景的视频生成工具
  • 视频质量评估缺乏系统性标准
  • 需要大量人工工作来创建高质量教学视频

面向的用户群体

  • 教育工作者和课程设计师
  • 在线教育平台开发者
  • AI视频生成研究者
  • 需要批量生成教学视频的机构
  • 对代码驱动视频生成感兴趣的技术人员

作者/团队介绍

团队:Show Lab @ National University of Singapore

  • 主要作者
    • Yanzhe Chen(陈彦哲)
    • Kevin Qinghong Lin(林庆宏)
    • Mike Zheng Shou(指导教授)
  • 背景:新加坡国立大学 Show Lab,专注于视频理解和生成研究
  • 项目创建时间:2025年
  • 学术成果:已被 NeurIPS 2025 的 Deep Learning for Code (DL4C) Workshop 接受
  • 理念:用代码创造清晰、美观、可重现的教育视频

项目数据

  • GitHub Stars: 1.5k+(持续增长中)
  • 🍴 Forks: 203+
  • 📦 版本: 持续更新中(95+ commits)
  • 📄 License: MIT(完全开源,自由使用)
  • 🌐 项目网站 : showlab.github.io/Code2Video
  • 📄 论文 : arXiv:2510.01174
  • 💬 社区: GitHub Issues 活跃,1个开放 Issue
  • 👥 贡献者: 3位核心贡献者

项目发展历程

  • 2025年9月:项目创建,发布初始版本
  • 2025年9月22日:被 NeurIPS 2025 的 DL4C Workshop 接受
  • 2025年10月2日:发布 arXiv 论文、代码和数据集
  • 2025年10月3日:在 Twitter 上获得广泛关注
  • 2025年10月6日:更新 MMMC 数据集的真实人工制作视频和元数据
  • 2025年10月11日:更新图标收集源(从 IconFinder 到 MMMC)
  • 2025年11月6日:优化 requirements.txt,安装时间减少80-90%
  • 2025年11月25日:达到 1000 stars 里程碑
  • 持续维护:项目持续活跃,社区贡献不断

主要功能

核心作用

Code2Video 的核心作用是通过代码自动生成高质量的教学视频,主要功能包括:

  1. 知识点到视频的自动转换:输入知识点,自动生成完整的教学视频
  2. 三智能体协同工作:Planner 规划故事板,Coder 生成 Manim 代码,Critic 优化布局和美学
  3. 可执行代码生成:生成可调试、可修改的 Manim 代码,而非像素级视频
  4. 多主题支持:支持数学、计算机科学、物理等多个领域的教学主题
  5. 高质量输出:参考 3Blue1Brown 的标准,生成清晰、美观的教学视频
  6. 系统性评估:提供知识传递、美学质量、效率等多维度评估

使用场景

Code2Video 适用于多种教育场景:

  1. 在线课程制作

    • 快速为在线课程生成教学视频
    • 批量生成多个知识点的视频内容
    • 保持视频风格的一致性
  2. 教育内容创作

    • 教育工作者快速制作教学视频
    • 将复杂概念可视化
    • 创建交互式教学内容
  3. 研究和评估

    • 研究代码驱动视频生成方法
    • 评估不同视频生成技术的效果
    • 构建教育视频生成基准测试
  4. 自动化内容生产

    • 教育平台批量生成视频内容
    • 将文本课程自动转换为视频课程
    • 多语言教育内容的快速生成

快速开始

安装方式

Code2Video 的安装需要几个步骤:

bash 复制代码
# 1. 克隆项目
git clone https://github.com/showlab/Code2Video.git
cd Code2Video/src

# 2. 安装依赖
pip install -r requirements.txt

# 3. 安装 Manim Community v0.19.0
# 参考官方安装指南:https://docs.manim.community/en/stable/installation.html

主要依赖

  • manim:数学动画引擎(Manim Community v0.19.0)
  • LLM API:用于 Planner 和 Coder(推荐 Claude-4-Opus)
  • VLM API:用于 Critic(推荐 gemini-2.5-pro-preview-05-06)
  • 其他 Python 依赖(见 requirements.txt)

配置 API Keys

api_config.json 中配置 API 凭证:

json 复制代码
{
  "LLM_API": {
    "provider": "anthropic",  // 或其他 LLM 提供商
    "api_key": "your-api-key-here",
    "model": "claude-4-opus"  // 推荐使用 Claude-4-Opus 获得最佳代码质量
  },
  "VLM_API": {
    "provider": "google",
    "api_key": "your-api-key-here",
    "model": "gemini-2.5-pro-preview-05-06"  // 用于布局和美学优化
  },
  "ICONFINDER_API_KEY": "your-iconfinder-api-key"  // 可选,用于丰富视频图标
}

最简单的使用示例

生成单个知识点的视频:

bash 复制代码
# 使用 run_agent_single.sh 脚本
sh run_agent_single.sh --knowledge_point "Linear transformations and matrices"

这个命令会:

  • Planner 智能体规划视频故事板
  • Coder 智能体生成 Manim 代码
  • Critic 智能体优化布局和美学
  • 执行 Manim 代码生成视频
  • 保存到 CASES/TEST-single/ 目录

常用命令示例

bash 复制代码
# 生成单个知识点视频
sh run_agent_single.sh --knowledge_point "Hanoi Problem"

# 批量生成多个主题(使用 long_video_topics_list.json)
sh run_agent.sh

# 在 run_agent.sh 中可以配置的参数:
# - API: 指定使用的 LLM
# - FOLDER_PREFIX: 输出文件夹前缀(如 TEST-LIST)
# - MAX_CONCEPTS: 包含的概念数量(-1 表示全部)
# - PARALLEL_GROUP_NUM: 并行运行的组数

核心特性

Code2Video 的核心特性包括:

  1. 代码中心范式

    • 使用可执行的 Manim 代码作为视频生成媒介
    • 代码可调试、可修改、可重现
    • 确保视频的清晰度和连贯性
  2. 三智能体系统

    • Planner:将知识点扩展为详细的故事板
    • Coder:根据故事板生成可执行的 Manim 代码
    • Critic:使用视觉语言模型优化布局和美学
  3. MMMC 基准测试

    • 首个代码驱动视频生成的基准测试
    • 涵盖 117 个精选学习主题
    • 参考 3Blue1Brown 的高质量标准
    • 包含真实人工制作视频作为评估标准
  4. 多维度评估

    • 知识传递(TeachQuiz):评估视频的教学效果
    • 美学和结构质量(AES):评估视频的视觉质量
    • 效率指标:评估 Token 使用和执行时间
  5. 模块化设计

    • 智能体系统可独立使用
    • 支持自定义提示模板
    • 灵活的配置系统
  6. 高质量输出

    • 参考 3Blue1Brown 的设计标准
    • 支持图标和视觉资源集成
    • 生成清晰、美观的教学视频

项目优势

与其他视频生成方法相比,Code2Video 的优势:

对比项 Code2Video 传统文本到视频模型 手动制作视频
清晰度 高(代码生成) 中低(像素生成) 高(人工控制)
可重现性 完全可重现 不可重现 可重现但耗时
可调试性 可调试代码 不可调试 可编辑但复杂
生成速度 快(自动化) 慢(人工制作)
成本 低(API调用) 中(计算资源) 高(人力成本)
一致性 高(代码控制) 中低 取决于制作者
教育适用性 专门优化 通用但不够清晰 高质量但耗时

为什么选择 Code2Video?

  • 代码驱动:生成可执行、可调试的代码,而非像素
  • 教育优化:专门为教学视频设计,参考最佳实践
  • 智能体系统:三智能体协同,自动化程度高
  • 系统性评估:提供完整的评估框架和基准测试
  • 学术认可:已被 NeurIPS 2025 接受
  • 开源免费:MIT 许可证,完全开源

项目详细剖析

架构设计

Code2Video 的整体架构采用三智能体协同设计:

scss 复制代码
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   Planner   │────▶│    Coder    │────▶│   Critic    │
│  (故事板)   │     │  (代码生成) │     │ (布局优化)  │
└─────────────┘     └─────────────┘     └─────────────┘
      │                    │                    │
      ▼                    ▼                    ▼
┌─────────────────────────────────────────────────────┐
│            Manim 代码执行和视频生成                   │
└─────────────────────────────────────────────────────┘
      │
      ▼
┌─────────────┐
│  视频输出   │
└─────────────┘

核心流程

  1. Planner 阶段:将知识点扩展为详细的故事板,包括场景、动画、说明等
  2. Coder 阶段:根据故事板生成可执行的 Manim 代码
  3. Critic 阶段:使用视觉语言模型评估和优化代码的布局和美学
  4. 执行阶段:运行 Manim 代码生成最终视频
  5. 评估阶段:使用多维度指标评估视频质量

核心模块分析

1. Planner 智能体

Planner 负责将知识点扩展为详细的故事板:

功能

  • 分析知识点的核心概念
  • 规划视频的结构和流程
  • 确定需要展示的动画和可视化
  • 生成详细的故事板描述

实现方式

  • 使用 LLM(推荐 Claude-4-Opus)进行故事板扩展
  • 基于提示模板生成结构化故事板
  • 考虑教育视频的最佳实践

2. Coder 智能体

Coder 负责根据故事板生成 Manim 代码:

功能

  • 将故事板转换为 Manim 代码
  • 生成可执行的动画代码
  • 确保代码的正确性和可读性
  • 处理复杂的数学和可视化需求

实现方式

  • 使用 LLM 生成 Manim 代码
  • 代码可以直接执行和调试
  • 支持 Manim Community v0.19.0 的语法

Manim 代码示例

python 复制代码
# 生成的 Manim 代码示例(简化版)
from manim import *

class LinearTransformation(Scene):
    def construct(self):
        # 创建矩阵
        matrix = Matrix([[2, 1], [1, 2]])
        self.play(Create(matrix))
        
        # 展示线性变换
        vector = Arrow(ORIGIN, [1, 1, 0], buff=0)
        self.play(Create(vector))
        
        # 应用变换
        transformed = matrix @ vector.get_end()
        self.play(Transform(vector, Arrow(ORIGIN, transformed, buff=0)))

3. Critic 智能体

Critic 负责优化代码的布局和美学:

功能

  • 使用视觉语言模型评估生成的代码
  • 优化布局和视觉元素的位置
  • 确保美学质量和视觉清晰度
  • 使用锚点(anchors)进行布局优化

实现方式

  • 使用 VLM(推荐 gemini-2.5-pro-preview-05-06)
  • 分析代码生成的视觉效果
  • 提供布局优化建议
  • 迭代改进代码质量

4. MMMC 基准测试

MMMC(Manim-based Multi-topic Multi-quality Code)是首个代码驱动视频生成的基准测试:

特点

  • 涵盖 117 个精选学习主题
  • 参考 3Blue1Brown 的高质量标准
  • 包含真实人工制作视频作为评估标准
  • 涵盖数学、计算机科学、物理等多个领域

评估维度

  1. 知识传递(TeachQuiz):评估视频的教学效果
  2. 美学和结构质量(AES):评估视频的视觉质量
  3. 效率指标:Token 使用和执行时间

使用方式

bash 复制代码
# 评估知识传递
python3 eval_TQ.py

# 评估美学和结构质量
python3 eval_AES.py

关键技术实现

1. 代码中心范式

Code2Video 的核心创新是使用代码作为视频生成的统一媒介:

优势

  • 可重现性:代码可以重复执行,生成相同的视频
  • 可调试性:可以修改代码来调整视频效果
  • 清晰度:代码生成的视频比像素生成更清晰
  • 可扩展性:可以轻松添加新的动画和效果

实现

  • 使用 Manim 作为代码执行引擎
  • 生成的代码符合 Manim Community 标准
  • 支持复杂的数学和可视化需求

2. 多智能体协同

三智能体系统通过模块化设计实现协同工作:

Planner → Coder → Critic 流程

python 复制代码
# 简化的工作流程
def generate_video(knowledge_point):
    # 1. Planner 生成故事板
    storyboard = planner.expand(knowledge_point)
    
    # 2. Coder 生成代码
    manim_code = coder.generate(storyboard)
    
    # 3. Critic 优化代码
    optimized_code = critic.optimize(manim_code)
    
    # 4. 执行代码生成视频
    video = execute_manim(optimized_code)
    
    return video

智能体间的信息传递

  • Planner 输出结构化故事板
  • Coder 接收故事板,生成代码
  • Critic 接收代码,提供优化建议
  • 支持迭代优化

3. 提示工程

Code2Video 使用精心设计的提示模板来指导智能体:

提示模板位置prompts/ 目录

提示类型

  • Planner 提示:指导故事板扩展
  • Coder 提示:指导代码生成
  • Critic 提示:指导布局优化

提示优化

  • 基于教育视频最佳实践
  • 参考 3Blue1Brown 的设计标准
  • 支持自定义和扩展

实际使用案例

案例1:在线数学课程制作

场景:在线教育平台需要为线性代数课程批量生成教学视频。

实现步骤

bash 复制代码
# 1. 准备知识点列表(long_video_topics_list.json)
# 包含:线性变换、矩阵运算、特征值等主题

# 2. 配置批量生成脚本
sh run_agent.sh

# 3. 配置参数
# API: claude-4-opus
# FOLDER_PREFIX: LinearAlgebra-Course
# MAX_CONCEPTS: -1  # 生成所有概念
# PARALLEL_GROUP_NUM: 4  # 并行生成4个视频

效果:自动生成一系列风格统一、清晰美观的线性代数教学视频,大大减少人工制作时间。

案例2:计算机科学概念可视化

场景:为"大语言模型原理"主题生成教学视频。

实现步骤

bash 复制代码
# 生成单个知识点视频
sh run_agent_single.sh --knowledge_point "Large Language Model"

# 系统会自动:
# 1. Planner 分析LLM的核心概念(注意力机制、Transformer等)
# 2. Coder 生成展示LLM架构的Manim代码
# 3. Critic 优化布局,确保清晰度
# 4. 生成最终视频

效果:生成清晰展示LLM工作原理的视频,包括注意力机制的可视化、Transformer架构的动画等。

案例3:物理概念教学

场景:为傅里叶级数生成教学视频。

实现步骤

bash 复制代码
sh run_agent_single.sh --knowledge_point "Pure Fourier Series"

# 生成的视频会展示:
# - 傅里叶级数的数学公式
# - 不同频率分量的叠加过程
# - 从方波到正弦波的分解动画

效果:通过动画直观展示傅里叶级数的数学原理,帮助学生理解抽象概念。

案例4:批量课程内容生成

场景:教育机构需要为多个学科生成教学视频。

实现步骤

bash 复制代码
# 1. 准备多学科主题列表
# 数学、物理、计算机科学等117个主题

# 2. 批量生成
sh run_agent.sh

# 3. 使用并行处理加速
PARALLEL_GROUP_NUM=8  # 8个并行任务

效果:快速生成大量高质量教学视频,保持风格一致性,适合大规模在线课程制作。


高级配置技巧

1. 自定义提示模板

Code2Video 使用提示模板来指导智能体,你可以自定义这些模板:

提示模板位置prompts/ 目录

自定义 Planner 提示

python 复制代码
# prompts/planner_prompt.txt
你是一个教育视频规划专家。请为以下知识点创建详细的故事板:

知识点:{knowledge_point}

要求:
1. 分析知识点的核心概念
2. 规划视频结构(引言、主体、总结)
3. 确定需要展示的动画和可视化
4. 考虑教育视频的最佳实践
5. 参考3Blue1Brown的风格

请生成详细的故事板...

自定义 Coder 提示

python 复制代码
# prompts/coder_prompt.txt
你是一个Manim代码生成专家。请根据以下故事板生成Manim代码:

故事板:{storyboard}

要求:
1. 使用Manim Community v0.19.0语法
2. 代码要清晰、可读、可执行
3. 包含必要的动画和可视化
4. 遵循Manim最佳实践

请生成完整的Manim代码...

2. 优化 API 配置

选择最佳 LLM

json 复制代码
{
  "LLM_API": {
    "provider": "anthropic",
    "api_key": "your-key",
    "model": "claude-4-opus",  // 最佳代码质量
    "temperature": 0.7,  // 控制创造性
    "max_tokens": 4000   // 控制输出长度
  }
}

配置 VLM 用于 Critic

json 复制代码
{
  "VLM_API": {
    "provider": "google",
    "api_key": "your-key",
    "model": "gemini-2.5-pro-preview-05-06",  // 最佳视觉理解
    "temperature": 0.3  // 较低温度确保一致性
  }
}

3. 批量生成优化

并行处理配置

bash 复制代码
# 在 run_agent.sh 中配置
PARALLEL_GROUP_NUM=8  # 根据CPU核心数调整

# 限制生成数量(用于测试)
MAX_CONCEPTS=10  # 只生成前10个概念

输出组织

bash 复制代码
# 使用有意义的文件夹前缀
FOLDER_PREFIX="Math-Course-2026"

# 输出结构:
# CASES/
#   └── Math-Course-2026/
#       ├── concept_1/
#       │   ├── video.mp4
#       │   ├── manim_code.py
#       │   └── storyboard.json
#       └── concept_2/
#           └── ...

4. Manim 代码后处理

生成的 Manim 代码可以进一步优化:

python 复制代码
# 生成的代码示例
from manim import *

class GeneratedVideo(Scene):
    def construct(self):
        # 可以手动编辑和优化
        title = Text("Linear Transformations")
        self.play(Write(title))
        # ... 更多代码

优化技巧

  • 调整动画时长和缓动函数
  • 优化颜色和字体选择
  • 添加更多视觉效果
  • 改进布局和排版

5. 集成到工作流

Python API 集成

python 复制代码
# 在你的 Python 项目中使用
from agent import Code2VideoAgent

# 初始化智能体
agent = Code2VideoAgent(
    llm_api_key="your-key",
    vlm_api_key="your-key"
)

# 生成视频
video_path = agent.generate_video(
    knowledge_point="Linear transformations and matrices",
    output_dir="./output"
)

print(f"视频已生成:{video_path}")

自动化脚本

python 复制代码
#!/usr/bin/env python3
# auto_generate.py

import subprocess
import json

# 读取主题列表
with open('long_video_topics_list.json', 'r') as f:
    topics = json.load(f)

# 批量生成
for topic in topics[:10]:  # 生成前10个
    knowledge_point = topic['name']
    print(f"生成视频:{knowledge_point}")
    
    subprocess.run([
        'sh', 'run_agent_single.sh',
        '--knowledge_point', knowledge_point
    ])
    
    print(f"✓ 完成:{knowledge_point}\n")

评估方法详解

1. 知识传递评估(TeachQuiz)

目的:评估视频的教学效果,即学生能否从视频中学习到知识。

评估方法

bash 复制代码
# 运行评估脚本
python3 eval_TQ.py

评估流程

  1. 为每个视频生成测试题目
  2. 让学生观看视频后回答问题
  3. 计算正确率作为知识传递指标

评估指标

  • 正确率:学生答题的正确率
  • 理解深度:学生对概念的理解程度
  • 知识保留:一段时间后的知识保留率

2. 美学和结构质量评估(AES)

目的:评估视频的视觉质量和结构合理性。

评估方法

bash 复制代码
# 运行评估脚本
python3 eval_AES.py

评估维度

  • 视觉清晰度:文字、图形是否清晰
  • 布局合理性:元素位置是否合理
  • 动画流畅性:动画是否流畅自然
  • 整体美观度:视频整体是否美观

评估标准

  • 参考 3Blue1Brown 的视频质量标准
  • 使用真实人工制作视频作为基准
  • 多维度综合评分

3. 效率指标

目的:评估生成过程的效率和成本。

评估指标

  1. Token 使用量

    • Planner 使用的 Token 数
    • Coder 使用的 Token 数
    • Critic 使用的 Token 数
    • 总 Token 使用量
  2. 执行时间

    • 故事板生成时间
    • 代码生成时间
    • 代码执行时间(Manim 渲染)
    • 总生成时间
  3. 成本估算

    • API 调用成本
    • 计算资源成本
    • 总成本

优化建议

  • 使用更高效的 LLM(如 Claude-4-Opus)
  • 优化提示模板减少 Token 使用
  • 并行处理提高效率
  • 缓存中间结果避免重复计算

4. 与基准对比

Code2Video 在 MMMC 基准测试中与以下方法对比:

方法 知识传递 美学质量 生成速度 可重现性
Code2Video 完全可重现
Veo3 不可重现
Wan2.2 不可重现
人工制作 可重现但耗时

Code2Video 的优势

  • 在知识传递和美学质量上接近人工制作
  • 生成速度比人工制作快得多
  • 完全可重现,可以调试和优化
  • 成本远低于人工制作

与其他视频生成工具的对比

Code2Video vs 传统文本到视频模型

传统文本到视频模型(如 Veo3、Wan2.2):

优势

  • 生成速度快
  • 支持多种风格
  • 不需要编程知识

劣势

  • 生成视频不可重现
  • 清晰度不够高
  • 不适合教育场景
  • 难以调试和优化

Code2Video

优势

  • 生成代码可重现、可调试
  • 清晰度高,适合教育
  • 专门为教学视频优化
  • 可以迭代改进

劣势

  • 需要 Manim 环境
  • 生成速度相对较慢
  • 主要适用于教育场景

Code2Video vs 手动视频制作

手动制作(如使用 After Effects、Premiere):

优势

  • 完全控制每个细节
  • 可以创建复杂效果
  • 质量最高

劣势

  • 耗时耗力
  • 需要专业技能
  • 成本高
  • 难以批量生产

Code2Video

优势

  • 自动化程度高
  • 可以批量生成
  • 成本低
  • 风格一致

劣势

  • 灵活性不如手动制作
  • 复杂效果支持有限
  • 需要调试和优化

适用场景选择

选择 Code2Video 当

  • ✅ 需要批量生成教学视频
  • ✅ 要求视频清晰、可重现
  • ✅ 需要快速迭代和优化
  • ✅ 预算有限但需要高质量

选择传统文本到视频当

  • ✅ 需要快速生成通用视频
  • ✅ 不需要可重现性
  • ✅ 非教育场景

选择手动制作当

  • ✅ 需要完全控制细节
  • ✅ 需要复杂特效
  • ✅ 预算充足且时间充裕

常见问题解决

问题1:Manim 安装失败

症状:安装 Manim Community v0.19.0 时出错。

解决方案

  1. 检查系统依赖

    bash 复制代码
    # Ubuntu/Debian
    sudo apt-get install build-essential python3-dev libcairo2-dev libpango1.0-dev
    
    # macOS
    brew install cairo pango
  2. 使用虚拟环境

    bash 复制代码
    python3 -m venv venv
    source venv/bin/activate  # Linux/macOS
    # 或
    venv\Scripts\activate  # Windows
    pip install manim
  3. 参考官方文档

问题2:API 调用失败

症状:LLM 或 VLM API 调用失败。

解决方案

  1. 检查 API Key

    json 复制代码
    {
      "LLM_API": {
        "api_key": "your-actual-api-key"  // 确保正确
      }
    }
  2. 检查网络连接

    • 确保可以访问 API 服务
    • 检查防火墙设置
  3. 检查 API 配额

    • 确认 API 账户有足够配额
    • 检查是否有速率限制

问题3:生成的代码执行失败

症状:Manim 代码生成后执行出错。

解决方案

  1. 检查 Manim 版本

    bash 复制代码
    manim --version  # 应该是 0.19.0
  2. 手动调试代码

    python 复制代码
    # 查看生成的代码
    # CASES/TEST-single/concept_name/manim_code.py
    
    # 手动运行测试
    manim -pql manim_code.py GeneratedVideo
  3. 检查依赖

    bash 复制代码
    pip install -r requirements.txt

问题4:视频质量不理想

症状:生成的视频清晰度或美观度不够。

解决方案

  1. 使用更好的 LLM

    • 推荐使用 Claude-4-Opus
    • 确保 API 配置正确
  2. 优化提示模板

    • prompts/ 目录中自定义提示
    • 参考 3Blue1Brown 的风格要求
  3. 使用 Critic 优化

    • 确保 VLM API 配置正确
    • 使用 gemini-2.5-pro-preview-05-06
  4. 手动后处理

    • 编辑生成的 Manim 代码
    • 调整颜色、字体、布局等

问题5:生成速度慢

症状:视频生成需要很长时间。

解决方案

  1. 使用并行处理

    bash 复制代码
    PARALLEL_GROUP_NUM=8  # 增加并行数
  2. 优化 Manim 渲染

    bash 复制代码
    # 使用低质量预览
    manim -pql  # 低质量,快速预览
    # 高质量渲染
    manim -pqh  # 高质量,较慢
  3. 减少概念数量

    bash 复制代码
    MAX_CONCEPTS=5  # 先测试少量概念

问题6:内存不足

症状:生成大型视频时内存溢出。

解决方案

  1. 减少视频复杂度

    • 简化故事板
    • 减少同时显示的元素
  2. 分批处理

    bash 复制代码
    # 分批生成,避免同时处理太多
    MAX_CONCEPTS=10
  3. 增加系统内存

    • 如果可能,增加系统 RAM
    • 使用更强大的机器

项目地址与资源

官方资源


适用人群

Code2Video 适合以下人群:

1. 教育工作者和课程设计师

  • ✅ 需要快速制作教学视频的教师
  • ✅ 在线课程平台的内容创作者
  • ✅ 希望将复杂概念可视化的教育工作者

2. 在线教育平台开发者

  • ✅ 需要批量生成视频内容的平台
  • ✅ 希望自动化内容生产的团队
  • ✅ 需要保持视频风格一致性的机构

3. AI 视频生成研究者

  • ✅ 研究代码驱动视频生成方法
  • ✅ 评估不同视频生成技术
  • ✅ 构建教育视频生成基准测试

4. 技术爱好者和开发者

  • ✅ 对多智能体系统感兴趣
  • ✅ 希望学习代码生成技术
  • ✅ 想要探索 AI 在教育中的应用

5. 内容创作者

  • ✅ 需要制作教学内容的 YouTuber
  • ✅ 希望提高视频制作效率的创作者
  • ✅ 需要将知识可视化的博主

总结

Code2Video 是一个创新的代码驱动视频生成框架,它通过可执行的 Manim 代码和多智能体系统,为教育视频生成提供了一个全新的范式。


欢迎来我中的个人主页找到更多有用的知识和有趣的产品

相关推荐
想用offer打牌3 小时前
MCP (Model Context Protocol) 技术理解 - 第一篇
后端·aigc·mcp
盛夏光年爱学习3 小时前
摘要、压缩与处理大工具输出的工程实践
aigc
一只大侠的侠3 小时前
Flutter开源鸿蒙跨平台训练营 Day7Flutter+ArkTS双方案实现轮播图+搜索框+导航组件
flutter·开源·harmonyos
聆风吟º3 小时前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann
一只大侠的侠4 小时前
Flutter开源鸿蒙跨平台训练营 Day9分类数据的获取与渲染实现
flutter·开源·harmonyos
一只大侠的侠5 小时前
Flutter开源鸿蒙跨平台训练营 Day 5Flutter开发鸿蒙电商应用
flutter·开源·harmonyos
一只大侠的侠6 小时前
Flutter开源鸿蒙跨平台训练营 Day6ArkUI框架实战
flutter·开源·harmonyos
AllData公司负责人6 小时前
AllData数据中台-数据同步平台【Seatunnel-Web】整库同步MySQL同步Doris能力演示
大数据·数据库·mysql·开源
一只大侠的侠7 小时前
Flutter开源鸿蒙跨平台训练营 Day 4实现流畅的下拉刷新与上拉加载效果
flutter·开源·harmonyos