视频智能分析平台EasyCVR本地可控但上级设备无法控制下级设备是何种原因?

大家知道EasyCVR是一个支持协议很宽泛的视频平台,因此兼容了很多协议的优点,比如支持云台控制设备,也支持通过不同协议的级联平台等。近期EasyCVR在测试中出现本地平台能云台控制下级设备,但是上级设备却无法控制下级设备的情况。

103.png

针对此情况,我们进行了抓包分析。

102.png

通过抓包分析,能够查看到上级发送的控制消息,到本级的时候是正常发送且正常响应的,但是通过本级转发给下级的时候,下级回复的400错误。

此时发现问题,由于EasyCVR级联的通道和下级设备的真实id不一样,所以在通过上级发送控制命令到下级的时候,需要在下级再次转换,添加如下代码:

gbDevID := gbsChns[0].DeviceID
sipDev := uas.Server.GetDevice(gbDevID)
if sipDev == nil {
   log.Println("级联MakePTZControlRequest错误")
   return
}
reqControl, _, err = uas.Server.MakeDragZoomInControlRequest(code, uas.Server.Realm, length, width, midPointX, midPointY, lengthX, lengthY)
if err != nil {
   log.Println("级联MakeDragZoomInControlRequest错误", err)
   return
}
err = reqControl.SendByTransport(sipDev.Transport)
if err != nil {
   log.Println("级联发送MakePTZControlRequest错误", err)
   return
}

再次通过上级发送控制消息,并抓包检查,发现信息已经能够正常发送。

104.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值