ZLMediaKit + wvp-GB28181-pro部署(windows64位)

一、参考链接(多看wiki)

1.1. ZLMediaKit

  1. github
  2. gitee

1.2. wvp-GB28181-pro

  1. github
  2. gitee

1.3. 参考

  1. ZLMediaKit在Windows下启用WebRtc编译(64位)
  2. ZLMediaKit webRTC编译与测试
  3. JAVA-WVP+ZLMediaKit+MediaServerUI实现摄像头 GB28181推流播放录制

二 、在windwos环境下部署ZLMediaKit

2.1. 准备

softwareversion
cmake3.20.5
Microsoft Visual Studio2017
openssl1.1.1m
libsrtp2.4.0

2.2. 编译libsrtp(webrtc需要)

  1. 需要将openssl添加到环境变量:
    在这里插入图片描述在这里插入图片描述
  2. 解压并新建build文件夹:
    在这里插入图片描述
  3. 新建文件夹用于存放make install后的文件,如:D:\DevelopTools\libsrtp\srtp2。
  4. 打开cmake-gui,设置源代码和build路径,点击Configure设置生成器:
    在这里插入图片描述
  5. 配置cmake选项:
  • 勾选BUILD_SHARED_LIBS,生成srtp2.dll
  • 填写CMAKE_INSTALL_PREFIX,用于存放make install后的include和lib
  • 勾选ENABLE_OPENSSL,已经将openssl放入环境变量,会自动加载openssl的库文件路径
  1. 点击Configure后,如下图所示,然后点击Generate,在build文件夹中生成libsrtp的solution:
    在这里插入图片描述
  2. 在build文件夹中双击打开libsrtp2.sln,在vs2017中生成解决方案,再右键INSTALL点击生成:
    在这里插入图片描述
  3. 在CMAKE_INSTALL_PREFIX配置的路径下生成以下文件:
    在这里插入图片描述
  4. 最后,添加libsrtp的环境变量:
    在这里插入图片描述

2.3. 编译ZLMediaKit

  1. 下载源代码:
# 国内用户推荐从同步镜像网站gitee下载 
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
# 千万不要忘记执行这句命令
git submodule update --init

在这里插入图片描述

  1. 打开cmake-gui,设置源代码和新建的build文件夹路径,点击Configure配置vs2017、x64。然后填写CMAKE_INSTALL_PREFIX路径(D:\ZLMediaKit),勾选ENABLE_WEBRTC,同样会自动加载openssl的相关配置。最后点击Generate,在build文件夹中生成ZLMediaKit.sln:
    在这里插入图片描述
  2. 双击打开ZLMediaKit.sln,生成解决方案,再右键INSTALL点击生成:
    在这里插入图片描述
  3. 最后会在D:\DevelopTools\zlm\ZLMediaKit\release\windows64\Debug\Debug路径下生成以下文件:
    在这里插入图片描述

2.4. 运行

  1. 由于没有webrtc测试前端文件,所以需要将ZLMediaKit根目录下的www文件夹,拷贝到MediaServer.exe同级目录,然后在当前目录cmd中执行MediaServer.exe,或直接双击它:
    在这里插入图片描述
    Remark:启动MediaServer.exe时端口号被占用:1. 更改config.ini配置文件;2. 结束相关进程。
# 查询占用554端口号的进程(如:PID为17928)
netstat -ano|findsrt 554
# 查询PID为17928的进程名称(如:MediaServer.exe)
tasklist|find 17928
# 结束进程(可以通过命令行结束进程,也可以在任务管理器的服务中根据PID结束进程)
taskkill /pid 17928  -t  -f
  1. 在MediaServer.exe的同级目录中配置config.ini。我这里先没配置,直接运行后打开网页,会有webrtc。
    在这里插入图片描述
    不过我点进去后是乱码。
    在这里插入图片描述

三、在windows环境下部署wvp-GB28181-pro

3.1. 准备

项目运行依赖redis、jdk1.8,打包依赖git、maven、nodejs、npm。

