PPT 一键转视频!slides2video这个开源工具让豆包 TTS 自动配音,再也不用熬夜录旁白了
2026/5/1 3:02:58 网站建设 项目流程

PPT 一键转视频!这个开源工具让豆包 TTS 自动配音,再也不用熬夜录旁白了

💡 做汇报 PPT 还要自己录音?slides2video 帮你把 HTML 幻灯片(或 PNG 图片)一键转成带 AI 旁白的 MP4 视频,100+ 音色随便挑,方言、英语、IP 仿音全都有!

📌 这是什么?

slides2video 是 ruilisi 团队开源的一个 PPT 视频生成工具,核心能力就一句话:把幻灯片 + 旁白文案 → 自动合成带配音的 MP4 视频

它底层使用字节跳动旗下豆包(Doubao)TTS 语音合成 API,支持 100+ 音色,覆盖普通话、方言(四川话/东北话/粤语/上海话等)、英语,甚至还有鲁班、诸葛亮、貂蝉等 IP 仿音。整个过程全自动,一条命令搞定。

🏠 项目地址:https://github.com/ruilisi/slides2video
🔊 TTS 引擎:豆包语音合成(火山方舟)


🎯 它能做什么?

能力说明
🎬PPT → 视频HTML 幻灯片或 PNG 图片自动转 MP4
🔊AI 语音旁白豆包 TTS 自动为每页幻灯片生成配音
🎭100+ 音色通用/解说/方言/IP 仿音/英语/客服/多情感等分类
📄多种输入格式HTML 幻灯片(Playwright 自动截图)或预渲染 PNG
🔧断点续跑支持--skip-screenshots/--skip-audio跳过已完成阶段
🎵无缝音频独创 PCM 二进制拼接技术,消除 AAC 编码器 ~23ms 间隙

🚀 5 分钟上手

第一步:安装依赖

# 安装 ffmpegbrewinstallffmpeg# 安装项目依赖npminstall# 安装 Playwright 浏览器(仅 HTML 幻灯片模式需要)npx playwrightinstallchromium

第二步:配置豆包 API Key

  1. 登录 火山方舟控制台
  2. 体验中心 → 语音模型 →开通语音模型(Doubao-语音合成)
  3. API Key 管理 → 新建 API Key,复制Access Token
  4. 应用管理 → 创建应用,复制App ID

在项目根目录创建.env文件:

DOUBAO_APP_ID=your_app_id DOUBAO_ACCESS_TOKEN=your_access_token DOUBAO_VOICE=zh_male_shaonianzixin_moon_bigtts # 可选,默认少年梓辛

📎 直达链接:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?tab=TTS

第三步:准备项目文件

ppt/ my-project/ scripts.json ← 旁白文案(必填) index.html ← 幻灯片(可选,用于 Playwright 截图) slide_01.png ← 预渲染图片(可选,有则跳过 Playwright) slide_02.png

scripts.json 格式

// 简单数组模式["第一页旁白内容。","第二页旁白内容。","第三页旁白内容。"]// 带音色覆盖模式{"voice":"zh_male_jieshuonansheng_mars_bigtts","scripts":["第一页旁白内容。","第二页旁白内容。"]}

也可以用scripts.txt,一行一页,空行忽略。

第四步:生成视频

nodegenerate-video.mjs ppt/my-project

输出:ppt/my-project/output.mp4🎉


🔍 核心原理揭秘

四阶段流水线

整个生成过程分为 4 个阶段,层层递进:

阶段做什么输出
Phase 1截图或复制幻灯片 PNGtmp/slide_NN.png
Phase 2调用豆包 V3 API 生成 TTS 音频tmp/slide_NN.pcm(24kHz PCM)
Phase 3编码每页短视频片段(libx264 + AAC)tmp/clip_NN.mp4
Phase 4拼接视频流 + 无缝拼接音频 → 最终封装output.mp4

无缝音频黑科技

这是项目最硬核的技术细节。如果直接拼接 AAC 音频流,每个片段之间会产生约 23ms 的编码器延迟间隙,听起来就是"咔咔"的爆音。

slides2video 的解法:

  1. 从每个 clip 中提取音频为原始 PCM(44.1kHz)
  2. 二进制拼接所有 PCM 数据(无损、无间隙)
  3. 最终封装时一次性编码为 AAC
┌──────────┐ ┌──────────┐ ┌──────────┐ │ clip_1 │ │ clip_2 │ │ clip_3 │ │ video+AAC│ │ video+AAC│ │ video+AAC│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ │ │ ▼ ▼ ▼ PCM_1 +──────► PCM_2 +──────► PCM_3 ← 二进制拼接 │ ▼ ┌─────────────────┐ │ 一次性 AAC 编码 │ │ + 视频流拷贝拼接 │ └────────┬────────┘ │ ▼ output.mp4 ← 无间隙!

图片解析优先级

  1. 预渲染 PNG 优先:如果slide_01.png ~ slide_NN.png全部存在,直接使用,无需 Playwright
  2. Playwright 截图兜底:如果缺少 PNG 但有index.html,启动无头 Chromium 截图

