欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

国标GB28181协议IP摄像头/录像机接入视频平台EasyGBS出现告警信息,但是不上报是什么原因?

程序员文章站 2022-06-19 11:31:15
大家知道国标GB28181协议视频平台EasyGBS更新了一个在监控系统中很实用的功能——告警功能。对告警功能不熟悉的用户可以参考此文:EasyGBS实现告警功能快照记录。告警功能更新到现在,我们也一直在对此功能进行内部测试。在EasyGBS查看设备告警信息的时候,出现设备有告警信息,但是信息不上报的情况。经过查询GB28181-2016协议后发现,在新版中设备的部分信息需要通过订阅之后才能够获得,因此我们也在EasyGBS平台中添加了订阅功能。代码实现如下:func (ser...

大家知道国标GB28181协议视频平台EasyGBS更新了一个在监控系统中很实用的功能——告警功能。对告警功能不熟悉的用户可以参考此文:EasyGBS实现告警功能快照记录

国标GB28181协议IP摄像头/录像机接入视频平台EasyGBS出现告警信息,但是不上报是什么原因?

告警功能更新到现在,我们也一直在对此功能进行内部测试。在EasyGBS查看设备告警信息的时候,出现设备有告警信息,但是信息不上报的情况。

经过查询GB28181-2016协议后发现,在新版中设备的部分信息需要通过订阅之后才能够获得,因此我们也在EasyGBS平台中添加了订阅功能。

国标GB28181协议IP摄像头/录像机接入视频平台EasyGBS出现告警信息,但是不上报是什么原因?

国标GB28181协议IP摄像头/录像机接入视频平台EasyGBS出现告警信息,但是不上报是什么原因?

代码实现如下:

func (server *Server) MakeSubscribeAlarmRequest(toSerial, toRealm, expires string) (req *Request, sn string, err error) {
	contact := fmt.Sprintf("<sip:%s@%s:%d>", server.Serial, server.Host, server.Port)
	doc := etree.NewDocument()
	doc.CreateProcInst("xml", `version="1.0" encoding="UTF-8"`)
	query := doc.CreateElement("Query")
	query.CreateElement("CmdType").SetText("Alarm")
	sn = GenSN()
	query.CreateElement("SN").SetText(sn)
	query.CreateElement("DeviceID").SetText(toSerial)
	query.CreateElement("StartAlarmPriority").SetText("0")
	query.CreateElement("EndAlarmPriority").SetText("0")
	query.CreateElement("AlarmMethod").SetText("0")
	doc.Indent(4)
	body, err := doc.WriteToString()
	if err != nil {
		return
	}

	req, err = server.MakeRequest("SUBSCRIBE", fmt.Sprintf("%s@%s", toSerial, toRealm), body)
	if err != nil {
		return
	}

与此同时,当设备的协议版本再次选择2016版gb28181协议的时候,也能够看到上报的告警信息了。

国标GB28181协议IP摄像头/录像机接入视频平台EasyGBS出现告警信息,但是不上报是什么原因?

国标GB28181协议IP摄像头/录像机接入视频平台EasyGBS出现告警信息,但是不上报是什么原因?

EasyGBS国标流媒体平台支持通过GB28181协议与第三方平台进行级联,也能够与TSINGSEE青犀视频平台EasyNVR进行级联,如果大家对EasyGBS的级联功能或者告警功能比较感兴趣,欢迎联系我们了解,EasyGBS、EasyNVR等视频平台均提供试用版本供大家测试,欢迎咨询。

本文地址:https://blog.csdn.net/EasyGBS/article/details/109636430