天天看点

EasyCVR级联上级平台请求接口失败排查(EasyCVR三种ID说明)

EasyCVR能够对上级平台进行级联,包括国标GB28181协议设备以及RTSP协议设备。在我们做EasyCVR测试时,发现数据通道通过上级平台添加到EasyGBS出现播放的问题,前端播放器一直在转圈,无法播放,过一会请求接口失败,前端控制台会出现错误。

EasyCVR级联上级平台请求接口失败排查(EasyCVR三种ID说明)

在前端控制台分析接口的结构中serial和code是一样的,最终在浏览器打开播放视频出现400错误码;400的错误码是客户端错误(例如,格式错误和请求语法错误等等各种问题),导致服务器不能活着,不会处理客户端请求。

EasyCVR级联上级平台请求接口失败排查(EasyCVR三种ID说明)
EasyCVR级联上级平台请求接口失败排查(EasyCVR三种ID说明)

但是在设备管理中点击其他的播放视频都是可以播放的,所以还是填写的数据格式有错误,才导致找不到这个流。在EasyCVR代码中有三种id,其中ParentID和DeviceID是相对应的,ID是单独这个数据id。

EasyCVR级联上级平台请求接口失败排查(EasyCVR三种ID说明)

以下两张图都是ParentID赋值了ChannelID,再进行保存临时数据,并发送给前端的ID数据。

EasyCVR级联上级平台请求接口失败排查(EasyCVR三种ID说明)
EasyCVR级联上级平台请求接口失败排查(EasyCVR三种ID说明)

解决这个问题,我们需要修改里面的ParentID和DeviceID,把ParentID改为DeviceID,也就是设备的id,这样请求接口就会找到某个设备的编号,也就是标识。获取标识之后,视频就可以正常播放了。

EasyCVR级联上级平台请求接口失败排查(EasyCVR三种ID说明)
EasyCVR级联上级平台请求接口失败排查(EasyCVR三种ID说明)