EasyCVR通过国标GB28181协议接入设备,出现设备自动拉流是什么原因?

2022-07-01 17:18:36 浏览数 (1)

EasyCVR在接入协议上,不仅支持国标GB28181协议、RTSP/Onvif、RTMP等标准协议,还支持HIKSDK、大华SDK、海康Ehome等厂家私有协议与SDK,可分发RTSP、RTMP、FLV、HLS、WebRTC等多种格式的视频流。平台可灵活拓展,能实现的视频功能包括:视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联等。近期我们正在对EasyCVR进行新功能的拓展,比如服务器集群、视频轮巡、H.265转码H.264、电子地图与轨迹跟踪等等,欢迎大家关注我们的更新。

有用户反馈,使用EasyCVR平台的过程中,通过国标GB28181协议将设备接入,出现了自动拉流的现象,请求我们排查协助。今天我们来分享一下排查及解决方法。

我们初步判断可能是设备某些信令触发了平台拉流。

于是通过抓包查看,可以看到,当设备经纬度变化时,平台在拉流获取设备的GPS位置快照信息。

针对上述情况,可做如下优化:在设备GPS经纬度变化时,判断地图是否实时变化,依据该条件来决定是否拉流获取快照。参考代码如下:

代码语言:javascript复制
for _, v := range channels {
				cha := cvrservice.GetDeviceService().GetDBChannelGBId(v.DeviceID, v.ID)
				if cha != nil {
					ParentDeviceID := strconv.Itoa(int(cha.ParentDeviceID))
					ChannelID := strconv.Itoa(int(cha.ChannelID))
					_gps := models.Gps{
						DeviceID:    ParentDeviceID,
						ChannelID:   ChannelID,
						Longitude:   Longitude,
						Latitude:    Latitude,
						GBDeviceID:  v.DeviceID,
						GBChannelID: v.ID,
					}
					_, err := models.AddGps(&_gps)
					if err != nil {
						log.Println("add gps error :", err.Error())
					}
				}

优化后再次测试,播放已经恢复了正常。

EasyCVR平台支持海量视频接入汇聚,通过将分散的视频资源统一汇聚并集中管理,实现对资源的整合、处理及分发,结合各应用场景,实现资源共享、联动共管。平台可对外提供统一的服务API接口,实现连接设备、连接数据、连接应用,便于第三方平台快速集成。

随着AI技术的不断应用,EasyCVR平台也在积极融入视频智能检测分析技术,包括人脸检测、人脸识别、人流量统计、车辆检测与识别、车牌识别、行为识别、轨迹追踪等等。对EasyCVR平台感兴趣的用户,可以前往演示平台进行体验或部署测试。

0 人点赞