# 数字人换背景 **Repository Path**: yujing-tec/AI-change-background ## Basic Information - **Project Name**: 数字人换背景 - **Description**: 数字人换背景项目,支持视频、图片背景。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 11 - **Created**: 2025-06-24 - **Last Updated**: 2025-06-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数字人视频背景替换系统 ## 项目概述 这是一个数字人视频背景替换系统,采用模块化架构设计,提供了强大的视频背景替换功能,支持批量处理、实时预览、素材库管理等特性。 ## 🎯 主要特性 - 🎬 **视频背景替换**: 支持图片和视频背景替换 - 📚 **素材库管理**: 完整的文件上传、预览、分类管理 - ⏱️ **批量处理**: 支持多个数字人与背景的组合处理 - 🎛️ **参数预设**: 可保存常用的参数配置 - 📜 **历史记录**: 可查看处理历史和结果预览 - 🧠 **训练功能**: 支持语音模型训练和管理 - 📊 **实时预览**: 提供处理结果的实时预览功能 ## 🚀 快速开始 ### 环境要求 - Python 3.7+ - FFmpeg - 至少2GB内存 - 足够的磁盘空间存储视频文件 ### 安装步骤 #### Ubuntu/Debian ```bash sudo apt update sudo apt install ffmpeg ``` #### macOS (使用Homebrew) ```bash brew install ffmpeg ``` #### Windows 从 [FFmpeg官网](https://ffmpeg.org/download.html) 下载并配置环境变量 ### 配置环境变量 确保将FFmpeg添加到系统PATH环境变量中 ## 📡 API接口 系统提供以下主要API接口: - **文件上传**: 支持分片上传和普通上传 - **库管理**: 数字人库和素材库的管理 - **预览生成**: 实时生成处理预览 - **视频处理**: 视频背景替换处理 - **历史记录**: 查看处理历史 - **预设管理**: 参数预设的保存和管理 - **系统管理**: 系统状态监控和维护 ## 🛠️ 开发指南 ### 添加新功能 1. 在相应模块中创建新功能代码 2. 添加单元测试 3. 更新文档 4. 提交PR进行代码审查 ### 配置管理 系统配置通过`config.py`文件管理,支持开发、生产和测试三种环境配置 ### 数据库管理 使用SQLite作为默认数据库,包含以下主要数据表: - uploads: 上传文件记录 - tasks: 任务处理记录 - previews: 预览文件记录 - presets: 参数预设记录 ### 日志管理 系统日志默认存储在`logs/`目录下,使用按大小滚动的压缩日志文件 ## 🔧 部署指南 ### 开发环境部署 ```bash cd backend python app.py ``` ### 生产环境部署 #### 使用Gunicorn (推荐) ```bash pip install gunicorn gunicorn -w 4 -b 0.0.0.0:5000 app:app ``` #### 使用Waitress (Windows) ```bash pip install waitress waitress-serve --host=0.0.0.0 --port=5000 app:app ``` ### 反向代理配置 (Nginx) ```nginx location / { proxy_pass http://localhost:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location /socket.io { proxy_pass http://localhost:5000/socket.io; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } ``` #### 增加超时时间(用于视频处理) ```nginx proxy_read_timeout 300s; proxy_send_timeout 300s; ``` #### 增加上传限制 ```nginx client_max_body_size 100M; ``` ## 🐛 常见问题 ### FFmpeg相关问题 - **未安装**: - Windows: 下载FFmpeg并添加到PATH - Linux: `sudo apt install ffmpeg` - macOS: `brew install ffmpeg` - **权限问题**: 确保uploads、outputs等目录有写权限 - **端口被占用**: 修改app.py中的端口号 ## 📝 更新日志 ### v2.0.0 (当前版本) - 新增批量处理功能 - 优化视频处理性能 - 增强预设管理系统 ### v1.0.0 - 初始版本发布 - 基础的视频背景替换功能 - 素材库管理系统 ## 🤝 贡献指南 欢迎贡献代码和改进!请遵循以下步骤: 1. Fork仓库 2. 创建新分支 3. 提交代码更改 4. 创建Pull Request 5. 等待代码审查 ## 📄 许可证 本项目采用MIT许可证,详细信息请参阅LICENSE文件。 ## 📞 支持 如遇问题,请提供以下信息寻求帮助: 1. 操作系统版本 2. 错误截图 3. 控制台输出日志 4. logs目录下的日志文件