人脸识别视频智能安防系统EasyCVR视频播放接入第三方平台播放一段时间崩溃原因分析

EasyCVR安防视频云服务经过不断的研发与细化,已经增加了很多新功能和操作方式,比如用户管理、设备分组、告警查询等,都是方便用户、完善平台管理的一些功能。EasyCVR支持与第三方平台的对接,用户可以将目前已有的平台与EasyCVR形成级联关系,并获取EasyCVR的所有能力。

在我们近期的测试中,发现EasyCVR接入第三方平台时,出现播放一段时间后,第三方平台无法播放的问题。通过查看日志分析出,第三方平台播放崩溃后,EasyCVR还在推流到第三方平台上。

但是第三方平台却不显示画面。

分析原因,猜测是历史流信息停止播放的时候,EasyCVR还在推流,导致资源被占用。因此我们尝试添加停流接口,配合第三方平台调用。参考代码如下:

if _, ok := atsMap.Load(streamstr); !ok {
       log.Println("上云流保活停止", stream.StreamID, "通道id", channelID)
       err := uas.StreamStop(stream.StreamID)
       if err != nil {
              log.Println("停止上云流 err ", err.Error())
       }
       return
}

case 2: //直播停播、回放停播
       messapi.StopStream(params)

再次部署测试,发现添加该段代码后,无人播放的时候能够有效停止播放,且暂未出现无法播放的情况。

当然了,EasyCVR出现无法播放的情况分很多种,但EasyCVR作为一个完善的视频智能分析平台,大部分情况下都是源于用户对产品的不了解而操作失误造成的,如果大家遇到难以排查的问题,请及时联系我们协助排查。

posted on 2021-03-08 11:53  TSINGSEE  阅读(69)  评论(0编辑  收藏  举报