276 lines
5.9 KiB
Markdown
276 lines
5.9 KiB
Markdown
|
|
# WVP-PRO 启动指南(使用 Java 17)
|
|||
|
|
|
|||
|
|
## 当前环境
|
|||
|
|
- ✅ Java 17 已安装
|
|||
|
|
- ✅ Node.js 已安装
|
|||
|
|
- ✅ Docker 已安装
|
|||
|
|
- ✅ 基础服务已启动(Redis、MySQL、ZLMediaKit)
|
|||
|
|
- ✅ pom.xml 已修改为 Java 17
|
|||
|
|
|
|||
|
|
## 方案一:使用 PowerShell 编译(推荐)
|
|||
|
|
|
|||
|
|
### 1. 打开 PowerShell(管理员权限)
|
|||
|
|
|
|||
|
|
```powershell
|
|||
|
|
cd C:\workspace\wvp-platform
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 使用 Docker 编译项目
|
|||
|
|
|
|||
|
|
```powershell
|
|||
|
|
docker run --rm -v "${PWD}:/app" -w /app eclipse-temurin:17-jdk cmd /c "apt-get update && apt-get install -y maven && mvn clean package -Dmaven.test.skip=true"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 检查编译结果
|
|||
|
|
|
|||
|
|
```powershell
|
|||
|
|
ls target\wvp-pro*.jar
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4. 配置连接参数
|
|||
|
|
|
|||
|
|
编辑 `src\main\resources\application-dev.yml`,确保以下配置正确:
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
spring:
|
|||
|
|
data:
|
|||
|
|
redis:
|
|||
|
|
host: 127.0.0.1
|
|||
|
|
port: 6379
|
|||
|
|
datasource:
|
|||
|
|
url: jdbc:mysql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
|
|||
|
|
username: wvp_user
|
|||
|
|
password: wvp_password
|
|||
|
|
|
|||
|
|
media:
|
|||
|
|
ip: 127.0.0.1
|
|||
|
|
http-port: 8080
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 5. 启动应用
|
|||
|
|
|
|||
|
|
```powershell
|
|||
|
|
java -jar target\wvp-pro-2.7.4-*.jar --spring.profiles.active=dev
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 方案二:安装 Maven 后编译
|
|||
|
|
|
|||
|
|
### 1. 下载 Maven
|
|||
|
|
|
|||
|
|
访问:https://maven.apache.org/download.cgi
|
|||
|
|
下载:apache-maven-3.9.6-bin.zip
|
|||
|
|
|
|||
|
|
### 2. 解压并配置环境变量
|
|||
|
|
|
|||
|
|
```powershell
|
|||
|
|
# 解压到 C:\Program Files\apache-maven-3.9.6
|
|||
|
|
|
|||
|
|
# 添加到系统PATH
|
|||
|
|
setx /M PATH "%PATH%;C:\Program Files\apache-maven-3.9.6\bin"
|
|||
|
|
|
|||
|
|
# 重启终端验证
|
|||
|
|
mvn -version
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 编译项目
|
|||
|
|
|
|||
|
|
```powershell
|
|||
|
|
cd C:\workspace\wvp-platform
|
|||
|
|
|
|||
|
|
# 编译前端
|
|||
|
|
cd web
|
|||
|
|
npm install --registry=https://registry.npmmirror.com
|
|||
|
|
npm run build:prod
|
|||
|
|
cd ..
|
|||
|
|
|
|||
|
|
# 编译后端
|
|||
|
|
mvn clean package -Dmaven.test.skip=true
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4. 启动应用
|
|||
|
|
|
|||
|
|
```powershell
|
|||
|
|
java -jar target\wvp-pro-2.7.4-*.jar --spring.profiles.active=dev
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 方案三:使用已编译的版本(最快)
|
|||
|
|
|
|||
|
|
如果您之前编译过项目,可以直接运行:
|
|||
|
|
|
|||
|
|
```powershell
|
|||
|
|
# 找到已编译的 jar 文件
|
|||
|
|
ls target\*.jar
|
|||
|
|
|
|||
|
|
# 直接运行
|
|||
|
|
java -jar target\wvp-pro-2.7.4-<timestamp>.jar --spring.profiles.active=dev
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 验证服务
|
|||
|
|
|
|||
|
|
### 1. 检查基础服务状态
|
|||
|
|
|
|||
|
|
```powershell
|
|||
|
|
docker ps --filter "name=polaris-"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
应该看到:
|
|||
|
|
- docker-polaris-redis-1 (健康运行)
|
|||
|
|
- docker-polaris-mysql-1 (健康运行)
|
|||
|
|
- docker-polaris-media-1 (运行中)
|
|||
|
|
|
|||
|
|
### 2. 测试数据库连接
|
|||
|
|
|
|||
|
|
```powershell
|
|||
|
|
docker exec -it docker-polaris-mysql-1 mysql -u wvp_user -pwvp_password -e "show databases;"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
应该看到 `wvp` 数据库。
|
|||
|
|
|
|||
|
|
### 3. 访问应用
|
|||
|
|
|
|||
|
|
启动后访问:
|
|||
|
|
- **管理后台**: http://localhost:18080
|
|||
|
|
- **API 文档**: http://localhost:18080/doc.html
|
|||
|
|
- **默认账号**: admin / admin
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 常见问题
|
|||
|
|
|
|||
|
|
### 1. 端口冲突
|
|||
|
|
|
|||
|
|
如果 18080 端口被占用:
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
# 修改 src/main/resources/application-dev.yml
|
|||
|
|
server:
|
|||
|
|
port: 28080 # 改为其他端口
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 数据库连接失败
|
|||
|
|
|
|||
|
|
检查 MySQL 是否健康:
|
|||
|
|
|
|||
|
|
```powershell
|
|||
|
|
docker logs docker-polaris-mysql-1
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. Redis 连接失败
|
|||
|
|
|
|||
|
|
检查 Redis 状态:
|
|||
|
|
|
|||
|
|
```powershell
|
|||
|
|
docker exec -it docker-polaris-redis-1 redis-cli ping
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
应该返回 `PONG`
|
|||
|
|
|
|||
|
|
### 4. ZLMediaKit 连接失败
|
|||
|
|
|
|||
|
|
检查 ZLMediaKit 日志:
|
|||
|
|
|
|||
|
|
```powershell
|
|||
|
|
docker logs docker-polaris-media-1
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 功能模块位置
|
|||
|
|
|
|||
|
|
### 主码流/子码流切换
|
|||
|
|
- **控制器**: `src/main/java/com/genersoft/iot/vmp/gb28181/controller/DeviceQuery.java`
|
|||
|
|
- **服务**: `src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/PlayServiceImpl.java`
|
|||
|
|
- **API**: `/api/play/{deviceId}/{channelId}/start` (带 streamType 参数)
|
|||
|
|
|
|||
|
|
### 云台控制(转向、拉近、拉远)
|
|||
|
|
- **控制器**: `src/main/java/com/genersoft/iot/vmp/gb28181/controller/PtzController.java`
|
|||
|
|
- **服务**: `src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/PTZServiceImpl.java`
|
|||
|
|
- **命令**: `src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java`
|
|||
|
|
- **API**:
|
|||
|
|
- `/api/front-end/{deviceId}/{channelId}/ptz` - PTZ控制
|
|||
|
|
- `/api/front-end/{deviceId}/{channelId}/left` - 左转
|
|||
|
|
- `/api/front-end/{deviceId}/{channelId}/right` - 右转
|
|||
|
|
- `/api/front-end/{deviceId}/{channelId}/up` - 上转
|
|||
|
|
- `/api/front-end/{deviceId}/{channelId}/down` - 下转
|
|||
|
|
- `/api/front-end/{deviceId}/{channelId}/zoom_in` - 拉近
|
|||
|
|
- `/api/front-end/{deviceId}/{channelId}/zoom_out` - 拉远
|
|||
|
|
|
|||
|
|
### 设备接入管理
|
|||
|
|
- **设备服务**: `src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceServiceImpl.java`
|
|||
|
|
- **注册处理**: `src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java`
|
|||
|
|
- **心跳处理**: `src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/MessageRequestProcessor.java`
|
|||
|
|
- **SIP层**: `src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 停止服务
|
|||
|
|
|
|||
|
|
### 停止 WVP 应用
|
|||
|
|
在运行窗口按 `Ctrl + C`
|
|||
|
|
|
|||
|
|
### 停止 Docker 服务
|
|||
|
|
```powershell
|
|||
|
|
cd docker
|
|||
|
|
docker compose down
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 只停止 WVP,保留基础服务
|
|||
|
|
```powershell
|
|||
|
|
cd docker
|
|||
|
|
docker compose stop polaris-wvp polaris-nginx
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 日志查看
|
|||
|
|
|
|||
|
|
### WVP 应用日志
|
|||
|
|
应用启动后,日志会输出到控制台和 `logs/` 目录
|
|||
|
|
|
|||
|
|
### Docker 服务日志
|
|||
|
|
```powershell
|
|||
|
|
# 查看所有服务日志
|
|||
|
|
cd docker
|
|||
|
|
docker compose logs -f
|
|||
|
|
|
|||
|
|
# 查看特定服务日志
|
|||
|
|
docker compose logs -f polaris-mysql
|
|||
|
|
docker compose logs -f polaris-redis
|
|||
|
|
docker compose logs -f polaris-media
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 下一步
|
|||
|
|
|
|||
|
|
### 1. 测试设备接入
|
|||
|
|
|
|||
|
|
配置国标设备连接到 WVP:
|
|||
|
|
- SIP 服务器: `你的IP地址`
|
|||
|
|
- SIP 端口: `8160`
|
|||
|
|
- SIP 域: `3502000000`
|
|||
|
|
- 设备ID: 20位国标编码
|
|||
|
|
- 密码: `wvp_sip_password`
|
|||
|
|
|
|||
|
|
### 2. 查看设备列表
|
|||
|
|
|
|||
|
|
访问 http://localhost:18080 后,在"国标设备"菜单查看已接入设备
|
|||
|
|
|
|||
|
|
### 3. 测试云台控制
|
|||
|
|
|
|||
|
|
在设备通道列表中,点击"云台控制"按钮测试
|
|||
|
|
|
|||
|
|
### 4. 测试视频播放
|
|||
|
|
|
|||
|
|
在通道列表中点击"播放"按钮,查看视频流
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
最后更新: 2026-02-02
|