初始提交:当前多摄像头监控系统代码
This commit is contained in:
197
README.md
Normal file
197
README.md
Normal file
@@ -0,0 +1,197 @@
|
||||
# 多摄像头实时监控系统
|
||||
|
||||
## 项目概述
|
||||
这是一个基于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: 优化界面布局和控制功能
|
||||
Reference in New Issue
Block a user