IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> ZLMediaKit + wvp-GB28181-pro部署(windows64位) -> 正文阅读

[开发工具]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.0.2-03190920.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: 3402000000
    # [可选]
    id: 34020000002000000001
    # [可选] 默认设备认证密码,后续扩展使用设备单独密码, 移除密码将不进行校验
    password: admin123

#zlm 默认服务器配置
media:
    id: fTjjaDliH9EQ9N50
    # [必须修改] 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一致,比如我的是fTjjaDliH9EQ9N50。

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. 拉流代理
    在这里插入图片描述

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 21:12:07  更:2022-03-21 21:12:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:36:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码