EasyCVR平台支持海量视频汇聚与管理、处理与分发、智能分析等视频能力,在接入协议上,不仅支持国标GB28181协议、RTSP/Onvif、RTMP等标准协议,还支持HIKSDK、大华SDK、海康Ehome等厂家私有协议与SDK。平台基于云边端一体化架构,将复杂多变的底层资源统一管理起来,并能合理调度资源、共享信息、数据交互,让系统变得更高效、稳定,实现各模块更好地协作。

java海康云台API 海康云台协议_视频播放

EasyCVR平台支持通过GB/T28181、Ehome协议从海康、大华、宇视等摄像头、网络硬盘录像机NVR等设备中,按设备、通道、日期获取对应录像文件进行录像的检索与回放,无需安装各个安防厂商的视频播放插件。

有用户反馈,EasyCVR接入的Ehome协议的设备,出现了无法观看设备录像的情况,请求我们排查协助。今天和大家分享一下排查及解决过程。

java海康云台API 海康云台协议_java海康云台API_02

 

在排查过程中发现,前端播放设备录像时,将请求发送到后端,但是后端没有转发给设备,因此导致设备录像无法观看。

添加如下代码,可将Ehome协议接入的设备查询出来的设备录像,在播放时传入对应的文件名称给设备,根据回调出来的流数据,推送给对应的内核地址,最后将回看的播放地址返回给前端。

java海康云台API 海康云台协议_java海康云台API_03

 

f := func() (string, int, error) {
			ret, err := dev.PlaybackStart(channel, smshost, playbackPort, name, offset)
			if err == nil {
				//更新播放信息
				obj := &ehomedo.EhomeChannelPlayback{
					ID:             0,
					ChannelID:      fmt.Sprintf("%d", channel),
					DeviceID:       devID,
					FileName:       name,
					Offset:         offset,
					PlaybackHandle: -1,
					SessionID:      ret,
					CreatedAt:      utils.DateTime{},
					UpdatedAt:      utils.DateTime{},
				}
				ehomedo.GetChannelPlaybackDao().Update(obj)
				//通道参数
				channelInfo, err := ehomedo.GetChannelDao().Get(obj.ChannelID, devID)

修改后,再次尝试播放,设备录像已经显示正常。

java海康云台API 海康云台协议_java海康云台API_04

 

EasyCVR优秀的视频能力表现在其丰富的视频功能、低延时传输、全终端兼容、支持多种网络环境等多方面,平台可实现的视频功能包括视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联等,可应用在智慧工厂、智慧工地、智慧安防、智慧校园、智慧水利等场景中。感兴趣的用户可以前往演示平台进行体验或部署测试。

java海康云台API 海康云台协议_视频播放_05