wvp-GB28181-pro部署指南:3步实现国标视频平台快速上手指南

wvp-GB28181-pro部署指南:3步实现国标视频平台快速上手指南

【免费下载链接】wvp-GB28181-pro 【免费下载链接】wvp-GB28181-pro 项目地址: https://gitcode.com/GitHub_Trending/wv/wvp-GB28181-pro

引言:告别繁琐部署,3步搭建国标视频平台

你是否还在为GB28181视频平台部署繁琐、配置复杂而头疼?面对ZLM媒体服务器、数据库、Redis等多组件协同感到无从下手?本文将带你通过环境准备、容器化部署、验证与优化3个核心步骤,15分钟内完成wvp-GB28181-pro国标视频平台的搭建,让你专注于业务开发而非环境配置。

读完本文你将获得:

  • 一套完整的容器化部署方案,避免组件版本冲突
  • 关键配置参数的优化建议,解决90%的部署故障
  • 可视化架构图与排错指南,快速定位问题根源
  • 生产环境必备的性能调优与安全加固技巧

一、环境准备:5分钟完成依赖检查与资源配置

1.1 系统要求与依赖组件

wvp-GB28181-pro平台由多个组件构成,推荐使用Linux系统部署,最低配置要求如下:

组件推荐版本作用资源要求
Docker20.10+容器化运行环境2核4G内存
Docker Compose2.0+多容器编排工具无需额外资源
Git2.30+代码仓库管理无需额外资源
磁盘空间50GB+存储视频录像与日志SSD优先

1.2 端口规划与防火墙配置

平台运行需要开放多个端口,以下是必选端口清单(生产环境建议修改默认端口):

mermaid

必选端口列表

服务端口类型用途安全建议
WVP Web18978TCP管理界面与API生产环境建议修改
SIP信令8116TCP/UDP国标设备注册与控制必须开放,建议限制IP
ZLM HTTP6080TCP媒体流分发内部访问,不暴露公网
Redis6379TCP缓存与状态存储仅本地访问
MySQL3306TCP业务数据存储仅本地访问

防火墙配置示例(CentOS系统):

# 开放必选端口
firewall-cmd --zone=public --add-port=18978/tcp --permanent
firewall-cmd --zone=public --add-port=8116/tcp --permanent
firewall-cmd --zone=public --add-port=8116/udp --permanent
firewall-cmd --reload

# 查看已开放端口
firewall-cmd --list-ports

1.3 资源获取与代码克隆

使用Git克隆项目仓库(国内用户推荐使用GitCode镜像):

# 克隆代码仓库
git clone https://gitcode.com/GitHub_Trending/wv/wvp-GB28181-pro.git
cd wvp-GB28181-pro

# 查看项目结构
ls -la

项目关键目录说明

wvp-GB28181-pro/
├── docker/            # Docker部署配置
│   ├── docker-compose.yml  # 容器编排文件
│   └── wvp/           # WVP配置文件
├── doc/               # 官方文档
├── 数据库/            # 初始化SQL脚本
└── README.md          # 项目说明

二、容器化部署:10分钟一键启动完整平台

2.1 Docker Compose架构解析

本方案采用Docker Compose实现多容器协同,整体架构如下:

mermaid

2.2 核心配置文件修改

步骤1:修改Docker环境变量配置

# 进入Docker配置目录
cd docker

# 编辑环境变量配置(关键参数)
vi wvp/wvp/application-docker.yml

关键配置项说明(需根据实际环境修改):

# 数据库配置
spring:
  datasource:
    url: jdbc:mysql://polaris-mysql:3306/wvp?useUnicode=true&characterEncoding=UTF8
    username: wvp_user
    password: wvp_password  # 生产环境必须修改

# SIP服务器配置(核心)
sip:
  ip: 192.168.1.100        # 本机公网/内网IP
  port: 8116               # SIP信令端口
  id: 34020000002000000001 # 平台ID,符合GB28181规范

# 媒体服务器配置
media:
  ip: polaris-media        # ZLM容器名称
  http-port: 6080          # ZLM HTTP端口
  secret: su6TiedN2rVAmBbIDX0aa0QTiBJLBdcf  # 与ZLM配置一致

步骤2:修改ZLM媒体服务器配置

# 编辑ZLM配置文件
vi media/config.ini

关键配置项:

[general]
mediaServerId=polaris       # 与WVP配置一致
secret=su6TiedN2rVAmBbIDX0aa0QTiBJLBdcf  # 安全密钥

[http]
port=6080                   # HTTP服务端口
allow_cross_domains=1       # 允许跨域访问(开发环境)

[rtp_proxy]
port=10000                  # RTP代理端口
port_range=30000-30500      # RTP端口范围,需与WVP配置一致

2.3 一键启动与日志检查

步骤1:启动所有服务

# 后台启动所有容器
docker-compose up -d

# 查看容器状态
docker-compose ps

正常启动后应显示所有容器状态为Up

      Name                    Command               State                                   Ports
