EasyGBS对接宇视SDK,多次点击录像回放出现崩溃是什么原因?

EasyGBS国标视频云服务可支持通过国标GB28181协议将设备接入,实现视频的实时监控直播、录像、语音对讲、云存储、告警、级联等功能,同时也支持将接入的视频流进行全终端、全平台分发,分发的视频流包括RTSP、RTMP、FLV、HLS、WebRTC等格式。同时EasyGBS平台也支持海康Ehome协议及SDK等接入方式。

 

我们在项目中测试对接宇视sdk时,发现回放录像出现了异常,同一段录像,点击两次,必出现崩溃现象。

 

于是查看回放录像的代码,发现如下:

 

播放录像是直接调用PlaybackStart函数,第二次播放录像也是调用PlaybackStart函数。只有第一次播放回放录像不会崩溃,所以判断在进行第二次播放时,肯定是哪个资源没有释放。

进一步排查代码,播放录像有一个唯一键值(key:=fmt.Sprintf(“%s&%s”, code, st)),而第二次播放录像st的时间参数不同,所以又拉了一路流播放。但同时上一个时间录像流也没有停止。

如图,以下代码是停止录像,没有st参数作为开始,所以录像流不会停止。

 

EasyGBS使用的是国标级联,所以有一个唯一id(CALL-ID),获取call-id转入录像播放,用作唯一键值即可。停止录像播放时也需要用到call-id,否则还是不能停止播放。

 

 

 

 

修改后,上述录像回放的异常情况已经得到了修复。

 

随着我国平安城市、平安乡村、雪亮工程等大规模工程的建设如火如荼,EasyGBS平台便捷、丰富、灵活、可拓展的视频能力已经使其成为当前安防市场的主流需求视频监控平台。除了基础性的视频监控能力,我们也逐渐在平台中融入AI智能检测分析技术,如人脸检测、人脸识别、车辆检测、车牌识别、目标跟踪、行为分析等,感兴趣的用户可以前往演示平台进行体验与部署测试。

posted on 2022-07-01 17:07  EasyGBS  阅读(160)  评论(0)    收藏  举报