# ViGent2 - 数字人口播视频生成系统

基于 **LatentSync 1.6 + EdgeTTS** 的开源数字人口播视频生成系统。

> 📹 上传静态人物视频 → 🎙️ 输入口播文案 → 🎬 自动生成唇形同步视频

---

## ✨ 功能特性

- 🎬 **唇形同步** - LatentSync 1.6 驱动，512×512 高分辨率 Diffusion 模型
- 🎙️ **TTS 配音** - EdgeTTS 多音色支持（云溪、晓晓等）
- 📱 **全自动发布** - 扫码登录 + Cookie持久化，支持多平台(B站/抖音/小红书)定时发布
- 🖥️ **Web UI** - Next.js 现代化界面
- 🚀 **性能优化** - 视频预压缩、常驻模型服务 (0s加载)

## 🛠️ 技术栈

| 模块 | 技术 |
|------|------|
| 前端 | Next.js 14 + TypeScript + TailwindCSS |
| 后端 | FastAPI + Python 3.10 |
| 唇形同步 | **LatentSync 1.6** (Latent Diffusion, 512×512) |
| TTS | EdgeTTS |
| 视频处理 | FFmpeg |
| 自动发布 | Playwright |

---

## 📂 项目结构

```
ViGent2/
├── backend/              # FastAPI 后端
│   ├── app/
│   │   ├── api/          # API 路由
│   │   ├── services/     # 核心服务 (TTS, LipSync, Video)
│   │   └── core/         # 配置
│   ├── requirements.txt
│   └── .env.example
├── frontend/             # Next.js 前端
│   └── src/app/
├── models/               # AI 模型
│   └── LatentSync/       # 唇形同步模型
│       └── DEPLOY.md     # LatentSync 部署指南
└── Docs/                 # 文档
    ├── DEPLOY_MANUAL.md  # 部署手册
    ├── task_complete.md
    └── DevLogs/
```

---

## 🚀 快速开始

### 1. 克隆项目

```bash
git clone <仓库地址> /home/rongye/ProgramFiles/ViGent2
cd /home/rongye/ProgramFiles/ViGent2
```

### 2. 安装后端

```bash
cd backend
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
```

### 3. 安装前端

```bash
cd frontend
npm install
```

### 4. 安装 LatentSync (服务器)

详见 [models/LatentSync/DEPLOY.md](models/LatentSync/DEPLOY.md)

```bash
# 创建独立 Conda 环境
conda create -n latentsync python=3.10.13
conda activate latentsync

# 安装依赖并下载权重
cd models/LatentSync
pip install -r requirements.txt
huggingface-cli download ByteDance/LatentSync-1.6 --local-dir checkpoints
```

### 5. 启动服务

```bash
# 终端 1: 后端 (端口 8006)
cd backend && source venv/bin/activate
uvicorn app.main:app --host 0.0.0.0 --port 8006

# 终端 2: 前端 (端口 3002)
cd frontend
npm run dev -- -p 3002

# 终端 3: LatentSync 服务 (端口 8007, 推荐启动)
cd models/LatentSync
nohup python -m scripts.server > server.log 2>&1 &
```

---

## 🖥️ 服务器配置

**目标服务器**: Dell PowerEdge R730

| 配置 | 规格 |
|------|------|
| CPU | 2× Intel Xeon E5-2680 v4 (56 线程) |
| 内存 | 192GB DDR4 |
| GPU | 2× NVIDIA RTX 3090 24GB |
| 存储 | 4.47TB |

**GPU 分配**:
- GPU 0: 其他服务
- GPU 1: **LatentSync** 唇形同步 (~18GB VRAM)

---

## 🌐 访问地址

| 服务 | 地址 |
|------|------|
| 视频生成 | http://服务器IP:3002 |
| 发布管理 | http://服务器IP:3002/publish |
| API 文档 | http://服务器IP:8006/docs |
| 模型API | http://服务器IP:8007/docs |

---

## 📖 文档

- [LatentSync 部署指南](models/LatentSync/DEPLOY.md)
- [手动部署指南](Docs/DEPLOY_MANUAL.md)
- [开发日志](Docs/DevLogs/)
- [任务进度](Docs/task_complete.md)

---

## 🆚 与 ViGent 的区别

| 特性 | ViGent (v1) | ViGent2 |
|------|-------------|---------|
| 唇形同步模型 | MuseTalk v1.5 | **LatentSync 1.6** |
| 分辨率 | 256×256 | **512×512** |
| 架构 | GAN | **Latent Diffusion** |
| 视频预处理 | 无 | **自动压缩优化** |

---

## 📄 License

MIT
