数字人平台

| 数字人生成 | 音色克隆 | TTS语音 | 唇形同步 | 直播推流

项目简介

一个功能完整的数字人网站,支持用户上传图像/视频创建数字人,录制声音提取音色,利用TTS将任意文本转为语音,并实现唇形同步生成最终视频;同时支持将视频推流至抖音、小红书等平台进行直播。

1

功能特性

用户系统

  • 用户注册/登录,使用JWT进行身份认证
  • 用户个人空间管理
  • 所有用户数据存储在数据库中

数字人生成模块

  • 上传正面人像照片或人物视频
  • 支持图像和视频两种输入方式
  • 保存数字人模型文件并关联至用户账号

音色克隆与TTS模块

  • 录制声音或上传音频文件克隆音色
  • 提取音色特征并保存模型
  • 输入任意文本,选择音色生成语音文件
  • 支持多音色管理

视频生成模块

  • 将生成的语音与数字人形象进行唇形同步
  • 输出最终合成视频
  • 支持选择背景、场景、分辨率等参数
  • 生成的视频保存到服务器并提供下载链接

推流直播模块

  • 直播间管理(创建直播间,配置推流参数)
  • 支持配置推流目标(抖音、小红书等平台)的RTMP地址和流密钥
  • 使用FFmpeg将视频文件循环推流
  • 支持直播排程:定时开始/结束推流
  • 记录直播历史
2

技术栈

层次 技术选型
后端框架Django + Django REST Framework
数据库SQLite(开发)/ MySQL(生产)
身份认证JWT (djangorestframework-simplejwt)
前端Vue 3 + Element Plus
视频/音频处理FFmpeg
推流FFmpeg 子进程调用
3

项目结构

language-bash
AIMan/
├── backend/                    # 后端代码
│   ├── core/                   # 核心应用
│   │   ├── models.py          # 数据模型
│   │   ├── serializers.py     # 序列化器
│   │   ├── views.py           # 视图
│   │   ├── urls.py            # 路由
│   │   └── ...
│   ├── digital_human/         # Django项目配置
│   │   ├── settings.py        # 项目设置
│   │   ├── urls.py            # 根路由
│   │   └── ...
│   ├── static/                # 静态文件
│   ├── requirements.txt       # 依赖包
│   └── manage.py              # Django管理脚本
├── frontend/                   # 前端代码
│   └── index.html             # 主页面
└── README.md                   # 项目文档
4

安装部署

环境要求

  • Python 3.9+
  • pip
  • FFmpeg(用于视频处理和推流)

后端部署

1. 进入后端目录

language-bash
cd backend

2. 安装依赖

language-bash
pip install -r requirements.txt

3. 运行数据库迁移

language-bash
python manage.py migrate

4. 创建超级用户(可选)

language-bash
python manage.py createsuperuser

5. 启动开发服务器

language-bash
python manage.py runserver

后端服务将在 http://127.0.0.1:8000/ 运行

前端部署

前端为纯HTML文件,直接使用浏览器打开 frontend/index.html 即可。

或者使用简单的HTTP服务器:

language-bash
cd frontend
python -m http.server 8080

前端将在 http://127.0.0.1:8080/ 运行

5

API接口

认证接口

  • POST/api/auth/login/- 用户登录
  • POST/api/auth/refresh/- 刷新Token

用户接口

  • POST/api/users/register/- 用户注册

数字人接口

  • GET/api/digital-humans/- 获取数字人列表
  • POST/api/digital-humans/- 创建数字人

音色模型接口

  • GET/api/voice-models/- 获取音色模型列表
  • POST/api/voice-models/- 创建音色模型

TTS接口

  • GET/api/tts-tasks/- 获取TTS任务列表
  • POST/api/tts-tasks/- 创建TTS任务

视频接口

  • GET/api/video-tasks/- 获取视频任务列表
  • POST/api/video-tasks/- 创建视频任务

直播接口

  • GET/api/live-streams/- 获取直播列表
  • POST/api/live-streams/- 创建直播
  • POST/api/live-streams/{id}/start/- 开始直播
  • POST/api/live-streams/{id}/stop/- 停止直播
6

使用说明

1. 注册登录

  • 访问前端页面
  • 点击"注册"进行用户注册
  • 使用用户名和密码登录

2. 创建数字人

  • 进入"数字人管理"页面
  • 输入数字人名称
  • 上传图片或视频文件
  • 点击"创建数字人"

3. 创建音色模型

  • 进入"音色管理"页面
  • 输入音色名称
  • 上传音频文件
  • 点击"创建音色模型"

4. 生成TTS语音

  • 进入"TTS生成"页面
  • 选择已创建的音色模型
  • 输入要转换的文本
  • 点击"生成语音"

5. 生成视频

  • 进入"视频生成"页面
  • 选择数字人和音频文件
  • 点击"生成视频"

6. 直播推流

  • 进入"直播管理"页面
  • 配置直播平台、RTMP地址和流密钥
  • 选择视频源
  • 点击"创建直播"
  • 点击"开始直播"开始推流
  • 点击"停止直播"结束推流

注意事项

7

后续优化

  • 集成真实的AI模型(SadTalker、Wav2Lip、GPT-SoVITS)
  • 添加任务队列(Celery + Redis)处理耗时任务
  • 实现WebSocket实时推送任务进度
  • 添加视频预览功能
  • 优化前端界面,添加更多交互功能
  • 添加单元测试和集成测试
  • 完善错误处理和日志记录
8

许可证

MIT License