背景分析
互联网的更新换代过程不断加快,将摄像头进行网络直播的应用程序和场景也越来越广泛,此过程需要将普通的安防摄像头的视频转到公网流媒体服务器,公网流媒体服务器再提供流格式转换,转成RTSP、RTMP、HTTP-FLV、HLS等可以Web、微信等直接播放的格式。目前市面上各种摄像头接入最常见的就是通过GB28181协议。
该协议是摄像头、NVR或其他视频平台等设备端主动向上级注册并保活的,因此设备端可以不需要固定的公网IP,局域网中的设备、4G网络等网络环境下的设备都可以通过GB28181主动注册到公网的服务器上。
需求分析
视频流媒体平台EasyGBS已经实现了GB28181协议,能够接入各个厂家的监控设备和监控平台,实现统一管理,和web端无插件播放,同时支持手机、微信、网页播放。
对接大华硬盘录像机NVR查询录像失败问题分析
在用户使用过程中,我们在对接大华硬盘录像机NVR的时候查询录像失败,在EasyGBS的系统中提示query recordinfo return 400 Bad Request,具体见下图:
问题分析
通过回调信息,我们发现,发送RecordInfo xml消息中缺少Type节点,解决方法就是在RecordInfo xml消息中增加一个值为all的文本元素节点Type,具体解决方式如下。
问题解决
MESSAGE sip:34020000001320000140@192.168.99.140:5060 SIP/2.0Via: SIP/2.0/UDP 192.168.99.120:5060;rport;branch=z9hG4bK171140128From: <sip:34020000002000000001@3402000000>;tag=363140128To: <sip:34020000001320000140@192.168.99.140:5060>Call-ID: 488140128CSeq: 11 MESSAGEMax-Forwards: 70Content-Length: 279Content-Type: Application/MANSCDP+xml<?xml version="1.0" encoding="UTF-8"?><Query><CmdType>RecordInfo</CmdType><SN>717140128</SN><DeviceID>34020000001320000140</DeviceID><StartTime>-07-25T00:00:00</StartTime><EndTime>-07-25T06:00:00</EndTime><Type>all</Type></Query>
从上我们可以看出,EasyGBS是一款针对GB/T28181而生,调用简单,使用轻量的流媒体平台。
如果觉得《国标GB/T28181EasyGBS对接大华硬盘录像机NVR查询录像失败解决方案》对你有帮助,请点赞、收藏,并留下你的观点哦!