Windows环境快速部署WVP+ZLMediaKit:GB28181视频流获取实战指南
2026/4/17 17:33:25 网站建设 项目流程

1. 环境准备:搭建WVP+ZLMediaKit的基础条件

在Windows系统下部署WVP(Web Video Platform)和ZLMediaKit组合方案前,需要准备好基础运行环境。我去年给某园区部署监控平台时就因为漏装了一个组件,折腾了大半天才发现问题。这里把必备工具和注意事项都列出来,帮你避开这些坑。

首先需要安装五大基础组件:

  • Java开发环境:推荐JDK 1.8或11版本,记得配置JAVA_HOME环境变量。有个简单验证方法:在cmd输入java -version能显示版本号就说明装对了
  • MySQL数据库:5.7或8.0版本都可以,建议用MySQL Workbench管理更方便
  • Node.js环境:用于前端编译,安装时记得勾选"Add to PATH"选项
  • Maven构建工具:建议3.6+版本,装好后在命令行运行mvn -v测试
  • Git版本控制:用来拉取项目代码,安装时选择"Use Git from Windows Command Prompt"

注意:所有安装路径不要包含中文或空格,我之前有个项目因为路径里有"程序文件"四个字导致编译失败。

验证环境是否齐全可以用这个命令组合:

java -version && mvn -v && node -v && npm -v && git --version

如果发现某个命令不识别,就需要检查对应软件的安装和环境变量配置。建议在开始菜单搜索"环境变量",在系统属性里检查PATH变量是否包含各工具的bin目录路径。

2. WVP服务部署实战

2.1 获取和编译项目代码

WVP-PRO的源码托管在Gitee和GitHub,国内用户建议用Gitee镜像,速度更快:

git clone https://gitee.com/pan648540858/wvp-GB28181-pro.git cd wvp-GB28181-pro

重点来了:前端编译是新手最容易出错的地方。进入web_src目录后,先修改npm源为国内镜像:

cd web_src npm config set registry https://registry.npmmirror.com

然后执行安装和构建:

npm install npm run build

如果遇到node-sass报错,可以尝试:

npm uninstall node-sass npm install sass

2.2 数据库初始化

在MySQL中新建名为wvp的数据库,字符集用utf8mb4。然后执行项目sql目录下的初始化脚本:

CREATE DATABASE wvp CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; USE wvp; SOURCE /path/to/wvp-GB28181-pro/sql/init.sql;

重要提示:只需要执行init.sql这一个脚本,后续的upgrade脚本是给升级用的,初次部署千万别执行!

2.3 配置文件详解

WVP有两个关键配置文件需要修改:

  1. application.yml- 主要设置运行环境
spring: application: name: wvp profiles: active: dev # 使用开发环境配置
  1. application-dev.yml- 核心配置所在,重点修改这些部分:
# 数据库配置 datasource: url: jdbc:mysql://127.0.0.1:3306/wvp?useSSL=false username: root password: yourpassword # Redis配置(如果没有可以暂时不配) redis: host: 127.0.0.1 port: 6379 # SIP协议配置(GB28181核心) sip: ip: 192.168.1.100 # 本机内网IP port: 5060 domain: 4401020049 # 模拟的行政区划代码 id: 44010200492000000001 # 媒体服务器配置(先保留默认,等ZLMediaKit装好再改) media: id: your_zlm_id ip: 192.168.1.100 http-port: 80

特别提醒:关闭自动录像功能可以节省磁盘空间:

user-settings: record-push-live: false record-sip: false

3. ZLMediaKit媒体服务器部署

3.1 Windows版ZLMediaKit安装

从官网下载最新Windows版本解压后,进入release目录,双击运行MediaServer.exe。看到控制台输出"您可以使用浏览器访问http端口"就说明启动成功了。

验证服务是否正常:

  1. 浏览器访问 http://127.0.0.1/index/api/getApiList
  2. 应该能看到返回的JSON格式API列表

3.2 关键配置调整

修改config.ini配置文件中的这些参数:

[api] secret=035c73f7-bb6b-4889-a715-d9eb2d1925cc # 保持与WVP配置一致 [http] port=80 # HTTP访问端口 sslport=443 # HTTPS端口(可选) [rtp_proxy] port=10000 # RTP代理端口范围 range=30000-30500 # 必须与WVP配置一致

3.3 与WVP的联动配置

回到WVP的application-dev.yml,修改media部分:

media: id: zlm001 # 自定义ID ip: 192.168.1.100 # ZLM服务器IP http-port: 80 # ZLM的HTTP端口 secret: 035c73f7-bb6b-4889-a715-d9eb2d1925cc # 与ZLM配置一致 rtp: enable: true port-range: 30000,30500 # 与ZLM配置一致

4. 服务启动与调试

4.1 启动WVP服务

后端启动有两种方式:

  1. 开发模式:在IDE中直接运行WvpApplication主类
  2. 生产模式:打包后运行
mvn clean package java -jar target/wvp-pro.jar

前端启动:

cd web_src npm run dev

4.2 常见问题排查

  1. 端口冲突问题

    • 检查5060(SIP)、80(HTTP)、30000-30500(RTP)端口是否被占用
    • 使用netstat -ano | findstr "5060"命令查看端口占用情况
  2. 视频流无法播放

    • 确认ZLM控制台有流注册记录
    • 检查WVP的media配置是否与ZLM一致
    • 测试直接访问ZLM的流地址:http://ZLM_IP/live/streamId.flv
  3. 设备注册失败

    • 确认SIP配置中的IP和端口正确
    • 检查设备端配置的SIP服务器地址
    • 使用Wireshark抓包分析SIP信令交互

登录WVP管理界面(默认账号admin/admin)后,在"国标设备"菜单添加设备。设备接入时有个小技巧:先把设备端的注册有效期设为60秒,方便调试。等全部调通后再改为3600秒。

第一次成功看到监控画面时,建议先测试关键功能:

  • 实时直播(主码流/子码流切换)
  • PTZ云台控制
  • 录像回放
  • 报警信息接收

这套组合在实际项目中表现很稳定,我部署的某个停车场系统已经连续运行200多天。关键是要确保初始配置准确,特别是SIP和媒体端口的对应关系。遇到问题多看日志,WVP和ZLM的日志信息都很详细,按照时间线对照分析很快就能定位问题原因。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询