TSINGSEE青犀视频云边端架构产品都有几种不同的录像方式,其中设备录像可以通过接口调用。EasyGBS在对接现场客户设备时出现设备录像无法回放的情况,并且点击播放还会报错s=plpayback。
对此我们对该功能进行了抓包排查,通过对比现场报文和EasyGBS的使用文档,我们了解到设备录像的传输有标准的参考,此处的错误正是由于设备发送的消息字段不符合标准而造成的。
解决该问题我们需要在EasyGBS系统中做兼容处理,即在设备录像的传输当中,对其他形式的字段消息一起兼容。具体处理方式是当设备发送是二级消息数据携带’s’ ‘t’字段的时候忽略掉其消息,然后Udine余下的数据进行解析。
添加的代码参考如下:
代码语言:javascript复制case 'a':
a := d.attr(v)
switch a.Name {
case ModeInactive, ModeRecvOnly, ModeSendOnly, ModeSendRecv:
m.Mode = a.Name
case "rtpmap", "rtcp-fb", "fmtp":
err = d.format(m, a)
default:
m.Attributes = append(m.Attributes, a)
}
case 'y':
m.SSRC = v
case 'f':
m.Description = v
case 's', 't':
再次测试录像回看功能,能够正常播放该设备的录像回看。