------------------------------------------------------------------------------------------------------------------
polaris-media        MediaServer -c /conf/config.ini ...   Up      0.0.0.0:10935->10935/tcp, 0.0.0.0:5540->5540/tcp
polaris-mysql        docker-entrypoint.sh --defaul ...   Up      3306/tcp
polaris-nginx        nginx -g daemon off;                 Up      0.0.0.0:8080->8080/tcp
polaris-redis        docker-entrypoint.sh redis-se ...   Up      6379/tcp
polaris-wvp          java -jar /opt/ylcx/wvp/wvp-p ...   Up      0.0.0.0:18978->18978/tcp, 0.0.0.0:8116->8116/tcp

步骤2:检查关键服务日志

# 查看WVP服务日志
docker-compose logs -f polaris-wvp

# 查看ZLM媒体服务器日志
docker-compose logs -f polaris-media

WVP启动成功标志:

2023-10-01 12:00:00.000  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 18978 (http) with context path ''
2023-10-01 12:00:00.001  INFO 1 --- [           main] c.g.wvp.WvpApplication                   : Started WvpApplication in 10.123 seconds (JVM running for 11.456)

2.4 数据库初始化验证

系统首次启动时会自动执行SQL初始化脚本,验证数据库表结构:

# 进入MySQL容器
docker exec -it polaris-mysql mysql -u root -p

# 输入密码后执行SQL查询
use wvp;
show tables;

应能看到所有初始化表,如wvp_devicewvp_media_server等。

三、验证与优化:5分钟完成功能验证与性能调优

3.1 服务状态验证

步骤1:访问Web管理界面

打开浏览器访问:http://服务器IP:18978,使用默认账号密码登录:

  • 用户名:admin
  • 密码:admin

首次登录后应立即修改默认密码:

# (可选)通过SQL命令修改密码
docker exec -it polaris-mysql mysql -u root -p wvp
UPDATE wvp_user SET password='新密码MD5值' WHERE username='admin';

步骤2:检查媒体服务器连接状态

在Web界面中依次点击:【系统配置】→【媒体服务器】,应显示ZLM服务器状态为"在线":

mermaid

3.2 设备接入测试

使用GB28181设备或模拟器测试接入,关键配置参数:

  • 平台ID:3402000000(与wvp配置一致)
  • 服务器地址:服务器IP
  • 服务器端口:8116(SIP端口)
  • 用户名/密码:设备ID/密码(需在平台预先配置)

设备接入流程:

  1. 在平台【设备管理】→【国标设备】中添加设备
  2. 配置设备ID、名称、密码等信息
  3. 启动设备,观察平台设备状态变为"在线"
  4. 点击【预览】按钮,验证视频流播放正常

3.3 生产环境优化配置

性能调优建议

  1. JVM参数优化(修改docker-compose.yml):
polaris-wvp:
  environment:
    - JAVA_OPTS=-Xms1024m -Xmx2048m -XX:+UseG1GC
  1. 数据库连接池优化(application-docker.yml):
spring:
  datasource:
    hikari:
      maximum-pool-size: 20
      minimum-idle: 5
      connection-timeout: 30000
  1. 媒体服务器性能调优(media/config.ini):
[rtp]
videoMtuSize=1400          # 优化UDP传输效率
lowLatency=1               # 开启低延迟模式

[general]
maxStreamWaitMS=5000       # 减少流等待时间
streamNoneReaderDelayMS=30000  # 无人观看时延迟断流

3.4 常见问题排查指南

故障排除流程

mermaid

典型问题解决

  1. SIP设备注册失败

    • 检查设备与平台网络连通性:telnet 服务器IP 8116
    • 验证SIP ID格式是否符合GB28181规范(18位数字)
    • 查看WVP日志:docker-compose logs polaris-wvp | grep SIP
  2. 视频流播放卡顿

    • 检查服务器CPU/内存使用率:docker stats
    • 验证网络带宽:iftop -i 网卡名称
    • 调整ZLM缓存参数:[rtp] lowLatency=1
  3. Web界面访问缓慢

    • 检查浏览器控制台网络请求耗时
    • 优化前端资源加载:启用Nginx gzip压缩
    • 清理Redis缓存:docker exec -it polaris-redis redis-cli FLUSHALL

四、总结与进阶指南

通过本文3个步骤,你已成功部署wvp-GB28181-pro国标视频平台:

  1. 环境准备:完成系统依赖与端口配置
  2. 容器化部署:通过Docker Compose一键启动服务
  3. 验证与优化:确认功能正常并进行生产环境调优

进阶学习路径

  • 集群部署:参考官方文档实现多节点负载均衡
  • 国标级联:配置平台级联实现跨区域视频共享
  • 二次开发:基于开放API构建自定义业务系统

资源获取

  • 官方文档:项目doc目录下的markdown文档
  • 社区支持:项目GitHub/Gitee Issue跟踪系统
  • 源码地址:https://gitcode.com/GitHub_Trending/wv/wvp-GB28181-pro

部署过程中遇到问题,可优先查看项目的doc/_content/qa/start_error.md文档,包含90%常见错误的解决方案。定期关注项目更新,及时获取安全补丁与功能优化。

【免费下载链接】wvp-GB28181-pro 【免费下载链接】wvp-GB28181-pro 项目地址: https://gitcode.com/GitHub_Trending/wv/wvp-GB28181-pro

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值