# 多摄像头实时监控系统 ## 项目概述 这是一个基于Flask的多摄像头实时监控系统,支持6个摄像头的网格布局显示,具有完整的登录认证、实时状态监控和摄像头控制功能。 ## 功能特性 ### 🎥 摄像头功能 - **6个摄像头网格布局**:3×2无缝连接网格 - **实时视频流**:直接嵌入原系统摄像头页面 - **独立摄像头控制**:每个摄像头可单独操作 - **摄像头编号切换**:支持0-7号摄像头切换 ### 🎛️ 控制功能 - **刷新所有摄像头**:一键刷新所有视频流 - **重新连接系统**:自动重新登录认证 - **全屏显示**:支持单个摄像头全屏显示 - **实时状态监控**:显示内存、CPU使用率和当前时间 ### 🔐 认证功能 - **自动登录**:使用预设账号密码自动认证 - **Session保持**:维持登录状态 - **自动重连**:检测连接状态并自动重连 ## 系统要求 ### 依赖包 ```bash Flask==2.3.3 requests==2.31.0 ``` ### Python版本 - Python 3.6+ ## 安装和运行 ### 方法一:直接运行(推荐开发环境) #### 1. 安装依赖 ```bash pip install Flask requests ``` #### 2. 运行应用 ```bash python3 complete_multi_camera_app.py ``` #### 3. 使用启动脚本 ```bash chmod +x start.sh ./start.sh ``` #### 4. 访问系统 打开浏览器访问:`http://127.0.0.1:5002` ### 方法二:Docker部署(推荐生产环境) #### 1. 构建Docker镜像 ```bash chmod +x docker-build.sh ./docker-build.sh ``` #### 2. 运行Docker容器 ```bash chmod +x docker-run.sh ./docker-run.sh ``` #### 3. 手动Docker命令 ```bash # 构建镜像 docker build -t multi-camera-monitor:latest . # 运行容器 docker run -d -p 5002:5002 --name multi-camera-app --restart unless-stopped multi-camera-monitor:latest ``` #### 4. 访问系统 打开浏览器访问:`http://localhost:5002` ### Docker管理命令 ```bash # 查看容器状态 docker ps # 查看容器日志 docker logs -f multi-camera-app # 停止容器 docker stop multi-camera-app # 重启容器 docker restart multi-camera-app # 进入容器 docker exec -it multi-camera-app bash # 删除容器 docker rm multi-camera-app # 删除镜像 docker rmi multi-camera-monitor:latest ``` ## 配置文件 ### 摄像头配置 在 `complete_multi_camera_app.py` 中的 `cameras` 列表配置摄像头信息: ```python self.cameras = [ { 'id': 1, 'room': 'cnfzhjyg-igv-251', 'camera': 'camera-0', 'name': '1号车', 'url': f"{self.camera_url}?room=cnfzhjyg-igv-251&camera=camera-0" }, # ... 其他摄像头配置 ] ``` ### 登录配置 在 `CompleteCameraManager` 类中配置登录信息: ```python self.username = "hao.wang@westwell-lab.com" self.password = "wh707297" ``` ## 使用说明 ### 界面布局 - **顶部控制栏**:刷新、重连按钮和系统状态显示 - **摄像头网格**:6个摄像头以3×2网格排列 - **摄像头控制**:每个摄像头下方有独立的控制按钮 ### 操作指南 1. **刷新摄像头**:点击摄像头下方的"刷新"按钮 2. **切换摄像头编号**:点击0-7数字按钮切换摄像头视角 3. **全屏显示**:点击"全屏"按钮进入全屏模式 4. **系统重连**:点击"重新连接"按钮重新登录系统 ### 状态监控 - **内存使用**:显示应用程序内存消耗(MB) - **CPU占用**:显示CPU使用率(%) - **当前时间**:实时显示系统时间 ## 技术架构 ### 前端技术 - **HTML/CSS**:响应式网格布局 - **JavaScript**:实时状态更新和摄像头控制 - **Flask模板**:动态内容渲染 ### 后端技术 - **Flask框架**:Web应用服务器 - **requests库**:HTTP请求处理 - **Session管理**:登录状态保持 ### 监控功能 - **内存监控**:使用Python内置方法获取内存使用 - **CPU监控**:估算CPU使用率 - **连接状态**:定期检查系统连接状态 ## 故障排除 ### 常见问题 1. **登录失败**:检查网络连接和账号密码 2. **摄像头无法显示**:检查摄像头URL配置 3. **端口占用**:修改应用启动端口 ### 日志文件 应用运行日志保存在 `complete_multi_camera.log` 文件中 ## 开发说明 ### 扩展功能 - 添加更多摄像头 - 实现录像功能 - 添加报警通知 - 支持移动端适配 ### 安全注意事项 - 定期更新账号密码 - 使用HTTPS加密传输 - 限制访问IP范围 ## 许可证 本项目仅供内部使用 ## 更新日志 - v1.0: 初始版本,支持6个摄像头网格布局和实时监控 - v1.1: 添加系统状态监控(内存、CPU、时间) - v1.2: 优化界面布局和控制功能