GB28181服务器的搭建

实现功能

rtsp拉流到流媒体服务器,gb28181协议推流。

实现:

zlmediakit(流媒体服务器)+wvp(信令服务器) 

流媒体服务器:实现视频流的推拉流。

信令服务器:负责与国标协议GB28181平台或设备信令交互实现连接。

注:可以实现局域网下国标协议GB28181交互,也可以搭建在公网服务器上可以进行协议交互。

本人使用阿里云服务器+Ubuntu20,公网搭建,局域网下也可以实现。wvp-GB28181-pro使用过程需要图形界面需要自己安装,可以参考CSDNicon-default.png?t=N6B9https://mp.csdn.net/mp_blog/creation/editor/127392704

安装步骤:

流媒体服务器(ZLMediakit)

拉流流程:

gb28181国标协议:

https://img-blog.csdnimg.cn/20190604153248663.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1VwZ3JhZGVfWWFuZw==,size_16,color_FFFFFF,t_70

通信协议结构图

SIP 监控域互联结构示意图

信令交互成功以后,媒体流发送者推送流到媒体服务器,媒体服务器在指定的端口接收到视频流后,转发给流媒体接收者。

gb28181国标协议点播流程:

联网方式:级联、互联

级联:

互联:

服务器搭建:

Zlmediakit(流媒体服务器):

下载:

#国内用户推荐从同步镜像网站gitee下载(如果地址改变可以去gitee或github搜索zlmediakit)

git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit

cd ZLMediaKit

#千万不要忘记执行这句命令

git submodule update --init

编译器:

sudo apt-get install cmake

安装依赖:

sudo apt-get install libssl-dev

flash player在播放rtmp时,采用的是复杂握手模式,如果不安装该库,flash player将播放不了zlmediakit 提供的rtmp url.

同时ZLMediaKit的https/rtsps/webrtc相关功能需要使用openssl才能开启。

安装编译:

cd ZLMediaKit
mkdir build
cd build
cmake ..
make -j4

运行:

cd ZLMediaKit/release/linux/Debug
#通过-h可以了解启动参数
./MediaServer -h
#以守护进程模式启动
./MediaServer -d &

redis 安装:  Ubuntu20.04

Ubuntu安装redis详细教程_ubuntu redis安装_普通网友的博客-CSDN博客

安装

sudo apt-get install –y redis-server

设置密码

sudo vim /etc/redis/redis/redis.conf

修改配置文件里的requirepass,把注释关掉,然后后面改为你想设置的密码,然后再重新启动redis即可

https://img-blog.csdnimg.cn/20201119144101578.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3J1aTc1NDIyMDczMg==,size_16,color_FFFFFF,t_70#pic_center

重启

service redis restart

https://img-blog.csdnimg.cn/20201119144430341.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3J1aTc1NDIyMDczMg==,size_16,color_FFFFFF,t_70#pic_center

redis-cli

key *

AUTH 132456

再进行redis操作的时候就会提示输入密码了

不输入密码就进行操作redis的话会提示(error) NOAUTH Authentication required.

这时需要输入密码再进行下一步的操作AUTH 123456

启动Redis 切换到/usr/bin 

./redis-server /etc/redis/redis.conf

命令行直接启动/停止/重启redis

(如果是用apt-get或者yum install安装的redis

/etc/init.d/redis-server start           启动redis服务

/etc/init.d/redis-server stop            停止redis服务

/etc/init.d/redis-server restart         重启redis服务

JDK安装:

1、安装依赖包:

sudo apt-get install python-software-properties

2、添加仓库源:

sudo add-apt-repository ppa:webupd8team/java

3、更新软件包列表:

sudo apt-get update

4、安装java JDK:

sudo apt-get install oracle-java8-installer

安装过程中需要接受协议:

5、查看java版本,看看是否安装成功:

java -version

如果提示找不到安装包

解决:

sudo add-apt-repository ppa:ts.sch.gr/ppa

sudo apt-get update

sudo apt-get install oracle-java8-installer

node.js和npm安装:    Ubuntu18.04

通过 PPA 安装指定或最新版本的 nodejs

那么就需要使用  来安装指定版本的 nodejs 了。其需要下载一个脚本,运行此脚本会在 ubuntu 里添加一个 nodejs 源,然后用 apt 就可以下载指定的 nodejs 了。

PPA 的全称为 personal package archive 。要安装 nodejs 12.x 版本,可以运行如下命令:

cd ~

curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -

sudo apt update

sudo apt install nodejs

要安装 nodejs 最新版本,可以运行如下命令:

cd ~

curl -sL https://deb.nodesource.com/setup | sudo bash -

sudo apt update

sudo apt install nodejs

卸载 nodejs:

执行如下命令:

sudo apt remove nodejs

此命令会卸载 nodejs,但是会保留配置文件,方便你以后再次安装 nodejs。

如果不想保留配置文件,继续执行:

sudo apt purge nodejs

这将会卸载 nodejs 和其相关的配置文件。

最后,你还可以移除和 nodejs 一起安装但是现在没有被使用的包:

sudo apt autoremove

安装mysql5.7  Ubuntu18可以通过命令安装,Ubuntu20不能apt-get

要安装适配zlmediakit的版本!

安装后导入sql文件 mysql.sql  update.sql

Maven 安装: Ubuntu安装maven_ubuntu上安装maven_普通网友的博客-CSDN博客

命令安装:sudo apt-get install maven

maven --version                     查询版本


wvp-GB28181-pro安装:

(安装下载、使用说明------------可以去github或者Gitee上搜开源的项目)

安装依赖环境

apt-get install openjdk-11-jre git maven nodejs npm

如果安装等待时间长, 可以尝试切换软件源

检出代码

cd ~

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

编译静态页面

cd ~/wvp-GB28181/web_src

npm install

npm run build

编译如果报错, 一般都是网络问题, 导致的依赖包下载失败

编译完成后在src/main/resources下出现static目录

打包项目, 生成可执行jar

cd ~/wvp-GB28181

mvn package

编译如果报错, 一般都是网络问题, 导致的依赖包下载失败

编译完成后在target目录下出现wvp-2.3.5.RELEASE.jar

端口开放:

 

8091 TCP

5060 TCP UDP

18080 TCP UDP

30000/30500 TCP UDP

运行wvp

cd ~/wvp-GB28181

cp ~/wvp-GB28181/src/main/resources/application-dev.yml ~/wvp-GB28181/target/application.yml            //可以不执行

要修改application.yml文件中的local,改成dev

cd ~/wvp-GB28181/target

java -jar wvp-2.3.5.RELEASE.jar --spring.config.location=~/wvp-GB28181/target/application.yml

如果运行报错, 参考一般错误处理

访问管理页面

http://{sip.ip}:{server.port}

比如我的部署的服务ip为192.168.1.44, server.port为18080, 那么访问地址为http://192.168.1.44:108080, 会自动跳转到登陆页

登陆账号密码默认:admin     admin

猜你喜欢

转载自blog.csdn.net/m0_58530510/article/details/130929549