GB28181 —— Ubuntu20.04下使用ZLMediaKit+WVP搭建GB28181流媒体监控平台(连接带云台摄像机)

本文主要是介绍GB28181 —— Ubuntu20.04下使用ZLMediaKit+WVP搭建GB28181流媒体监控平台(连接带云台摄像机),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最终效果


在这里插入图片描述

简介

     GB28181协议是视频监控领域的国家标准。该标准规定了公共安全视频监控联网系统的互联结构, 传输、交换、控制的基本要求和安全性要求, 以及控制、传输流程和协议接口等技术要求,是视频监控领域的国家标准。GB28181协议信令层面使用的是SIP(Session Initiation Protocol)协议。

     ZLMediaKit 是一个基于C++11的高性能运营级流媒体服务框架。

     WVP(WEB VIDEO PLATFORM是) 是一个基于GB28181-2016标准实现的网络视频平台,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR、DVR接入。支持国标级联,支持rtsp/rtmp等视频流转发到国标平台,支持rtsp/rtmp等推流转发到国标平台。

一、基本库安装

     1、系统信息如下,尽量保持一致。
在这里插入图片描述

     2、依赖库安装,分别执行如下指令

sudo apt install gcc g++ cmake make git curl  p7zip-full vim pkg-config autoconf automake -y sudo apt install build-essential# 安装netstat,ifconfig等命令
sudo apt-get install net-toolssudo apt-get install -y openjdk-11-jre git maven 


     3、关闭防火墙

# 查看防火墙状态
service ufw status# 关闭防火墙
service ufw stopsudo /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT


     4、安装并启动Redis

# 更新
sudo apt update# 安装Redis服务
sudo apt install redis-server# 启动Redis服务
sudo systemctl start redis-server# 测试Redis是否启动成功
redis-cli	// 进入Redis终端
ping		// 在终端输入ping,若返回PONG说明启动成功# 注意,这里就不加密码了。在之后其他软件配置Redis信息时注意不要加密码。


     5、安装jre

# 执行完该条命令,执行如下图指令查看是否正常
sudo apt install default-jre

在这里插入图片描述


     6、安装maven
          (1)、执行如下指令

sudo apt update
sudo apt install maven 

          (2)、修改maven的配置文件,将下面6行代码加入到settings.xml中具体如下图所示位置。
                    执行:sudo vim /usr/share/maven/conf/settings.xml

<mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>
</mirror>

在这里插入图片描述

          (3)、查看mvn安装状态
在这里插入图片描述


     7、安装Nodejs&npm

           下面指令一次执行即可:

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - &&\
sudo apt-get install -y nodejs

          查看安装状态:
在这里插入图片描述


     8、wvp-GB28181-2.6项目下载

          从如下git地址下载或直接使用本人下载zip包均可:
               git clone https://github.com/648540858/wvp-GB28181-pro.git

在这里插入图片描述


     9、安装Mysql,并创建wvp数据库

          (1)、安装Mysql

sudo apt-get update# 安装mysql
sudo apt-get install mysql-server //
# 进入mysql终端
sudo mysql# 将密码设置为123456ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';# 退出mysql终端quit
//# 配置(最后一个选择y,其余选择n即可。如下图最下方一个输入y即可)
sudo mysql_secure_installation


在这里插入图片描述

          (2)、创建导入wvp数据库,细节如下图

# 连接mysql
mysql -u root -p# 创建wvp数据库
CREATE DATABASE wvp;# 查看数据库
show databases;# 使用wvp数据库
use wvp;# 执行数据库脚本(下面mysql.sql、update.sql为wvp源码下sql目录所在)
source /home/jxd/jxd/wvp-GB28181-pro-2.6.6/sql/mysql.sql;
source /home/jxd/jxd/wvp-GB28181-pro-2.6.6/sql/update.sql;# 刷新授权(前一步update脚本会有报错,但似乎对后续使用没什么影响,可能数据库脚本没有同时更新)
flush privileges;# 查看数据库内的表
show tables;# 退出数据库
quit

在这里插入图片描述

二、ZLMediaKit项目编译

     (1)、下载ZLMediaKit源码(具体如图)

          不使用github下载源码,务必使用git克隆ZLMediaKit代码,因为ZLMediaKit依赖于第三方代码,zip包不会下载第三方依赖源码。

# 克隆ZLMediaKit源码
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit# 千万不要忘记执行这句命令
git submodule update --init

在这里插入图片描述


     (2)、安装相关依赖库

sudo apt-get install build-essential
sudo apt-get install cmakesudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install libsdl-dev
sudo apt-get install libavcodec-dev
sudo apt-get install libavutil-dev
sudo apt-get install ffmpeg


     (3)、开始编译ZLMediaKit

# 进入ZLMediaKit源码文目录
cd ZLMediaKit# 创建进入build文件夹
mkdir build
cd build# 编译
cmake ..
make -j4

          编译完成后在如下目录生成文件,此时为成功编译。
在这里插入图片描述

三、wvp-GB28181-2.6项目编译

     (1)、源码下载
          在本文“一.8”已经介绍了源码下载,具体如下图查看

在这里插入图片描述

     (2)、编译前端页面

cd ./web_src/********************************************************/
/*参考: https://blog.csdn.net/laosao_66/article/details/135880270由于在执行倒数第二个指令时出现证书过期问题,则使用如下指令规避:	
*/
# 清除npm缓存
npm cache clean --force
# 取消ssl验证:
npm config set strict-ssl false
# 换源
npm config set registry http://registry.cnpmjs.org
/********************************************************/npm --registry=https://registry.npm.taobao.org install
npm run build

在这里插入图片描述


     (3)、打包后台项目

# 在wvp-GB28181-2.6目录下执行如下指令即可
mvn install

          如下图编译过程,可参考。
在这里插入图片描述

          如下图,编译成功产生的文件
在这里插入图片描述

四、WVP+ZLM配置及运行

     (1)、打开/home/jxd/jxd/wvp-GB28181-pro-2.6.6/src/main/resources/application-dev.yml文件,进行修改

     
          改为本机ip
在这里插入图片描述

          注意:记录id及http-port因为要写入zlmediakit配置中
在这里插入图片描述

     (2)、打开/home/jxd/jxd/ZLMediaKit/release/linux/Debug/config.ini 文件,进行修改

          [general].mediaServerId改为wvp中记录的id
在这里插入图片描述

          [http]-port改为wvp中记录的port
在这里插入图片描述

          记录[api].secret,稍后写入到wvp配置中
在这里插入图片描述


     (3)、打开/home/jxd/jxd/wvp-GB28181-pro-2.6.6/src/main/resources/application-dev.yml文件,进行修改

          将在zlmedia配置中拷贝的secret拷贝到wvp配置中:
在这里插入图片描述

     (4)、启动运行
          ①启动ZLMediaKit:进入/jxd/ZLMediaKit/release/linux/Debug目录,直接运行MediaServer即可

在这里插入图片描述

          ②启动wvp:进入/jxd/wvp-GB28181-pro-2.6.6/src/main/resources目录,直接运行:

java -jar …/…/…/target/wvp-pro-2.6.6-02230943.jar --spring.config.location=./application-dev.yml

在这里插入图片描述


          ③如下效果
在这里插入图片描述
在这里插入图片描述

          ④最终效果
在这里插入图片描述

关注

笔者 - jxd

这篇关于GB28181 —— Ubuntu20.04下使用ZLMediaKit+WVP搭建GB28181流媒体监控平台(连接带云台摄像机)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/741721

相关文章

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短