softwareversion
redis参考链接win-3.2.100
maven3.6.3
node/npm14.19.0/6.14.16

3.2. 编译WVP-PRO

  1. 下载源代码:
git clone https://gitee.com/pan648540858/wvp-GB28181-pro
  1. 编译静态页面:
cd wvp-GB28181-pro/web_src/
# 配置仓库,不然可能会出现网络问题导致编译报错
npm --registry=https://registry.npm.taobao.org
npm install
npm run build

编译如果报错, 一般都是网络问题, 导致的依赖包下载失败
编译完成后在src/main/resources下出现static目录
  1. 打包项目, 生成可执行jar
cd wvp-GB28181-pro
mvn package

编译如果报错, 一般都是网络问题, 导致的依赖包下载失败
编译完成后在target目录下出现wvp-pro-x.x-xxxxxxxx.jar,比如我的是wvp-pro-2.2.1-05201142.jar

3.3. 配置

  1. 配置application-dev.yml(在src/main/resources目录下),新生成的内容如下所示:
spring:
    # [可选]上传文件大小限制
    servlet:
        multipart:
            max-file-size: 10MB
            max-request-size: 100MB
    # REDIS数据库配置
    redis:
        # [必须修改] Redis服务器IP, REDIS安装在本机的,使用127.0.0.1
        host: 127.0.0.1
        # [必须修改] 端口号
        port: 6379
        # [可选] 数据库 DB
        database: 6
        # [可选] 访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接
        password: xxxx
        # [可选] 超时时间
        timeout: 10000
        # [可选] jdbc数据库配置, 项目使用sqlite作为数据库,一般不需要配置
        # mysql数据源
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false
        username: xxxx
        password: xxxx
        druid:
            initialSize: 10                       # 连接池初始化连接数
            maxActive: 200                        # 连接池最大连接数
            minIdle: 5                            # 连接池最小空闲连接数
            maxWait: 60000                        # 获取连接时最大等待时间,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁。
            keepAlive: true                       # 连接池中的minIdle数量以内的连接,空闲时间超过minEvictableIdleTimeMillis,则会执行keepAlive操作。
            validationQuery: select 1             # 检测连接是否有效sql,要求是查询语句,常用select 'x'。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用。
            testWhileIdle: true                   # 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
            testOnBorrow: false                   # 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
            testOnReturn: false                   # 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
            poolPreparedStatements: false         # 是否開啟PSCache,並且指定每個連線上PSCache的大小
            timeBetweenEvictionRunsMillis: 60000  # 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒
            minEvictableIdleTimeMillis: 300000    # 配置一個連線在池中最小生存的時間,單位是毫秒
            filters: stat,wall,slf4j             # 配置监控统计拦截的filters,监控统计用的filter:sta, 日志用的filter:log4j, 防御sql注入的filter:wall
            useGlobalDataSourceStat: true         # 合并多个DruidDataSource的监控数据
            # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
            connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=1000
            #stat-view-servlet.url-pattern: /admin/druid/*

#[可选] WVP监听的HTTP端口, 网页和接口调用都是这个端口
server:
    port: 18080

# 作为28181服务器的配置
sip:
    # [必须修改] 本机的IP
    ip: 10.16.xxx.xxx
    # [可选] 28181服务监听的端口
    port: 5060
    # 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007)
    # 后两位为行业编码,定义参照附录D.3
    # 3701020049标识山东济南历下区 信息行业接入
    # [可选]
    domain: 4401020049
    # [可选]
    id: 44010200492000000001
    # [可选] 默认设备认证密码,后续扩展使用设备单独密码, 移除密码将不进行校验
    password: admin123

