# ViGent2 - 数字人口播视频生成系统 基于 **LatentSync 1.6 + EdgeTTS** 的开源数字人口播视频生成系统。 > 📹 上传静态人物视频 → 🎙️ 输入口播文案 → 🎬 自动生成唇形同步视频 --- ## ✨ 功能特性 - 🎬 **唇形同步** - LatentSync 1.6 驱动,512×512 高分辨率 Diffusion 模型 - 🎙️ **TTS 配音** - EdgeTTS 多音色支持(云溪、晓晓等) - 🔊 **声音克隆** - Qwen3-TTS 1.7B,3秒参考音频快速克隆(更高质量) - 📝 **逐字高亮字幕** - faster-whisper + Remotion,卡拉OK效果 🆕 - 🎬 **片头标题** - 淡入淡出动画,可自定义 🆕 - 🤖 **AI 标题/标签生成** - GLM-4-Flash 自动生成标题与标签 🆕 - 📱 **全自动发布** - 扫码登录 + Cookie持久化,支持多平台(B站/抖音/小红书)定时发布 - 🖥️ **Web UI** - Next.js 现代化界面,iOS/Android 移动端适配 - 🔐 **用户系统** - Supabase + JWT 认证,**手机号登录** + 管理员后台 🆕 - ⚙️ **账户设置** - 修改密码 + 有效期显示 + 安全退出 🆕 - 👥 **多用户隔离** - 素材/视频/Cookie 按用户独立存储,数据完全隔离 - 🚀 **性能优化** - 视频预压缩、常驻模型服务 (0s加载)、本地文件直读、并发控制 - 🌐 **全局任务管理** - 跨页面任务状态同步,实时进度显示 ## 🛠️ 技术栈 | 模块 | 技术 | |------|------| | 前端 | Next.js 14 + TypeScript + TailwindCSS | | 后端 | FastAPI + Python 3.10 | | 数据库 | **Supabase** (PostgreSQL) 自托管 Docker | | 存储 | **Supabase Storage** (本地文件系统) | | 认证 | **JWT** + HttpOnly Cookie | | 唇形同步 | **LatentSync 1.6** (Latent Diffusion, 512×512) | | TTS | EdgeTTS | | 声音克隆 | **Qwen3-TTS 1.7B** | | 字幕渲染 | **faster-whisper + Remotion** | | 视频处理 | 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 # 部署手册 ├── AUTH_DEPLOY.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) --- ## 🌐 访问地址 | 服务 | 地址 | 说明 | |------|------|------| | **视频生成 (UI)** | `https://vigent.hbyrkj.top` | 用户访问入口 | | **API 服务** | `http://<服务器IP>:8006` | 后端 Swagger | | **认证管理 (Studio)** | `https://supabase.hbyrkj.top` | 需要 Basic Auth | | **认证 API (Kong)** | `https://api.hbyrkj.top` | Supabase 接口 | | **唇形同步服务** | `http://<服务器IP>:8007` | LatentSync | | **声音克隆服务** | `http://<服务器IP>:8009` | Qwen3-TTS | --- ## 📖 文档 - [手动部署指南](Docs/DEPLOY_MANUAL.md) - [Supabase 部署指南](Docs/SUPABASE_DEPLOY.md) - [Qwen3-TTS 部署指南](Docs/QWEN3_TTS_DEPLOY.md) - [字幕功能部署指南](Docs/SUBTITLE_DEPLOY.md) - [LatentSync 部署指南](models/LatentSync/DEPLOY.md) - [开发日志](Docs/DevLogs/) - [Day 15 - 手机号登录 + 账户设置](Docs/DevLogs/Day15.md) 🆕 - [任务进度](Docs/task_complete.md) --- ## 🆚 与 ViGent 的区别 | 特性 | ViGent (v1) | ViGent2 | |------|-------------|---------| | 唇形同步模型 | MuseTalk v1.5 | **LatentSync 1.6** | | 分辨率 | 256×256 | **512×512** | | 架构 | GAN | **Latent Diffusion** | | 视频预处理 | 无 | **自动压缩优化** | --- ## 📄 License MIT