EasyCVR视频融合云平台具备优秀的视频能力,包括视频监控直播、云端录像与存储、检索与回放、告警上报、云台控制、平台级联等等。其中,平台级联是指EasyCVR可作为下级平台,将所有视频通道通过GB28181协议级联到上级国标平台,且支持同一通道级联到多个上级平台。
我们在上次的文章中也提及过关于EasyCVR平台在级联时,可实现上级平台查看下级平台的云端录像,具体可参考这篇文章:EasyCVR级联时如何让上级平台获取到下级平台本地云端录像?
近期我们又实现了新功能:EasyCVR平台级联到上级国标平台,上级平台可以查看到EasyCVR平台下的设备录像。今天来和大家分享一下代码实现过程。
添加如下代码,当EasyCVR级联的上级平台,查询EasyCVR接入的设备录像时,需要将上级要查询的设备转换为EasyCVR平台上实际的设备,查询出对应的设备录像,再返回给上级:
代码语言:javascript复制var gbsChns []models.Channel
db.SQLite.Model(models.Channel{}).Where("`index`=?", id).Find(&gbsChns)
if len(gbsChns) != 1 {
return
}
gbDevID := gbsChns[0].DeviceID
sipDev := uas.Server.GetDevice(gbDevID)
if sipDev == nil {
log.Printf("级联: 没有找到设备[%s]", serial)
return
}
channelInfo := models.GetChannel(gbsChns[0].ID, gbsChns[0].DeviceID)
if channelInfo == nil {
log.Printf("没有找到通道[%s:%s]", serial, code)
return
}
if channelInfo.Status != "ON" {
log.Printf("通道[%s:%s] 离线", channelInfo.DeviceID, channelInfo.ID)
return
}
查询成功后,便进行播放。
EasyCVR平台支持7*24h录像,可通过时间轴精确控制录像回放,也支持获取设备端的录像:
- 支持获取海康、大华等前端设备/平台录像文件,进行录像回看
- 支持输出对应的HTTP接口,方便录像检索、点播、回放功能的调用
在视频能力接入与分发上,EasyCVR不仅能支持标准协议(RTSP、RTMP、Onvif、GB28181等协议),还能支持厂家私有协议(海康/大华SDK、Ehome协议)的接入,分发的视频流(RTSP、RTMP、FLV、HLS、WebRTC等)可兼容多终端、多平台,在很多实际场景中均有落地项目应用,如智慧工地、智慧安防、智慧工厂、智慧园区等。感兴趣的用户可以前往演示平台体验。