12 KiB
12 KiB
ViGent 数字人口播系统 - 开发任务清单
项目:ViGent2 数字人口播视频生成系统
服务器:Dell R730 (2× RTX 3090 24GB)
更新时间:2026-01-27
整体进度:100%(Day 11 上传架构重构与稳定性增强)
📖 快速导航
| 章节 | 说明 |
|---|---|
| 已完成任务 | Day 1-4 完成的功能 |
| 后续规划 | 待办项目 |
| 进度统计 | 各模块完成度 |
| 里程碑 | 关键节点 |
| 时间线 | 开发历程 |
相关文档:
✅ 已完成任务
阶段一:核心功能验证
- EdgeTTS 配音集成
- FFmpeg 视频合成
- MuseTalk 唇形同步 (代码集成)
- 端到端流程验证
阶段二:后端 API 开发
- FastAPI 项目搭建
- 视频生成 API
- 素材管理 API
- 文件存储管理
阶段三:前端 Web UI
- Next.js 项目初始化
- 视频生成页面
- 发布管理页面
- 任务状态展示
阶段四:社交媒体发布
- Playwright 自动化框架
- Cookie 管理功能
- 多平台发布 UI
- 定时发布功能 (Day 7)
- QR码自动登录 (Day 7)
阶段五:部署与文档
- 手动部署指南 (DEPLOY_MANUAL.md)
- 一键部署脚本 (deploy.sh)
- 环境配置模板 (.env.example)
- 项目文档 (README.md)
- 端口配置 (8006/3002)
阶段六:MuseTalk 服务器部署 (Day 2-3)
- conda 环境配置 (musetalk)
- 模型权重下载 (~7GB)
- subprocess 调用方式实现
- 健康检查功能
- 实际推理调用验证 (Day 3 修复)
阶段七:MuseTalk 完整修复 (Day 4)
- 权重检测路径修复 (软链接)
- 音视频长度不匹配修复 (audio_processor.py)
- 推理脚本错误日志增强 (inference.py)
- 视频合成 MP4 生成验证
- 端到端流程完整测试
阶段八:前端功能增强 (Day 5)
- Web 视频上传功能
- 上传进度显示
- 自动刷新素材列表
阶段九:唇形同步模型升级 (Day 6)
- MuseTalk → LatentSync 1.6 迁移
- 后端代码适配 (config.py, lipsync_service.py)
- Conda 环境配置 (latentsync)
- 模型权重部署指南
- 服务器端到端验证
阶段十:性能优化 (Day 6)
- 视频预压缩优化 (高分辨率自动压缩到720p)
- 进度更新细化 (5% → 10% → 25% → ... → 100%)
- LipSync 服务单例缓存
- 健康检查缓存 (5分钟)
- 异步子进程修复 (subprocess.run → asyncio)
- 预加载模型服务 (常驻 Server + FastAPI)
- 批量队列处理 (GPU 并发控制)
阶段十一:社交媒体发布完善 (Day 7)
- QR码自动登录 (Playwright headless)
- 多平台上传器架构 (B站/抖音/小红书)
- B站发布 (biliup官方库)
- 抖音/小红书发布 (Playwright)
- 定时发布功能
- 前端发布UI优化
- Cookie自动管理
- UI一致性修复 (导航栏对齐、滚动条隐藏)
- QR登录超时修复 (Stealth模式、多选择器fallback)
- 文档规则优化 (智能修改标准、工具使用规范)
阶段十二:用户体验优化 (Day 8)
- 文件名保留 (时间戳前缀 + 原始名称)
- 视频持久化 (从文件系统读取历史)
- 历史视频列表组件
- 素材/视频删除功能
- 登出功能 (Logout API + 前端按钮)
- 前端 SWR 轮询优化
- QR 登录状态检测修复
阶段十三:发布模块优化 (Day 9)
- B站/抖音发布验证通过
- 资源清理保障 (try-finally)
- 超时保护 (消除无限循环)
- 小红书 headless 模式修复
- API 输入验证
- 完整类型提示
- 扫码登录等待界面 (加载动画)
- 抖音/B站登录策略优化 (Text优先)
- 发布成功审核提示
阶段十四:用户认证系统 (Day 9)
- Supabase 数据库表设计与部署
- JWT 认证 (HttpOnly Cookie)
- 用户注册/登录/登出 API
- 管理员权限控制 (is_active)
- 单设备登录限制 (Session Token)
- 防止 Supabase 暂停 (GitHub Actions/Crontab)
- 认证部署文档 (AUTH_DEPLOY.md)
阶段十五:部署稳定性优化 (Day 9)
- 后端依赖修复 (bcrypt/email-validator)
- 前端生产环境构建修复 (npm run build)
- LatentSync 性能卡顿修复 (OMP_NUM_THREADS限制)
- 部署服务自愈 (PM2 配置优化)
- 部署手册全量更新 (DEPLOY_MANUAL.md)
阶段十六:HTTPS 部署与细节完善 (Day 10)
- 隧道访问修复 (StaticFiles 挂载 + Rewrite)
- 平台账号列表 500 错误修复 (paths.py)
- Nginx HTTPS 配置 (反向代理 + SSL)
- 浏览器标题修改 (ViGent)
- 代码自适应 HTTPS 验证
- Supabase 自托管部署 (Docker, 3003/8008端口)
- 安全加固 (Basic Auth 保护后台)
- 端口冲突解决 (迁移 Analytics/Kong)
阶段十七:上传架构重构 (Day 11)
- 直传改造 (前端直接上传 Supabase,绕过后端代理)
- 后端适配 (Signed URL 签名生成)
- RLS 策略部署 (SQL 脚本自动化权限配置)
- 超时问题根治 (彻底解决 Nginx/FRP 30s 限制)
- 前端依赖更新 (@supabase/supabase-js 集成)
阶段十八:用户隔离与存储优化 (Day 11)
- 用户数据隔离 (素材/视频/Cookie 按用户ID目录隔离)
- Storage URL 修复 (SUPABASE_PUBLIC_URL 配置,修复 localhost 问题)
- 发布服务优化 (直接读取本地 Supabase Storage 文件,跳过 HTTP 下载)
- Supabase Studio 配置 (公网访问配置)
🛤️ 后续规划
🔴 优先待办
- 批量视频生成架构设计
- 字幕样式编辑器集成
🟠 功能完善
- 定时发布功能 ✅ Day 7 完成
- 批量视频生成
- 字幕样式编辑器
🔵 长期探索
- 声音克隆 (GPT-SoVITS)
- Docker 容器化
- Celery 分布式任务队列
📊 进度统计
总体进度
████████████████████ 100%
各模块进度
| 模块 | 进度 | 状态 |
|---|---|---|
| 后端 API | 100% | ✅ 完成 |
| 前端 UI | 100% | ✅ 完成 |
| TTS 配音 | 100% | ✅ 完成 |
| 视频合成 | 100% | ✅ 完成 |
| 唇形同步 | 100% | ✅ LatentSync 1.6 升级完成 |
| 社交发布 | 100% | ✅ Day 9 验证通过 |
| 用户认证 | 100% | ✅ Day 9 Supabase+JWT |
| 服务器部署 | 100% | ✅ Day 9 稳定性优化完成 |
🎯 里程碑
Milestone 1: 项目框架搭建 ✅
完成时间: Day 1
成果:
- FastAPI 后端 + Next.js 前端
- EdgeTTS + FFmpeg 集成
- 视频生成端到端验证
Milestone 2: 服务器部署 ✅
完成时间: Day 3
成果:
- PyTorch 2.0.1 + MMLab 环境修复
- 模型目录重组与权重补全
- MuseTalk 推理成功运行
Milestone 3: 口型同步完整修复 ✅
完成时间: Day 4
成果:
- 权重检测路径修复 (软链接)
- 音视频长度不匹配修复
- 视频合成 MP4 验证通过 (28MB → 3.8MB)
Milestone 4: LatentSync 1.6 升级 ✅
完成时间: Day 6
成果:
- MuseTalk → LatentSync 1.6 迁移
- 512×512 高分辨率唇形同步
- Latent Diffusion 架构升级
- 性能优化 (视频预压缩、进度更新)
Milestone 5: 用户认证系统 ✅
完成时间: Day 9 成果:
- Supabase 云数据库集成
- 安全的 JWT + HttpOnly Cookie 认证
- 管理员后台与用户隔离
- 完善的部署与保活方案
Milestone 6: 生产环境部署稳定化 ✅
完成时间: Day 9 成果:
- 修复了后端 (bcrypt) 和前端 (build) 的启动崩溃问题
- 解决了 LatentSync 占用全量 CPU 导致服务器卡顿的严重问题
- 完善了部署手册,记录了关键的 Troubleshooting 步骤
- 实现了服务 Long-term 稳定运行 (Reset PM2 counter)
📅 时间线
Day 1: 项目初始化 + 核心功能 ✅ 完成
- 后端 API 框架
- 前端 UI
- TTS + 视频合成
- 社交发布框架
- 部署文档
Day 2: 服务器部署 + MuseTalk ✅ 完成
- 端口配置 (8006/3002)
- MuseTalk conda 环境初始化
- subprocess 调用实现
- 健康检查验证
Day 3: 环境修复与验证 ✅ 完成
- PyTorch 降级 (2.5 -> 2.0.1)
- MMLab 依赖全量安装
- 模型权重补全 (dwpose, syncnet)
- 目录结构修复 (symlinks)
- 推理脚本验证 (生成593帧)
Day 4: 口型同步完整修复 ✅ 完成
- 权重检测路径修复 (软链接)
- audio_processor.py 音视频长度修复
- inference.py 错误日志增强
- MP4 视频合成验证通过
Day 5: 前端功能增强 ✅ 完成
- Web 视频上传功能
- 上传进度显示
- 自动刷新素材列表
Day 6: LatentSync 1.6 升级 ✅ 完成
- MuseTalk → LatentSync 迁移
- 后端代码适配
- 模型部署指南
- 服务器部署验证
- 性能优化 (视频预压缩、进度更新)
Day 7: 社交媒体发布完善 ✅ 完成
- QR码自动登录 (B站/抖音验证通过)
- 智能定位策略 (CSS/Text并行)
- 多平台发布 (B站/抖音/小红书)
- UI 一致性优化
- 文档规则体系优化
Day 8: 用户体验优化 ✅ 完成
- 文件名保留 (时间戳前缀)
- 视频持久化 (历史视频API)
- 历史视频列表组件
- 素材/视频删除功能
Day 9: 发布模块优化 ✅ 完成
- B站/抖音登录+发布验证通过
- 资源清理保障 (try-finally)
- 超时保护 (消除无限循环)
- 小红书 headless 模式修复
- 扫码登录等待界面 (加载动画)
- 抖音/B站登录策略优化 (Text优先)
- 发布成功审核提示
- 用户认证系统规划 (FastAPI+Supabase)
- Supabase 表结构设计 (users/sessions)
- 后端 JWT 认证实现 (auth.py/deps.py)
- 数据库配置与 SQL 部署
- 独立认证部署文档 (AUTH_DEPLOY.md)
- 自动保活机制 (Crontab/Actions)
- 部署稳定性优化 (Backend依赖修复)
- 前端生产构建流程修复
- LatentSync 严重卡顿修复 (线程数限制)
- 部署手册全量更新
Day 10: HTTPS 部署与细节完善 ✅ 完成
- 隧道访问视频修正 (挂载 uploads)
- 账号列表 Bug 修复 (paths.py 白名单)
- 阿里云 Nginx HTTPS 部署
- UI 细节优化 (Title 更新)
Day 11: 上传架构重构 ✅ 完成
- **核心修复**: Aliyun Nginx `client_max_body_size 0` 配置
- 500 错误根治 (Direct Upload + Gateway Config)
- Supabase RLS 权限策略部署
- 前端集成 supabase-js
- 彻底解决大文件上传超时 (30s 限制)
- **用户数据隔离** (素材/视频/Cookie 按用户目录存储)
- **Storage URL 修复** (SUPABASE_PUBLIC_URL 公网地址配置)
- **发布服务优化** (本地文件直读,跳过 HTTP 下载)