yizhi-chengzi/video-ai-talking
想做真人口播,又不必自己对着镜头念。上传一段真人出镜视频,写好字幕,本机配音并对口型,合成竖屏 MP4。密钥只留在浏览器里。
video-ai-talking – AI 驱动的「真人」对话头像视频生成器
是什么
- 一个本地运行的 Web 应用,将一个人的面部静止视频转换为完整的对话头像视频。您提供脚本(或让工具通过 DeepSeek 生成),应用会生成合成语音,使用 Alibaba Bailian VideoRetalk 进行唇形同步,再通过 FFmpeg 将所有内容组合,支持可选背景画面和字幕。
为何重要
- 让创作者无需录制配音或手动调整唇形同步即可制作「对话头像」视频。所有处理均在您的设备上完成——无需云服务器存储您的密钥或媒体。
核心组件
| 组件 | 作用 | 提供方 |
|---|---|---|
| 文本转语音 | 生成语音音频 | Alibaba Bailian CosyVoice 或 Volcengine(字节跳动)TTS |
| 唇形同步 | 将音频与面部动作对齐 | Alibaba Bailian VideoRetalk |
| 脚本生成(可选) | 根据主题自动生成旁白 | DeepSeek LLM |
| 视频合成 | 组合面部视频、生成语音、可选背景音乐和额外画面,添加字幕/标题 | FFmpeg(本地) |
所需条件
- Node 20+ 及已正确安装的 FFmpeg/ffprobe。
- 您计划使用的服务的 API 凭证:
- Bailian VideoRetalk(唇形同步必需)
- Bailian CosyVoice 或 Volcengine TTS(语音生成)
- DeepSeek(可选,用于 AI 生成脚本)
- 一段清晰的、正面拍摄的单人视频(无需语音)。
快速上手
# 克隆并安装
git clone https://github.com/yizhi-chengzi/video-ai-talking.git
cd video-ai-talking
cp .env.example .env
npm install
# 开发模式(在 http://127.0.0.1:5175 打开)
npm run dev
- 打开 Web UI,填写 配置 面板中的 API 密钥,并测试连接。
- 拖拽您的「对话头像」视频片段,添加所需的背景画面,选择 TTS 音色,手动编写脚本或让 AI 自动生成。
- 选择字幕/皮肤样式,点击 开始生成。流程为:TTS → VideoRetalk → FFmpeg → 最终 MP4。
- 完成的视频将出现在 库 面板中,可预览、下载或删除。
本地数据处理
- API 密钥仅存储在浏览器的
localStorage中(不会发送到远程服务器)。 - 所有中间文件(JSON 任务描述、原始音频、唇形同步视频、最终 MP4)均保存在项目
data/文件夹下。 - VideoRetalk 所需的临时上传文件将存储在 Alibaba 的 OSS 上约 48 小时,之后自动删除。
典型使用流程
- 配置 – 输入 Bailian VideoRetalk 密钥;选择 TTS 提供方并输入凭证。
- 加载源视频 – 清晰的正面拍摄的演讲者视频片段。
- 添加素材 – 可选背景音乐或全屏切入画面。
- 创建脚本 – 手动输入或让 DeepSeek 生成(可选长度、主题)。
- 选择皮肤 – 选择字幕样式、标题可见性等。
- 生成 – 应用一次性生成语音、唇形同步视频和最终 MP4。
- 审查 – 在库中观看或下载;如需可重新生成。
开发与测试
npm test运行单元测试,所有外部服务均被模拟。npm run typecheck检查 TypeScript 类型。- 设置
VAT_MOCK=1可模拟 TTS、VideoRetalk 和 DeepSeek,用于离线实验。
安全与许可
- MIT 许可,但请参阅内嵌的
DISCLAIMER.md、SECURITY.md和privacy.md了解使用警告(例如:人脸数据会临时上传至 Bailian 用于唇形同步)。 - README 中展示的演示视频来自免费可使用素材库,并非 本工具的实际用户。
总结:video-ai-talking 是一个实用、自托管的 AI 辅助对话头像视频生成工具,结合现代 TTS、唇形同步与视频合成技术,同时将所有数据保留在您自己的计算机上。
相关
- 项目
- 项目
- 项目
- 项目