https://gitee.com/tangzhangss/wvp-GB28181-pro.git
应用场景
支持浏览器无插件播放摄像头视频。 支持国标设备(摄像机、平台、NVR等)设备接入 支持非国标(onvif, rtsp, rtmp,直播设备等等)设备接入,充分利旧。 支持国标级联。多平台级联。跨网视频预览。 支持跨网网闸平台互联。
环境准备
安装目录/cytech/app/wvp
ZLMediaKit 服务器安装(centos)
推荐centos7及以上版本,查看版本:cat /etc/redhat-release
官方要求gcc 版本 >= 4.8,查看版本:gcc -v
需要升级gcc时执行:
如果安装了老版本,先卸载:yum remove gcc*
再安装最新版:yum install gcc gcc-c++ ncurses-devel perl
安装cmake
cmake版本没看到官方要求,建议3.10以上,查看版本:cmake -version
我这里安装的3.20,卸载老版本cmake:yum remove cmake (或重新编译配置/ect/profile)
下载:wget https://cmake.org/files/v3.17/cmake-3.20.0.tar.gz
或者来这里自行下载:Index of /files
解压,安装,编译
tar -zxvf cmake-3.20.0.tar.gz
cd cmake-3.20.0
./bootstrap
# 出现“CMake has bootstrapped. Now run gmake.”之后可以后续操作
gmake
gmake install
vi /etc/profile // 修改环境变量
在文件末尾追加以下两行代码:
PATH=/cytech/app/wvp/cmake-3.20.0/bin:$PATH
export PATH
然后执行以下操作:
source /etc/profile //使修改生效
echo $PATH //查看PATH值
检查cmake 安装
cmake --version
(如果cmake ZLM报错,试一下3.3.2版本)
安装ffmpeg
#需要先安装yasm
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
make install
//安装ffmpeg
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
./configure
make
make install
vi /etc/profile
export PATH=$PATH:/cytech/app/wvp/ffmpeg
source /etc/profile
ffmpeg -version
安装ZLMediaKit
git clone https://gitee.com/xia-chu/ZLMediaKit.git
cd ZLMediaKit
#下载子模块,必不可少
git submodule --init
mkdir build
cd build
cmake ..
make -j4
配置
config.ini修改配置(端口信息、可访问ip)
api.secret=xxx 为web后端需要配置的media.secret
general.mediaServerId为web后端需要配置的media.mediaServerId
启动
cd /cytech/app/wvp/ZLMediaKit/release/linux/Debug
#通过-h可以了解启动参数
./MediaServer -h
#以守护进程模式启动
./MediaServer -d &
启动脚本
#!/bin/bash
# 123@163.com
# DATA:SXH 15 17:17:10 CST 2020
# This is a sshd detection script
kill -9 `ps aux |grep MediaServer |grep -v grep |grep -v retomcat | awk '{print $2}'`
./ZLMediaKit/release/linux/Debug/MediaServer -d &
程序配置
media参数配置
启动
前端打包
cd wvp-GB28181-pro/web_src/
npm --registry=https://registry.npmmirror.com installnpm run build
编译完成后在src/main/resources下出现static目录
启动(后端)
登录用户名密码 admin admin
wvp-gb28181-client
gb28181-client: gb28181协议客户端模拟系统
可以注册注销、接收历史视频回放指令、历史视频回放指令
配置
sip-server配置内容与wvp-GB28181-pro一致
注册
POSTMAN直接请求即可注册到服务端(192.168.0.175)
注销
注销之后不会删除设备,设备变为离线状态
系统使用
分屏监控
可以监控设备的Camera, client使用ffmpeg模拟推流效果如下
国标设备
国标设备中可以查看注册到服务端的设备信息,设备实时录像、设备录像等信息;
国标设备是下级自动注册的(何为下级?比如:wvp显示海康IPC,则海康IPC为下级,wvp为上级,再比如:如果其他平台想显示wvp的部分设备视频,则wvp为下级,其他平台为上级。)
通道数为下级设备通道个数,比如下级接了4个海康IPC的NVR,则通道个数应为4.
点播视频是zlm报错ssrc超时,可能是因为选的IPC比较水,ssrc没做或没做好,这时候可以点击编辑按钮,去掉ssrc勾选。
如果没有快照,是因为zlm侧没有安装FFmpeg ,设备离线,则查看IPC配置。如果设备离线,但仍能播放,那查看下心跳,看看最后一次心跳是什么时候。
如果“录像查询”没有录像,这个是查设备上有没有录像的(比如插了TF卡的IPC)不是查看assist配合的录像的
云台控制里面会有控制云台的功能。不是所有摄像头都有云台,比如普通枪机就不行。搞半天摄像头不动说wvp不行的,先看自己硬件是否支持
不显示视频可以换成h264试试
倍速播放需要设备(IPC或NVR等)和播放器(wvp播放器是集成的jessibuca,阉割了部分功能,可以换成jessibuca-pro或vlc测试一下倍速)同步支持
电子地图
电子地图目前不支持手动添加位置,需要设备自己上报才能显示。比如带北斗或GPS的执法仪
推流列表
将拉取的视频流推出去。
拉流代理
wvp替代不了nvr,所以当关闭视频流后zlm就会认为外部设备不在需要视频流了,故把视频断掉。如果想一直拉流,可以在此 点 “添加代理” 添加需要拉取的视频流即可 ,这样即便关闭了界面,zlm视频流仍旧在后台拉取
云端录像
需要部署wvp-pro-assist服务;
支持:
录像查询,支持按照日期,流信息(app和stream)查询
时间轴显示录像(定位到文件,未定位到实际时间(TODO))
录像播放
录像裁剪合并下载,进度实时更新
支持到期自动删除
网络不好情况下设备也会主动断流,从而导致录像缺失;
节点管理
节点管理是管理zlm节点的。wvp支持一对多,意思也就是一个wvp可以外接多个zlm。直接点添加节点即可。
国标级联
国标级联是wvp作为下级向上级注册用的。
注册成功后上级wvp国标设备中会出现注册的设备;
然后再“选择通道”添加;
如果通道数为0“刷新”一下就行。
此后上级wvp也可监控本机wvp的设备。
设备接入
海康大华硬件NVR如何配置接入GB/T28181国标流媒体平台说明及示例_大华流媒体服务器说明书_Marvin1311的博客-CSDN博客
设备接入之后会自动注册到wvp,"国标设备"列表中可见。
系统集成
wvp系统集成:
wvp后端数据库(mysql)并入系统数据库;
wvp后端代码修改用户及权限部分与系统保持一致;
wvp前端页面按需迁移到系统前端代码中;
服务器照常启动wvp后端服务,nginx做代理;
wvp系统应用:
设备(海康) ----> 系统1(wvp系统) ----> 系统2(wvp系统)