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