File size: 2,300 Bytes
2bad007 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# 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` 中添加回退逻辑。
|