HTML 幻灯片需要提供一个goTo函数供脚本调用翻页:

window.goTo=function(i){slides.forEach((s,j)=>s.classList.toggle('active',j===i));cur=i;updateDots();};

🎭 音色大盘点

100+ 音色,按场景分类。这里挑最实用的介绍:

🏆 热门推荐

音色 ID名称最佳场景
zh_male_shaonianzixin_moon_bigtts少年梓辛/Brayan ⭐默认推荐,通用讲解
zh_male_yuanboxiaoshu_moon_bigtts渊博小叔知识讲解首选
zh_male_jieshuonansheng_mars_bigtts磁性解说男声 ⭐视频解说首选
zh_female_shuangkuaisisi_moon_bigtts爽快思思/Skye中英双语场景

🗣️ 方言音色

音色方言
四川话男/女声四川话
东北话男/女声东北话
陕西话男/女声陕西话
河南话男/女声河南话
粤语男/女声粤语
上海话男/女声上海话
台湾话男/女声台湾腔

👑 IP 仿音

鲁班、诸葛亮、曹操、西施、王昭君、貂蝉、杨贵妃——让你的 PPT 视频瞬间有了"历史人物"的味道。

🌍 英语音色

Adam、Anna、Bob、Clara 等 12 种美式英语音色(1.0),以及 Tim、Dacey、Stokie 三款 2.0 多语种音色。

查看全部音色:

nodegenerate-video.mjs --list-voices# 全部nodegenerate-video.mjs --list-voices 男# 按关键词筛选nodegenerate-video.mjs --list-voices 解说# 找解说类音色

⚡ 实用技巧

指定音色

# 用磁性解说男声nodegenerate-video.mjs ppt/my-project--voicezh_male_jieshuonansheng_mars_bigtts

断点续跑

跑了一半失败了?不用重来,跳过已完成的阶段:

# 截图和音频都有了,只重新编码+拼接(Phase 3+4)nodegenerate-video.mjs my-project --skip-screenshots --skip-audio# 截图有了,重新生成音频+编码+拼接(Phase 2+3+4)nodegenerate-video.mjs my-project --skip-screenshots

每个项目不同音色

scripts.json中指定 voice 字段即可:

{"voice":"zh_female_tianmeixiaoyuan_moon_bigtts","scripts":["大家好,欢迎来到今天的分享。","接下来我们看第二部分..."]}

⚖️ 优缺点分析

维度评分说明
🎯 易用性⭐⭐⭐⭐⭐一条命令出视频,零配置脚本
🔊 音色丰富度⭐⭐⭐⭐⭐100+ 音色,方言/IP/英语全覆盖
🏗️ 架构设计⭐⭐⭐⭐四阶段流水线清晰,断点续跑贴心
🎵 音频质量⭐⭐⭐⭐⭐无缝拼接技术解决 AAC 间隙问题
📚 文档质量⭐⭐⭐⭐README 详尽,音色表完整
🖥️ 跨平台⭐⭐⭐依赖 ffmpeg + Playwright,macOS/Linux 友好,Windows 需适配
🎨 可定制性⭐⭐⭐音色可选,但暂不支持自定义背景音乐、转场动画等

💡 适合谁?

  • ✅ 需要把 PPT/幻灯片快速转成讲解视频的职场人
  • ✅ 做在线课程、培训视频的教育工作者
  • ✅ 需要批量生成产品介绍视频的运营团队
  • ✅ 想用 AI 配音代替自己录音的"社恐"开发者
  • ✅ 需要方言/特色音色做短视频的自媒体创作者

⚠️ 注意事项

  • 需要豆包 TTS API 权限(火山方舟控制台开通)
  • TTS 调用有费用,具体看火山方舟定价
  • 目前仅支持静态幻灯片,不支持动画/转场效果
  • Windows 用户需自行安装 ffmpeg

📚 总结

slides2video 解决了一个很实际的问题:PPT 讲解视频的制作成本太高。以前要录音、对时间轴、剪辑,现在写好文案、选好音色,一条命令出成片。

技术上最亮眼的是无缝音频拼接——把 PCM 二进制拼好再一次性编码 AAC,彻底消灭了 AAC 流拼接时的 23ms 间隙。这种对细节的较真,才是好工具该有的样子。

100+ 音色是另一个杀手级优势。从普通话到方言,从解说风到 IP 仿音,覆盖了绝大多数中文视频场景。特别是"渊博小叔"和"磁性解说男声"这两个音色,真的很好听。

推荐指数:⭐⭐⭐⭐

扣一星是因为目前还不支持背景音乐、转场动画和自定义分辨率,期待后续更新。


📢 项目地址:https://github.com/ruilisi/slides2video
💬 你平时做 PPT 视频是怎么配音的?评论区聊聊!


标签:#PPT转视频 #豆包TTS #AI配音 #slides2video #火山方舟 #Node.js

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

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

立即咨询