Files
wvp-platform/开始使用.md

325 lines
6.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 快速开始(使用 Java 17
## 📋 前置要求
✅ 已安装:
- Java 17已确认
- Node.js已确认
- Docker已确认
⚠️ 需要安装:
- **Maven 3.3+**
## 🔧 安装 Maven
### 方法一:手动安装(推荐)
1. **下载 Maven**
- 访问https://maven.apache.org/download.cgi
- 下载:`apache-maven-3.9.9-bin.zip`
- 国内镜像https://mirrors.aliyun.com/apache/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.zip
2. **解压到指定目录**
```
解压到C:\Program Files\apache-maven-3.9.9
```
3. **配置环境变量**
- 打开"系统属性" → "高级" → "环境变量"
- 在"系统变量"中找到 `Path`
- 点击"编辑" → "新建"
- 添加:`C:\Program Files\apache-maven-3.9.9\bin`
- 点击"确定"保存
4. **验证安装**
打开**新的** CMD 或 PowerShell
```cmd
mvn -version
```
应该显示:
```
Apache Maven 3.9.9
Maven home: C:\Program Files\apache-maven-3.9.9
Java version: 17.0.x
```
### 方法二:使用 Chocolatey如果已安装
```powershell
# 以管理员身份运行 PowerShell
choco install maven
```
### 方法三:使用 Scoop
```powershell
scoop install maven
```
---
## 🚀 启动步骤
### 第一次使用
1. **确保基础服务运行**
```cmd
cd docker
docker compose up -d polaris-redis polaris-mysql polaris-media
cd ..
```
2. **编译项目**
双击运行:`编译.bat`
或在 CMD 中:
```cmd
编译.bat
```
脚本会自动:
- ✅ 检查 Java 和 Maven
- ✅ 编译前端Vue
- ✅ 编译后端Spring Boot
- ✅ 检查基础服务状态
3. **启动应用**
双击运行:`启动.bat`
或在 CMD 中:
```cmd
启动.bat
```
4. **访问应用**
- 管理后台http://localhost:18080
- API 文档http://localhost:18080/doc.html
- 默认账号:`admin` / `admin`
### 后续使用
修改代码后,只需:
```cmd
编译.bat
启动.bat
```
---
## 📂 功能模块位置
### 1. 主码流/子码流切换
```
src/main/java/com/genersoft/iot/vmp/gb28181/
├── service/impl/PlayServiceImpl.java # 播放服务(包含码流切换逻辑)
├── controller/DeviceQuery.java # 设备查询控制器
└── bean/DeviceChannel.java # 通道实体streamType字段
```
**API 端点:**
- 主码流:`GET /api/play/{deviceId}/{channelId}/start?streamType=0`
- 子码流:`GET /api/play/{deviceId}/{channelId}/start?streamType=1`
### 2. 云台控制(转向、拉近、拉远)
```
src/main/java/com/genersoft/iot/vmp/gb28181/
├── controller/PtzController.java # 云台控制主接口
├── service/
│ ├── IPTZService.java # PTZ 服务接口
│ └── impl/PTZServiceImpl.java # PTZ 服务实现
├── transmit/cmd/impl/SIPCommander.java # 发送 SIP 命令
└── bean/
├── FrontEndControlCodeForPTZ.java # PTZ 控制码
└── FrontEndCode.java # 前端控制码
```
**API 端点:**
- 左转:`GET /api/front-end/{deviceId}/{channelId}/left`
- 右转:`GET /api/front-end/{deviceId}/{channelId}/right`
- 上转:`GET /api/front-end/{deviceId}/{channelId}/up`
- 下转:`GET /api/front-end/{deviceId}/{channelId}/down`
- 拉近:`GET /api/front-end/{deviceId}/{channelId}/zoom_in`
- 拉远:`GET /api/front-end/{deviceId}/{channelId}/zoom_out`
### 3. 无限制设备接入
```
src/main/java/com/genersoft/iot/vmp/gb28181/
├── service/impl/DeviceServiceImpl.java # 设备管理服务
├── transmit/event/request/impl/
│ ├── RegisterRequestProcessor.java # 设备注册处理
│ └── MessageRequestProcessor.java # 心跳和消息处理
├── SipLayer.java # SIP 协议层
└── dao/
├── DeviceMapper.java # 设备数据访问
└── DeviceChannelMapper.java # 通道数据访问
```
**性能配置:**
```yaml
# src/main/resources/application.yml
spring:
datasource:
hikari:
maximum-pool-size: 200 # 连接池大小
minimum-idle: 10
sip:
pool-size: 100 # SIP 线程池
```
---
## 🔍 常见问题
### 1. 编译失败Maven 命令未找到
**原因**Maven 未安装或环境变量未配置
**解决**:按照上面的"安装 Maven"步骤操作
### 2. 端口被占用
**错误**`Address already in use: bind`
**解决**:修改端口
```yaml
# src/main/resources/application-dev.yml
server:
port: 28080 # 改为其他端口
```
### 3. 数据库连接失败
**检查 MySQL 状态**
```cmd
docker ps | findstr mysql
docker logs docker-polaris-mysql-1
```
**测试连接**
```cmd
docker exec -it docker-polaris-mysql-1 mysql -u wvp_user -pwvp_password -e "show databases;"
```
### 4. Redis 连接失败
**检查 Redis**
```cmd
docker exec -it docker-polaris-redis-1 redis-cli ping
```
应该返回 `PONG`
---
## 📝 配置文件说明
### 开发环境配置
文件:`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?...
username: wvp_user
password: wvp_password
server:
port: 18080
media:
ip: 127.0.0.1
http-port: 8080
```
### Docker 配置
文件:`docker/.env`
```env
# 流媒体端口
MediaRtmp=10001
MediaRtsp=10002
MediaRtp=10003
# Web 端口
WebHttp=8080
# IP 配置(公网部署时需修改)
Stream_IP=127.0.0.1
SDP_IP=127.0.0.1
# SIP 配置
SIP_Port=8160
SIP_Domain=3502000000
```
---
## 🛠️ 服务管理
### 查看服务状态
```cmd
docker ps --filter "name=polaris-"
```
### 启动基础服务
```cmd
cd docker
docker compose up -d polaris-redis polaris-mysql polaris-media
```
### 停止所有服务
```cmd
cd docker
docker compose down
```
### 查看日志
```cmd
# WVP 日志(运行时控制台输出)
# Docker 服务日志
docker compose logs -f polaris-redis
docker compose logs -f polaris-mysql
docker compose logs -f polaris-media
```
---
## 📚 相关文档
- [完整启动指南](启动指南-Java17.md)
- [快速启动说明](QUICKSTART.md)
- [官方文档](https://doc.wvp-pro.cn)
- [GitHub](https://github.com/648540858/wvp-GB28181-pro)
---
## ⚡ 快捷命令
```cmd
# 一键编译
编译.bat
# 一键启动
启动.bat
# 查看服务状态
docker ps --filter "name=polaris-"
# 重新编译并启动
编译.bat && 启动.bat
```
---
最后更新2026-02-02