#zlm 默认服务器配置
media:
    id: j6i8Pv5SnnLyuoib
    # [必须修改] zlm服务器的内网IP
    ip: 10.16.xxx.xxx
    # [必须修改] zlm服务器的http.port
    http-port: xxxx
    # [可选] zlm服务器的hook.admin_params=secret
    secret: 035c73f7-bb6b-4889-a715-d9eb2d1925cc
    # 启用多端口模式, 多端口模式使用端口区分每路流,兼容性更好。 单端口使用流的ssrc区分, 点播超时建议使用多端口测试
    rtp:
        # [可选] 是否启用多端口模式, 开启后会在portRange范围内选择端口用于媒体流传输
        enable: true
        # [可选] 在此范围内选择端口用于媒体流传输, 必须提前在zlm上配置该属性,不然自动配置此属性可能不成功
        port-range: 30000,30500 # 端口范围
        # [可选] 国标级联在此范围内选择端口发送媒体流,
        send-port-range: 30000,30500 # 端口范围
    # 录像辅助服务, 部署此服务可以实现zlm录像的管理与下载, 0 表示不使用
    record-assist-port: 18081
# [可选] 日志配置, 一般不需要改
logging:
    config: classpath:logback-spring-local.xml

# 版本信息, 不需修改
version:
    version: "@project.version@"
    description: "@project.description@"
    artifact-id: "@project.artifactId@"

Remark:

  • 记得开启redis服务。
  • 先在mysql中新建wvp数据库,然后建表:1. 运行sql目录下的mysql.sql(可能会报错);2. 或复制mysql.sql中的内容,在wvp数据库中以查询的方式建表:
    在这里插入图片描述在这里插入图片描述
  • media.id要与zlm的config.ini中[general]下的mediaServerId一致,比如我的是j9awLgYX8c7TpGN1。

3.4. 运行

  1. 启动ZLM
    在这里插入图片描述
  2. 运行WVP:1. cd cd wvp-GB28181-pro/target; java -jar wvp-pro-*.jar;2. 直接用idea运行
    在这里插入图片描述
  3. 访问web:http://ip:port
    比如我部署的服务ip为10.16.31.250, server.port为18080, 那么访问地址为http://10.16.31.250:108080, 会自动跳转到登陆页,默认用户名:admin, 密码:admin。
    在这里插入图片描述
  4. 首页
    在这里插入图片描述

3.5. 添加摄像头

  1. 配置海康IPC GB28181协议传输
    在这里插入图片描述

  2. 注册成功
    在这里插入图片描述
    在这里插入图片描述

  3. 实时监控
    在这里插入图片描述

  4. 拉流代理
    在这里插入图片描述

  • 11
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
WVP-GB28181-Pro是一种视频监控解决方案,旨在支持GB28181协议的环境下部署。该解决方案主要用于构建视频监控系统,以监测和管理安全环境。 WVP-GB28181-ProWindows部署可以按照以下步骤进行: 1. 选择适当的硬件设备:首先,您需要选择适合部署WVP-GB28181-Pro的硬件设备。这包括选择一台性能良好的Windows服务器或PC,以及摄像头、监视器等视频监控设备。 2. 安装操作系统:在选择的硬件设备上安装Windows操作系统。推荐使用Windows Server操作系统,因为它更适合部署和管理视频监控系统。 3. 下载和安装WVP-GB28181-Pro软件:从官方网站下载WVP-GB28181-ProWindows版本软件。将其安装到您选择的Windows服务器或PC上。 4. 配置参数:在安装完成后,您需要根据实际需求进行各种配置,包括网络设置、视频存储路径、设备连接等。根据需要配置并添加GB28181兼容设备,如摄像头。 5. 启动和测试:配置完成后,启动WVP-GB28181-Pro服务。使用管理界面进行一些基本设置和监控设备的参数调整。随后,可以通过客户端软件访问和监控视频流,同时进行录像、回放和其他操作。 需要注意的是,Windows部署仅提供了一个部署和管理视频监控系统的环境,具体的配置和操作需要根据实际需求和环境来确定。此外,在部署前还需要评估和确保硬件设备的兼容性以及网络的稳定性和带宽要求。 通过以上步骤,您可以在Windows环境下成功部署WVP-GB28181-Pro视频监控系统,并实现对安全环境的有效监控和管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值