Skip to content

bbbbbfchh/video2ppt

Repository files navigation

Video2PPT — 视频转创意PPT

从视频中自动提取内容,通过AI分析生成创意PPT。小白也能用 🎯

功能

  • 输入任意视频(.mp4/.mov/.avi 等)
  • 自动提取音频 → 语音转文字 → AI分析内容 → 生成PPT
  • 支持中/英/日等多语种
  • 支持手动模板,也支持自动生成精美排版

三步使用

1. 安装

# 下载代码后,进入目录
cd video2ppt

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

还需要安装 ffmpeg(免费):

  • Windows: 打开 PowerShell(管理员),运行 winget install ffmpeg
  • Mac: 打开终端,运行 brew install ffmpeg
  • Linux: 运行 sudo apt install ffmpeg

装完后在命令行输入 ffmpeg -version,看到版本号说明成功。

2. 设置 API Key(选一个就行)

3. 运行

python main.py 你的视频.mp4 --llm claude

或者用 DeepSeek:

python main.py 你的视频.mp4 --llm deepseek

更多选项

# 指定输出文件名
python main.py 视频.mp4 --llm claude -o 我的PPT.pptx

# 使用自己的PPT模板
python main.py 视频.mp4 --llm claude -t 公司模板.pptx

# 用大模型提升识别准确率(比较慢但效果好)
python main.py 视频.mp4 --llm claude --whisper-model large-v3

# 指定视频语言(如果不指定会自动检测)
python main.py 中文讲座.mp4 --llm claude --lang zh
python main.py English.mp4 --llm openai --lang en

输出文件

运行完成后会在 output/ 文件夹生成:

文件 说明
xxx.pptx 最终PPT,可以直接打开
xxx.txt 视频转出来的文字稿
xxx.json AI生成的PPT大纲(JSON格式)

项目结构

video2ppt/
├── main.py              # 启动器(从这里运行)
├── pipeline.py          # 主流程(4个阶段串联)
├── audio_extractor.py   # 阶段1: 提取音频
├── transcriber.py       # 阶段2: 语音转文字
├── llm_analyzer.py      # 阶段3: AI分析内容(核心)
├── ppt_generator.py     # 阶段4: 生成PPT
├── models.py            # 数据模型
├── config.py            # 配置
├── requirements.txt     # 依赖列表
├── .gitignore           # Git忽略规则
└── README.md            # 本文件

常见问题

Q: 提示 "ffmpeg not found"? A: 没装 ffmpeg,按上面的安装方法装一下。

Q: 运行很慢? A: 第一次运行 Whisper 会下载模型文件(约 300MB),之后就好了。把 --whisper-model 改成 tiny 会更快(但准确率低一些)。

Q: 生成的PPT是英文的? A: 它会按视频语言自动匹配。中文视频生成的PPT标题就是中文的。

Q: 报错说 API Key 不对? A: 检查 Key 有没有填对,或者 Key 有没有余额。

技术原理

视频 → ffmpeg提取音频 → Whisper语音转文字 
→ LLM 7步推理链分析内容 → python-pptx生成PPT

LLM分析包含以下推理步骤:

  1. 语义分割(切分话题段落)
  2. 主题提取(每段核心观点)
  3. 层级重建(并列 vs 从属关系)
  4. 重点过滤(去口语化)
  5. 分页决策(一页讲什么)
  6. 创意增强(标题/配图/备注)
  7. 结构校验(逻辑是否连贯)

许可证

MIT

About

视频转创意PPT的自动生成工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages