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作为一个完善的视频智能分析平台,大部分情况下都是源于用户对产品的不了解而操作失误造成的,如果大家遇到难以排查的问题,请及时联系我们协助排查。