# 云眼视频监控平台
企业级开源视频监控与流媒体管理平台
多协议接入 · 国标级联 · 云端录像 · 地图可视化 · 一键 Docker 部署
开源社区
---

## 这个项目是做什么的?
**云眼视频监控平台**(原泉视 NVR 视频监控系统)是一套面向**企业、园区、门店、车队、政府项目**的视频监控一体化解决方案。你可以把它理解为一个「自建版萤石/海康平台」:
- 把摄像头、NVR、车载终端、国标平台等**统一接入**到一个 Web 后台;
- 在浏览器里完成**实时预览、录像回放、告警处理、地图定位**;
- 通过 **ZLMediaKit** 做流媒体转发,通过 **GB28181 / JT808·1078** 对接行业平台与车载设备;
- 基于 **RuoYi-Cloud 微服务** 架构,支持扩展用户权限、日志审计、定时任务等企业管理能力。
**适合谁用?**
| 场景 | 能做什么 |
|------|----------|
| 中小企业园区 | 多路监控、分屏查看、录像计划、云端存储 |
| 集成商 / 二次开发 | 开源可改、多协议适配、国标上下级级联 |
| 运维团队 | 设备在线状态、媒体节点、告警列表、服务监控 |
| 学习研究 | Spring Cloud + 流媒体 + 国标协议完整示例 |
---
## 核心能力一览
- **实时监看**:1 / 4 / 6 / 9 / 16 / 25 分屏,布局保存,云台控制,语音对讲(视协议而定)
- **设备接入**:RTSP、RTMP、FLV、HLS、ONVIF、GB28181、JT808/JT1078、海康 SDK、海康 ISUP、大华 SDK、推流等
- **录像能力**:设备录像 / 云端录像检索、回放、下载;录像计划按周时段配置
- **国标级联**:向上级平台注册、目录推送、远程点播 / 回放 / 云台
- **地图应用**:电子地图落点、设备树联动(天地图)
- **告警中心**:移动侦测等告警记录、批量处理、导出
- **系统管理**:用户 / 角色 / 菜单 / 部门、操作日志、Redis / 服务监控(RuoYi 体系)
---
## 技术架构(简要)
| 层级 | 技术 |
|------|------|
| 前端 | Vue 3 + Element Plus + Vite |
| 后端 | Spring Boot 3、Spring Cloud & Alibaba |
| 注册 / 配置 | Nacos |
| 缓存 / 会话 | Redis |
| 数据库 | MySQL 5.7 |
| 流媒体 | ZLMediaKit |
| 播放器 | EasyPlayer |
| 部署 | Docker Compose 一键拉起(推荐) |
---
## 快速开始(推荐:Docker 一键部署)
### 环境要求
- Windows 10/11 或 Linux
- [Docker Desktop](https://www.docker.com/products/docker-desktop/)(已启动)
- 首次完整构建需:**JDK 17**、**Maven 3.6+**(用于编译后端 JAR)
- 前端在 Docker 构建阶段自动 `npm build`,**本机无需安装 Node**
### 启动步骤
```powershell
# 1. 进入 Docker 目录
cd ruoyi-qs-nvr-master\docker
# 2. 一键:Maven 编译 → 复制 JAR/SQL → 启动全部容器(含前端 Nginx)
.\start.ps1
# 日常仅重启(跳过编译)
.\start.ps1 -SkipBuild -NoImageBuild
```
也可双击同目录下的 `start.bat`。
### 访问地址
| 服务 | 地址 |
|------|------|
| **Web 管理端(主入口)** | http://localhost |
| API 网关 | http://localhost:8080 |
| Nacos 控制台 | http://localhost:8848/nacos |
### 默认账号
- 用户名:`admin`
- 密码:`admin123`
首次启动 MySQL 初始化约 **2~5 分钟**,请等待 Nacos、网关变为健康后再登录。若验证码失败,可执行 `docker compose restart ruoyi-redis ruoyi-gateway`。
### 常用参数
| 参数 | 说明 |
|------|------|
| `-SkipBuild` | 跳过 Maven,使用已有 JAR |
| `-NoImageBuild` | 不重建镜像,仅重启容器 |
| `-ResetDb` | 清空 `mysql/data` 后重新初始化库 |
| `-WithVendorSdk` | 额外启动海康 / 大华 SDK 容器(需自备厂商原生库,见下文) |
### 海康 / 大华 SDK 说明
默认 **不启动** 海康、大华 SDK 微服务(镜像内无厂商 `.so` / `.dll`)。Windows 本机若已放置 SDK 到 `ruoyi-modules/*/lib`,可使用:
```powershell
.\start.ps1 -WithVendorSdk
```
---
## 本地开发(前后端分离)
### 后端
```powershell
cd ruoyi-qs-nvr-master
mvn clean package -DskipTests
# 按 RuoYi 文档分别启动 Nacos、Redis、MySQL 及各 ruoyi-* 模块
```
### 前端
```powershell
cd ruoyi-qs-nvr-ui-master
npm install
npm run dev
```
浏览器访问开发地址(一般为 `http://localhost:80` 或终端提示端口),接口代理指向网关 `/dev-api`。
### 环境变量(前端)
在 `ruoyi-qs-nvr-ui-master/.env.development` 中可配置:
- `VITE_APP_TITLE`:系统名称(默认「云眼视频监控平台」)
- `VITE_APP_LOGO`:Logo 图片 URL
---
## 目录结构
```
视频监控系统/
├── README.md # 本说明
├── images/ # 界面截图(文档用)
├── ruoyi-qs-nvr-ui-master/ # 前端 Vue 工程
└── ruoyi-qs-nvr-master/ # 后端微服务 + docker 一键部署
├── ruoyi-gateway/ # 网关 [8080]
├── ruoyi-auth/ # 认证中心
├── ruoyi-modules/ # 业务模块(设备、国标、ZLM、车载等)
└── docker/ # Docker Compose、start.ps1
```
后端模块主要包括:`ruoyi-qs`(核心业务)、`ruoyi-zlm`(流媒体)、`ruoyi-gb28181`、`ruoyi-jt1078`、`ruoyi-onvif`、`ruoyi-haikang`、`ruoyi-dahua` 等,详见 `ruoyi-qs-nvr-master` 内 `pom.xml`。
---
## 协议支持
### 流媒体协议
| 协议 | 说明 |
|------|------|
| RTSP / RTMP / HTTP-FLV / HLS / WebSocket-FLV | 通用拉流 / 播放 |
### 设备与行业标准
| 类型 | 说明 |
|------|------|
| ONVIF | 发现、云台、事件 |
| GB28181 | 国标设备接入、上下级级联 |
| JT808 / JT1078 | 部标车载终端与视频 |
| 海康 SDK / ISUP、大华 SDK | 厂商私有协议(需 SDK 文件) |
---
## 界面预览
以下为 **云眼视频监控平台** 实际运行界面(深色侧栏 + 青绿主题)。
### 分屏监控
多路实时预览,支持 1~25 分屏、设备树、布局保存。

### 设备管理
卡片式展示设备在线状态,支持国标、RTMP 等多协议,一键播放与配置。

### 录像回放
按设备、日期检索录像,支持设备录像与云端录像,时间轴播放控制。

### 云端录像
检索 ZLM 云端 MP4 片段,在线播放、下载、批量删除。

### 电子地图
天地图底图,设备落点与资源树联动,支持卫星视图。

### 录像计划
按周时段配置 7×24 录像计划,关联设备批量生效。

### 国标 GB28181 级联
上级平台注册、目录推送、通道关联与级联状态管理。

### 媒体节点
管理 ZLMediaKit 流媒体节点,负载与推拉流能力集中配置。

### 设备报警
告警列表、级别、处理状态,支持海康等 SDK 告警接入。

### 设备抓图
手动 / 定时抓图记录,预览与导出。

### 组织结构(行政区划)
按行政区域、业务分组管理设备,树形资源组 + 列表。

---
## 典型使用流程
```mermaid
flowchart LR
A[部署 start.ps1] --> B[登录 admin]
B --> C[媒体节点配置 ZLM]
C --> D[设备管理添加摄像头]
D --> E[分屏监控预览]
D --> F[录像计划 / 云端录像]
D --> G[国标级联可选]
E --> H[告警 / 地图 / 回放]
```
1. **部署**:Docker 一键启动全部服务。
2. **配置流媒体**:在「媒体节点」添加 ZLMediaKit 地址(安装包需自行部署 ZLM,或使用已有节点)。
3. **接入设备**:在「设备管理」按协议添加 RTSP / 国标 / 车载等。
4. **日常监看**:「分屏监控」选设备播放;「电子地图」查看位置。
5. **录像与合规**:配置「录像计划」、在「云端录像 / 录像回放」检索历史。
6. **级联上级**:在「国标级联」配置上级平台参数(项目需要时)。
---
## 常见问题
| 问题 | 处理建议 |
|------|----------|
| 验证码无法显示 | `docker compose restart ruoyi-redis ruoyi-gateway` |
| Nacos 启动失败 | 检查 `docker/.env` 中 `NACOS_AUTH_TOKEN` 是否配置 |
| 网关日志连 127.0.0.1:8848 | 使用最新 `docker-compose` 与 `start.ps1` 重建网关 |
| 海康 / 大华容器反复重启 | 默认未启用;需 `-WithVendorSdk` 且自备 SDK 库文件 |
| 界面仍显示旧名称 / 蓝色主题 | 浏览器执行 `localStorage.removeItem('layout-setting'); location.reload()` |
| 重新初始化数据库 | `.\start.ps1 -ResetDb`(会清空业务数据) |
---
## 开源与社区
- 顶部导航 **「开源社区」** 跳转:[https://www.gitcc.com](https://www.gitcc.com)
- 后端基于 [RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud) 微服务框架扩展
- 本项目开源免费用于学习与企业内部部署;生产环境请自行评估安全、备份与网络隔离
---
## 许可证
请遵循各子项目及依赖组件的开源协议(RuoYi、ZLMediaKit、厂商 SDK 等)。厂商 SDK 版权归海康、大华等公司所有,部署时需遵守其授权条款。
---
云眼视频监控平台 · 让多源视频接入更简单