这篇文章探讨GB28181国标规范中的两个保活机制:注册保活与流媒体保活。具体使用效果和流程可以参考NTV GBS国标平台官方手册,NTV GBS平台是在注册保活和媒体保活方面都有很好处理。
1、设备注册保活
设备注册到平台之后,通过定时发送MESSAGE消息向平台报告在线状态,平台据此判断设备是否在线。
注册
参见规范9.1.2.1小节,描述如下:
保活(KeepLive)
注册成功后,根据设备端配置的保活时间(通常30秒到3分钟),设备周期性发送状态报送消息给平台。
参考规范9.2.6小节:
命令流程:
消息内容:
2、流媒体保活
GB28181国标对流媒体保活定义较为简单,主要是为了防范UDP通信模式下接收方不在线的情况下仍然继续发送,从而导致网络和设备资源的无效占用。
如果你的下级或设备不支持流媒体保活机制,建议你采用TCP协议传视频流,这个可以参考NTV GBS的配置建议,可以选用UCP或TCP通信来传输视频流。NTV GBS是云视睿博开发的成熟、通用、规范的GB28181国标平台(设备平台和上级平台),在监控行业有很大的用户群。
GB28181国标并没有定义流媒体保活的细节,也没有在信令层面做定义。常用的做法是采用RTP/RTCP通信规范来保障,即在进行RTP传输的同时,使用RTCP协议来进行状态确认,详情可以参考RTP/RTCP协议规范。
在保活机制约束下,任何一方不具备保活条件都会导致视频传输中断。在接收方稳定可靠的情况下,可以通过关闭发送方的保活机制来避免发送中断,带来的问题是即便接收方不在线发送也会持续下去,因此这只能算是一个权宜手段。
流媒体保活参见附录M.