# 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-.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