Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
| # OSS 集成修改总结 | |
| ## 修改内容 | |
| ### 1. 新增文件 | |
| - **oss_utils.py**: 新建的 OSS 工具模块,包含: | |
| - OSS 客户端初始化 | |
| - 文件列表获取 (`list_oss_files`) | |
| - 文件下载 (`download_oss_file`) | |
| - 文件存在检查 (`oss_file_exists`) | |
| - 临时目录管理 (`get_user_tmp_dir`, `cleanup_user_tmp_dir`) | |
| - **.env.example**: OSS 环境变量配置示例 | |
| ### 2. 修改的文件 | |
| #### simulation.py | |
| - **导入 OSS 模块**: 添加了 `oss_utils` 的导入 | |
| - **重写 `stream_simulation_results` 函数**: | |
| - 支持从 OSS 读取图像文件 | |
| - 使用用户会话级别的临时目录 | |
| - 改进的错误处理和日志记录 | |
| - **重写 `create_video_segment` 函数**: | |
| - 使用用户特定的临时目录 | |
| - 更好的目录管理 | |
| - **新增 `process_remaining_oss_images` 函数**: | |
| - 处理 OSS 上剩余的图像文件 | |
| - **改进 `convert_to_h264` 函数**: | |
| - 更好的 ffmpeg 路径查找 | |
| - 改进的错误处理 | |
| #### app.py | |
| - **导入 OSS 模块**: 添加了 `oss_utils` 相关导入 | |
| - **重写 `run_simulation` 函数**: | |
| - 不再检查本地目录是否存在 | |
| - 从 OSS 下载最终视频文件 | |
| - 使用临时目录管理 | |
| - **更新 `cleanup_session` 函数**: | |
| - 添加了用户临时目录清理 | |
| #### requirements.txt | |
| - **添加 OSS 依赖**: `oss2>=2.15.0` | |
| #### README.md | |
| - **完全重写**: 添加了 OSS 配置说明和使用指南 | |
| ## 主要变化 | |
| ### 1. 数据源变更 | |
| - **之前**: 从本地文件系统读取图像和视频 | |
| - **现在**: 从阿里云 OSS 读取数据 | |
| ### 2. 临时文件管理 | |
| - **之前**: 使用固定的系统目录 | |
| - **现在**: 为每个用户会话创建独立的临时目录 | |
| ### 3. 错误处理 | |
| - **之前**: 基本的错误处理 | |
| - **现在**: 更全面的错误处理和日志记录 | |
| ### 4. 文件下载 | |
| - **之前**: 直接读取本地文件 | |
| - **现在**: 从 OSS 流式下载文件到临时目录 | |
| ## 配置要求 | |
| 使用此修改后的代码需要: | |
| 1. 安装 `oss2` Python 包 | |
| 2. 配置以下环境变量: | |
| - `OSS_ACCESS_KEY_ID` | |
| - `OSS_ACCESS_KEY_SECRET` | |
| - `OSS_ENDPOINT` | |
| - `OSS_BUCKET_NAME` | |
| ## 向后兼容性 | |
| 这些修改保持了 API 的兼容性,但改变了数据源。如果需要保持本地文件系统的支持,可以在 `oss_utils.py` 中添加回退逻辑。 | |