Back to skills
extension
Category: OtherNo API key required

PPT转培训视频

将 PPT/PPTX 演示文稿自动转化为带中文男声(Edge TTS 神经语音)讲解、1080p 视频、含可定制背景乐的培训视频。覆盖:自动导出幻灯片为高清 PNG、生成与画面一一对应的中文解说(TTS)、可选用"金句"字幕烧入、混入低音量环境背景乐。包含"解说稿审核"(字数 / 语速 / 用词一致性 / 重复检测)与"局部自定义"(单页重生成、换音色、单独调语速、保留中间产物只换背景乐等)能力。适用于:把项目评审、对外汇报、课程讲义等 PPT 转成可独立播放的视频讲解;将解说稿交给 AI 起草后再由人工逐句微调。

personAuthor: user_4f4b03a6hubcommunity

PPT → 培训视频自动化生成

把 PPT/PPTX 一键转成带浑厚男声讲解的 MP4 培训视频。完整支持解说稿审核与局部自定义。

何时使用

  • 把项目评审、对外汇报、课程讲义等 PPT 转成可独立播放的视频讲解
  • 需要 1080p 视频,含中文男声 + 可选轻量背景乐
  • 演示文稿 5-50 页,期望输出 5-30 分钟视频
  • 解说稿由 AI 起草后需要逐句人工审核、微调

何时不要使用

  • 视频时长 < 1 分钟(如产品 demo)→ 直接用屏幕录像
  • 需要真人出镜讲解 → 用录屏软件
  • 仅需要音频文件(不带画面)→ 直接调 TTS 即可
  • 解说稿包含方言 / 多人对话 / 实时互动 → 不在自动化能力内

技术栈

  • PPT → PNG:PowerPoint COM(Windows 必需)
  • TTS:Microsoft Edge TTS(edge-tts Python 包,神经语音)
  • 视频合成:FFmpeg(8.x+,含 libx264 与 libass)
  • 中文字体:Windows 内置 msyhbd.ttc(必装)

输入

1. PPT 文件

任意 .pptx(建议 16:9 宽屏,导出 1920×1080 PNG)

2. 解说稿 JSON

{
  "title": "方案汇报",
  "voice": "zh-CN-YunjianNeural",
  "rate": "+0%",
  "bgm": "ambient",
  "resolution": "1920x1080",
  "burn_subtitle": true,
  "slides": [
    {
      "page": 1,
      "text": "各位同事,今天我们分享...",
      "golden": "全球法规风险系统化管理方案"
    }
  ]
}

字段说明:

  • voice:Edge TTS 音色(见 references/voice-options.md
  • rate:语速(+10% 加速 / -5% 减速)
  • bgmambient(程序化环境氛围)/ silent(无背景乐)
  • burn_subtitle:是否烧入"金句"字幕
  • golden:该页字幕文本(可选;不填则不显示该页字幕)

输出

  • output.mp4:最终视频
  • output.frames/:每页 PNG
  • output.audio/:每段 TTS MP3
  • output.segments/:每页单段 MP4(用于局部重生成)
  • output.bgm.wav:背景乐源文件
  • output.narration.md:可读解说稿(含时长)
  • output.audit.json:审核结果
  • output.verify.json:自检报告

快速开始

# 安装依赖(一次性)
pip install edge-tts mutagen

# 1) 准备解说稿 JSON(可由 AI 起草后人工微调)
cp assets/narration-template.json my_narration.json
# 编辑 my_narration.json 填入每页 text 与 golden

# 2) 一键生成
python scripts/ppt2video.py run \
  --ppt my_deck.pptx \
  --script my_narration.json \
  --output my_video.mp4

# 3) 仅审核解说稿(不生成视频)
python scripts/ppt2video.py audit --script my_narration.json

工作流(5 步)

  1. 依赖自检:检查 ffmpeg、edge-tts、中文字体、PowerPoint
  2. 解说稿审核:字数、语速、用词一致性、重复检测(可选 --audit-only)
  3. 导出 PNG:PPT → 1920×1080 高清帧
  4. TTS 生成:每页一段 MP3,4 路并发
  5. 视频合成:每段 MP4 → 拼接 → 混 BGM → 可选烧字幕 → 输出

每步可独立重跑(幂等):已存在的文件会被复用。

局部自定义(核心亮点)

| 需求 | 命令 | |---|---| | 只重跑第 7 页(修正该页解说) | ppt2video.py regen-page --ppt ... --page 7 --text "新解说..." | | 第 12 页用女声(对比) | ppt2video.py set-voice --page 12 --voice zh-CN-XiaoxiaoNeural | | 整片加速 10% | 编辑 JSON 的 rate: "+10%",再跑 run | | 改背景乐 | ppt2video.py rebgm --input output.mp4 --output v2.mp4 | | 不烧字幕 | ppt2video.py run ... --no-subtitle | | 只跑 P3-P7 | ppt2video.py run ... --range 3-7 | | 跳过已生成段 | 自动(--force 强制重跑) |

审核规则(audit 子命令)

| 维度 | 检查 | 建议 | |---|---|---| | 字数 | 每段 80-200 字 | <80 偏短,>200 偏长 | | 语速 | 估算 2.5-4.5 字/秒 | 太慢显得拖沓,太快不易懂 | | 填充词 | 检测"嗯/啊/这个/那么" | 建议删减 | | 重复 | 与相邻页、与全文其他段 | 避免车轱辘话 | | 术语一致性 | 同一概念不同叫法 | 报告"CoP"还是"量产一致性"要统一 | | 涉敏词 | 政治 / 商业机密词 | 提醒复核 | | 来源声明 | 数字断言 | "70% 召回"需注明出处 |

输出 audit.json

{
  "summary": {"warnings": 3, "errors": 0, "total_chars": 2800},
  "issues": [
    {"page": 9, "type": "speed", "level": "warn", "msg": "语速 5.2 字/秒(建议 2.5-4.5)"},
    {"page": 5, "type": "terminology", "level": "info", "msg": "P5 用'REACH',P7 用'Reach',建议统一"}
  ]
}

关键约束

  • Windows 必需:PowerPoint COM 不可跨平台
  • 首次运行需联网:edge-tts 走 Microsoft 在线语音服务
  • 中文字体必须:缺 msyhbd.ttc 时字幕会变成方块
  • 路径中含中文不会出错:所有中间文件落到 C:\Temp\ppt2video_{ts}\ ASCII 目录

常见问题(详见 references/troubleshooting.md

  • TTS 失败 / 报"无法连接到 speech.platform.bing.com" → 检查代理
  • 输出视频无声 → 看 ffmpeg 是否支持 aac 编码
  • 字幕乱码 → 装 msyhbd.ttc 或改 force_style
  • PPT 路径含中文 → 已自动处理,复制到 ASCII 临时目录