使用SIP(wvp)+流媒体服务器(ZLMediaKit)实现gb28181 rtp推流及播放

使用SIP(wvp)+流媒体服务器(ZLMediaKit)实现gb28181 rtp推流及播放,实现通过gb28181来进行摄像头监控播放,云台控制体验案例!

准备内容

1、操作系统环境,我这里用的是阿里云centos 7.7

2、海康云台摄像头一个,NVR一个

3、环境具体cmake 3.1.3条件,ZLMediaKit构建需要用到

4、下载用于sip的java的开源项目WVP

5、下载redies用于支撑sip服务

6、下载流媒体服务器ZLMediaKit

操作步骤如下:

一、安装cmake版本3.1.3以上

安装方法来源:https://www.cnblogs.com/zychengzhiit1/p/5628711.html

安装编译源码所需的工具和库

yum install gcc gcc-c++ ncurses-devel perl  

下载cmake

 wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz

将tar.gz 移动到 /usr/local/目录下

解压,并查看:

tar zxvf cmake-3.3.2.tar.gz
cd cmake-3.3.2 
ls 查看

编译并安装

./configure
make
make install

设置全局变量

 用vi在文件/etc/profile文件中增加变量,使其永久有效:

vi /etc/profile   // 修改环境变量

在文件末尾追加以下两行代码: 

PATH=/usr/local/cmake/bin:$PATH
export PATH

然后执行以下操作:

source /etc/profile   //使修改生效 
echo $PATH  //查看PATH值

检查cmake 安装

cmake --version

二、安装ZLMediaKit

开源地址:https://github.com/linyihong-git/ZLMediaKit

#国内用户推荐从同步镜像网站gitee下载 
git clone --depth 1 https://gitee.com/xiahcu/ZLMediaKit
cd ZLMediaKit
git submodule update --init

构建和编译项目

在linux或macOS系统下,你应该这样操作:

cd ZLMediaKit
mkdir build
cd build
#macOS下可能需要这样指定openss路径:cmake .. -DOPENSSL_ROOT_DIR=/usr/local/Cellar/openssl/1.0.2j/
cmake ..
make -j4

在linux下启动:

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

三、redies安装

参考:https://www.cnblogs.com/autohome7390/p/6433956.html

需要把bind 127.0.0.1  改成bind 0.0.0.0,外网才能访问

四、下载SIP项目源代码

开源地址:https://github.com/swwheihei/wvp

修改配置文件参数,运wvp项目

五、推流及播放

配置好摄像头的gb28181参数及sip地址,SIP ID

1、推流执行

http://127.0.0.1:8080/api/play/34020000001110000001/78978201001320000025

返回ssrc{"ssrc":"0200004754"}

ssrc转换为16进行后=0BEBD193

查看zlmk推流情况

播放地址在vlc播放如下:

rtsp://147.15.1.118:554/rtp/0BEBD4F4?token=abcdefg&field=value
rtmp://147.15.1.118/rtp/0BEBD4F4
http://147.15.1.118/rtp/0BEBD4F4.flv
http://147.15.1.118/rtp/0BEBD4F4/hls.m3u8

播放地址的规则如下:

https://github.com/xiongziliang/ZLMediaKit/wiki/%E6%92%AD%E6%94%BEurl%E8%A7%84%E5%88%99

2、云台控制执行

http://127.0.0.1:8080/api/ptz/34020000001110000001/78978201001320000025?leftRight=1&upDown=0&inOut=0&moveSpeed=50&zoomSpeed=1

zoomSpeed的数字不能太大于,不然运行不了,无效

3、查看流媒体服务器收流情况

http://47.115.1.118/index/api/getMediaList?secret=035c73f7-bb6b-4889-a715-d9eb2d1925cc

猜你喜欢

转载自blog.csdn.net/qq_16005627/article/details/106156444