EasyCVR平台支持多协议、多类型的设备接入,拥有灵活丰富的视频能力,可实现的功能包括视频实时监控直播、云端录像、云存储、回放与检索、智能告警、视频快照、视频转码与分发、平台级联等。
有用户反馈,在使用EasyCVR现场运行的时候,有时候遇到RTSP接入的通道显示离线的情况,但是不知道是什么原因,希望技术人员能协助优化。
收到反馈后,技术人员对此需求进行了开发。功能设计逻辑如下:
首先检测通道离线状态,当检测到通道配置的RTSP地址不能正确获取到数据信息之后,将错误的原因及状态存入到对应的通道中,前端调用获取通道信息返回时,将对应的错误信息一起返回显示。
参考代码如下:
for _, value := range *channels {
clusterInfo, _ := clusterMap[value.ServerID]
tdevID := -1
tdevName := ""
if devInfo {
tv, tok := devList.Get(fmt.Sprintf("%s", value.ParentDeviceID))
if tok {
mv, mok := tv.(cvrdo.Device)
if mok {
tdevID = int(mv.DeviceID)
tdevName = mv.DeviceName
}
} else {
tdev, e := cvrdao.GetDeviceDao().Get(value.ParentDeviceID)
if e == nil {
devList.Set(fmt.Sprintf("%s", value.ParentDeviceID), *tdev, -1)
tdevID = int(tdev.DeviceID)
tdevName = tdev.DeviceName
}
添加完毕后,再次查看离线通道效果,快照页面已显示设备离线的提示,有助于排查时迅速定位问题。
EasyCVR视频融合云平台视频能力丰富、兼容性强、开放度高,它能对多种终端(PC电脑、手机、平板、电子大屏等)分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流,在视频接入上也能支持市面上大多数的视频监控设备,可通过GB28181、RTMP、RTSP/Onvif、海康SDK、大华SDK、Ehome等协议进行接入,感兴趣的用户可以前往演示平台进行体验或部署测试。