一种实时监控方法、监控系统及存储介质与流程

文档序号:20286766发布日期:2020-04-07 16:12阅读:119来源:国知局
一种实时监控方法、监控系统及存储介质与流程

本发明属于视频监控系统技术领域,更具体地,涉及一种实时监控方法、监控系统及存储介质。



背景技术:

近年来,随着计算机网络技术的飞速发展,视频监控因其及时性和信息内容丰富而广泛应用,在城市安防中起到了越来越大的作用。当前安防行业,一般监控设备均支持gbt28181标准,该标准规定了安防监控联网系统中信息传输、交换、控制的互联结构、通信协议结构,传输、交换、控制的基本要求和安全性要求,以及控制、传输流程和协议接口等技术要求。

当前gbt28181标准解决了系统互联互通的问题,但在应用过程中仍存在较大的局限性。根据gbt28181标准,当多个用户在相同时段查看同一个监控点实时视频画面时,需要对该监控点视频资源进行多次重复拉取,该操作极有可能造成监控设备服务能力超载并拒绝服务,同时也造成了带宽资源的大量浪费。



技术实现要素:

针对现有技术的至少一个缺陷或改进需求,本发明提供了一种实时监控方法、监控系统及存储介质,通过复制媒体流的方式,使得多个用户在相同时段查看同一实时视频资源时,不需要重复拉取视频资源。

为实现上述目的,根据本发明的一个方面,提供了一种实时监控方法,应用于包括媒体流接收端、sip服务器、媒体服务器和媒体流发送端的实时监控系统,所述监控方法包括:

sip服务器接收媒体流接收端发起的监控请求,该请求包括媒体流接收端请求监控的视频源id;

若该视频源id已经存在被其他媒体流接收端监控的实时流,则sip服务器向该视频源id对应的媒体服务器发送请求,该媒体服务器响应该请求将该视频源id对应的视频数据发送到对应的媒体流接收端。

优选地,sip服务器根据该视频源id的实时流个数确定该视频源id是否已经存在被其他媒体流接收端监控的实时流。

优选地,所述确定该视频源id是否已经存在被其他媒体流接收端监控的实时流,具体包括:

sip服务器以该视频源id为关键字新建控制信息项,该控制信息项包含被初始化的流标记,并向媒体服务器请求查询该视频源id的实时流个数;

媒体服务器在统计信息项中记录并更新该视频源id的实时流个数,当接收到查询请求,在统计信息项中查询该视频源id的实时流个数,并将查询结果发送给sip服务器;

sip服务器根据查询的实时流个数将流标记设置为原始流或复制流。

优选地,sip服务器接收媒体流接收端发起的终止请求,若要终止的媒体流为该视频源id的唯一的实时流,则sip服务器与该视频源id对应的媒体发送端断开连接。

优选地,sip服务器接收媒体流接收端发起的终止请求,根据视频源id查找控制信息项,若要终止的媒体流为该视频源id的唯一实时流,则sip服务器与该视频源id对应的媒体发送端断开连接;若要终止的媒体流不是该视频源id的唯一实时流,则删除该媒体流接收端在发起监控请求时新建的控制信息项。

优选地,媒体服务器在媒体流接收端成功接收视频数据或成功断开与所述sip服务器的连接后,更新所述控制信息项中该视频源id的实时流个数。

优选地,所述控制信息项包括呼叫id和对话id,用于所述sip服务器与所述媒体流接收端、媒体服务器和媒体流发送端的通信。

根据本发明的一个方面,提供了一种实时监控系统,所述监控系统包括媒体流接收端、sip服务器、媒体服务器、媒体流发送端;

sip服务器用于接收所述媒体流接收端发起的监控请求,该监控请求包括请求监控的视频源id;

sip服务器用于若该视频源id已经存在被其他媒体流接收端监控的实时流,则sip服务器向该视频源id对应的媒体服务器发送请求;

媒体服务器用于响应sip服务器发送的请求将该视频源id对应的视频数据发送到对应的媒体流接收端。

根据本发明的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一项所述的方法。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:

(1)对于多个用户在相同时段查看同一实时视频资源的情形,不需要重复拉取视频资源,能够承载大量的实时视频资源并发访问并提供可靠的服务。

(2)通过引入控制信息项和统计信息项,能够准确识别视频资源的媒体流标记属性,利用该标记属性,通过复制原始媒体流,在兼容现有gbt28181标准的基础上,实现多个用户在相同时段共享同一实时视频资源的目标,从而增强现有标准的可用性。

附图说明

图1是本发明实施例提供的一种实时监控系统示意图;

图2是本发明实施例提供的一种实时监控方法的信息交互示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

实施例1

本发明实施例的一种实时监控方法,应用于包括媒体流接收端、sip服务器、媒体服务器和媒体流发送端的实时监控系统,该监控方法包括步骤:

步骤1、媒体流接收端向sip服务器发送监控请求,该请求包括媒体流接收端请求监控的视频源id;

步骤2、sip服务器接收媒体流接收端发起的监控请求;若该视频源id已经存在被其他媒体流接收端监控的实时流,即已有其他用户监控该视频源id,则sip服务器向对应的媒体服务器发送请求,要求其将该视频源id对应的视频数据发送到媒体流接收端,而不需要再次与媒体发送端建立连接;若该视频源id不存在被其他媒体流接收端监控的实时流,即没有其他用户监控该视频源id,则sip服务器首先向该视频源id对应的媒体流发送端发送监控请求,该媒体流发送端响应该请求将该视频源id对应的视频数据发送给对应的媒体服务器,然后sip服务器向接收该视频源id对应视频数据的媒体服务器发送请求,要求其将该视频源id对应的视频数据发送到媒体流接收端。

优选地,可以通过记录每个视频源id的实时流个数,来判断视频源id已经存在被其他媒体流接收端监控的实时流。优选地,可以引入控制信息项和统计信息项,通过统计信息项来记录视频源id的实时流个数,通过控制信息项的流标记属性来判断视频源id已经存在的被其他媒体流接收端监控的实时流的类别。也可以根据应用场景采用其他的方式。

本发明实施例的一种实时监控系统,所述监控系统包括媒体流接收端、sip服务器、媒体服务器、媒体流发送端。在一套监控系统中,媒体流接收端、sip服务器、媒体服务器、媒体流发送端都可以有多个,每个媒体流发送端有对应的视频源id。

sip服务器用于接收所述媒体流接收端发起的监控请求,该监控请求包括请求监控的视频源id;

sip服务器用于若该视频源id已经存在被其他媒体流接收端监控的实时流,则sip服务器向该视频源id对应的媒体服务器发送请求;

媒体服务器用于响应sip服务器发送的请求将该视频源id对应的视频数据发送到对应的媒体流接收端。

这样,对于多个用户在相同时段查看同一实时视频资源的情形,不需要重复拉取资源,通过复制原始媒体流,可以承载大量的实时视频资源并发访问并提供可靠的服务。

实施例2

本发明实施例的一种实时监控系统,适用于gbt28181标准,包括:第一媒体流接收端、sip(sessioninitiationprotocol,会话初始协议)服务器、媒体服务器和媒体流发送端;

所述媒体流接收端与sip服务器、sip服务器与媒体服务器、媒体服务器与媒体流发送端均通过网络相连;

所述媒体流接收端用于接收监控的媒体流;

所述sip服务器用于传输sip控制信令和消息,管理控制信息表,每条控制信息项以sip头域subject字段中视频源id为关键值,对应的控制信息项包括:流标记字段、媒体流接收端id和一组控制子项,其中,流标记字段表示原始流或复制流,控制子项包括呼叫id(callid)和对话id(dialogid);

所述媒体服务器用于分发媒体流,记录和更新统计信息表,每条统计信息以sip头域subject字段中视频源id为关键值,对应的统计信息项包括实时流个数。

本发明实施例的一种实时监控方法,包括以下步骤:

步骤1,媒体流接收端向sip服务器发送invite请求,按gbt28181标准,该请求携带sdp消息体,头域携带subject字段,该字段包括视频源id、发送方媒体流序列号、媒体流接收端id、接收端媒体流序列号等参数;

步骤2,sip服务器收到invite请求后,首先以subject字段的视频源id为关键字,向控制信息表添加空白控制信息项,其次向媒体服务器发送invite请求,按gbt28181标准,该请求不携带sdp消息体,头域携带本次收到invite请求的subject字段;

步骤3,媒体服务器收到invite请求后,首先以subject字段的视频源id为关键字,向统计信息表查询统计信息项,其次向sip服务器回复200ok响应,该响应携带sdp消息体,消息体增加字段x,用于描述视频源id对应的统计信息项;

步骤4,sip服务器收到200ok响应后,首先根据步骤2收到的invite请求中subject字段的视频源id和媒体流接收端id从控制信息表查找到控制信息项,向其中添加本次invite请求的呼叫id和对话id控制子项,其次,再根据步骤3返回的sdp消息体的x字段实时流个数是否大于0,若是,设置控制信息项的流标记值为复制流,并向媒体服务器发送ack消息,消息携带步骤3返回的sdp消息体,转步骤7,否则,设置控制信息项的流标记值为原始流,并向媒体流发送端发送invite请求,该请求携带步骤3返回的sdp消息体,头域携带步骤2收到invite请求的subject字段,转步骤5;

步骤5,媒体流发送端收到invite请求后,按gbt28181标准,回复200ok响应,携带sdp消息体;

步骤6,sip服务器收到200ok响应后,首先向步骤4查找到的控制信息项中添加本次invite请求的呼叫id和对话id控制子项,其次向媒体服务器回复ack消息,消息中携带步骤5返回的sdp消息体,再次向媒体流发送端发送ack消息,消息中不携带sdp消息体;

步骤7,sip服务器向媒体服务器发送invite请求,按gbt28181标准,该请求携带步骤2收到的invite请求的sdp消息体,该消息体增加ssrc值;

步骤8,媒体服务器收到invite请求后,回复200ok响应,携带sdp消息体;

步骤9,sip服务器收到200ok响应后,首先向步骤4查找到的控制信息项中添加本次invite请求的呼叫id和对话id控制子项,其次向媒体流接收端转发该响应;

步骤10,媒体流接收端收到200ok响应后,向sip服务器回复ack消息。

步骤11,sip服务器收到ack消息后,将该消息转发给媒体服务器;

步骤12,媒体服务器收到ack消息后,根据步骤3查找到的统计信息项,再根据步骤8收到的invite请求的sdp消息体的s字段值,更新统计信息项的实时流个数;

步骤13,媒体流接收端向sip服务器发送bye消息,断开步骤1、9、10与sip服务器建立的连接;

步骤14,sip服务器收到bye消息后,回复200ok响应;

步骤15,sip服务器向媒体服务器发送bye消息,根据步骤9添加的呼叫id和对话id控制子项,断开步骤7、8、11与媒体服务器建立的连接;

步骤16,媒体服务器收到bye消息后,回复200ok响应;

步骤17,sip服务器收到200ok响应后,向媒体服务器发送bye消息,根据步骤4添加的呼叫id和对话id控制子项,断开步骤2、3、6与媒体服务器建立的连接;

步骤18,媒体服务器收到bye消息后,首先回复200ok响应,其次根据步骤3查找到的统计信息项,再根据步骤8收到的invite请求的sdp消息体的s字段值,更新统计信息项的实时流个数;

步骤19,sip服务器收到200ok响应后,根据步骤2中subject字段的视频源id查找控制信息表,判断当前媒体流是否为该视频源id的唯一实时流,若是,根据原始流标签,查找到相应的控制信息项,再根据呼叫id和对话id控制子项,sip服务器向媒体流发送端发送bye消息,断开步骤4、5、6与媒体流发送端建立的连接,否则,移除步骤4查找到的控制信息项,并返回;

步骤20,媒体流发送端收到bye消息后回复200ok响应。

上述步骤4中,原始流指需要与媒体流发送端建立连接并通过媒体流发送端提供的媒体流,复制流指仅需要与媒体服务器建立连接并通过媒体服务器的流复制功能产生的媒体流。

上述步骤19中,判断媒体流是否为唯一实时流包括两种情形,其一,该媒体流本身为原始流且不存在其它复制流,其二,该媒体流为唯一的复制流且不存在原始流,因为原始流可能先于复制流断开,为了保证视频数据传输正常,唯一的复制流也应该判定为唯一的实时流。这两种情形均应判定为唯一实时流,均需要断开与媒体流发送端的连接,其它情形无需断开。

上述步骤1~20中按gbt28181标准,指按照gbt28181-2016实时视音频点播客户端主动发起的命令流程标准。

本发明实施例提供的一种实时监控系统、方法,可以解决gbt28181标准难以有效管理实时媒体流资源的问题,具有以下优点:

1、能够有效地管理实时媒体资源,承载大量的实时视频资源并发访问并提供可靠的服务,具有较好的用户体验;

2、能够减少信令交互次数,提高操作响应速度,对于多个用户在相同时段查看同一实时视频资源的情形,避免了与媒体流发送设备或平台进行不必要的交互;

3、能够降低对硬件服务能力的要求,节省成本和带宽资源,对于多个用户在相同时段查看同一实时视频资源的情形,避免了向媒体流发送设备或平台多次拉取媒体流。

实施例3

本发明实施例的一种实时监控方法,应用于单用户查看监控设备实时画面建立连接的过程,包括步骤:

步骤1、媒体流接收端,向sip服务器发送invite请求,按gbt28181标准,该请求携带sdp消息体,头域携带subject字段,该字段包括视频源即媒体流发送端的编码id、发送方媒体流序列号、媒体流接收端的编码id、接收端媒体流序列号等参数;

步骤2、sip服务器收到invite请求后,首先以subject字段的视频源id为关键字,向控制信息表添加空白控制信息项,其次向媒体服务器发送invite请求,按gbt28181标准,该请求不携带sdp消息体,头域携带本次收到invite请求的subject字段;

步骤3、媒体服务器收到invite请求后,首先以subject字段的视频源id为关键字,向统计信息表查询统计信息项,其次向sip服务器回复200ok响应,该响应携带sdp消息体,消息体增加字段x,用于描述视频源id对应的统计信息项;

步骤4、sip服务器收到200ok响应后,首先根据步骤2收到的invite请求中subject字段的视频源id和媒体流接收端id从控制信息表查找到控制信息项,向其中添加本次invite请求的呼叫id和对话id控制子项,其次,设置控制信息项的流标记值为原始流,并向媒体流发送端发送invite请求,该请求携带步骤3返回的sdp消息体,头域携带步骤2收到invite请求的subject字段;

步骤5、媒体流发送端收到invite请求后,按gbt28181标准,回复200ok响应,携带sdp消息体;

步骤6、sip服务器收到200ok响应后,首先向步骤4查找到的控制信息项中添加本次invite请求的呼叫id和对话id控制子项,其次向媒体服务器回复ack消息,消息中携带步骤5返回的sdp消息体,再次向媒体流发送端发送ack消息,消息中不携带sdp消息体;

步骤7、sip服务器向媒体服务器发送invite请求,按gbt28181标准,该请求携带步骤2收到的invite请求的sdp消息体,该消息体增加ssrc值;

步骤8、媒体服务器收到invite请求后,回复200ok响应;

步骤9、sip服务器收到200ok响应后,首先向步骤4查找到的控制信息项中添加本次invite请求的呼叫id和对话id控制子项,其次向媒体流接收端转发该响应;

步骤10、媒体流接收端收到200ok响应后,向sip服务器回复ack消息;

步骤11、sip服务器收到ack消息后,将该消息转发给媒体服务器;

步骤12、媒体服务器收到ack消息后,根据步骤3查找到的统计信息项,再根据步骤8收到的invite请求的sdp消息体的s字段值,更新统计信息项的实时流个数。

实施例4

本发明实施例的一种实时监控系统,如图1所示,包括:第一媒体流接收端101、第二媒体流接收端102、sip(sessioninitiationprotocol,会话初始协议)服务器201、媒体服务器301和媒体流发送端401;

本发明实施例的一种实时监控方法,应用于多用户查看监控设备实时画面的过程,信息交互的时序图如图2所示,包括步骤:

步骤1、第一媒体流接收端101已按实施例3与媒体流发送端401建立连接;

步骤2、第二媒体流接收端102,向sip服务器201发送invite请求,按gbt28181标准,该请求携带sdp消息体,头域携带subject字段,该字段包括视频源即媒体流发送端401的编码id、发送方媒体流序列号、媒体流接收端102的编码id、接收端媒体流序列号等参数;

步骤3、sip服务器201收到invite请求后,首先以subject字段的视频源id为关键字,向控制信息表添加空白控制信息项,其次向媒体服务器301发送invite请求,按gbt28181标准,该请求不携带sdp消息体,头域携带本次收到invite请求的subject字段;

步骤4、媒体服务器301收到invite请求后,首先以subject字段的视频源id为关键字,向统计信息表查询统计信息项,其次向sip服务器201回复200ok响应,该响应携带sdp消息体,消息体增加字段x,用于描述视频源id对应的统计信息项;

步骤5、sip服务器201收到200ok响应后,首先根据步骤3收到的invite请求中subject字段的视频源id和媒体流接收端id从控制信息表查找到控制信息项,向其中添加本次invite的呼叫id和对话id控制子项,其次设置控制信息项的流标记值为复制流,并向媒体服务器301发送ack消息,消息携带步骤4返回的sdp消息体;

步骤6、sip服务器201向媒体服务器301发送invite请求,按gbt28181标准,该请求携带步骤3收到的invite请求的sdp消息体,消息体增加ssrc值;

步骤7、媒体服务器301收到invite请求后,回复200ok响应;

步骤8、sip服务器201收到200ok响应后,首先向步骤5查找到的控制信息项中添加本次invite请求的呼叫id和对话id控制子项,其次向媒体流接收端转发该响应;

步骤9、媒体流接收端102收到200ok响应后,向sip服务器201回复ack消息;

步骤10、sip服务器201收到ack消息后,将该消息转发给媒体服务器301;

步骤11、媒体服务器收到ack消息后,根据步骤4查找到的统计信息项,再根据步骤8收到的invite请求的sdp消息体的s字段值,更新统计信息项的实时流个数;

步骤12、媒体流接收端102向sip服务器发送bye消息,断开步骤2、8、9与sip服务器201建立的连接;

步骤13、sip服务器201收到bye消息后,回复200ok响应;

步骤14、sip服务器201向媒体服务器301发送bye消息,根据步骤6添加的呼叫id和对话id控制子项,断开步骤6、7、10与媒体服务器301建立的连接;

步骤15、媒体服务器301收到bye消息后,回复200ok响应;

步骤16、sip服务器201收到200ok响应后,向媒体服务器301发送bye消息,根据步骤5添加的呼叫id和对话id控制子项,断开步骤3、4、5与媒体服务器301建立的连接;

步骤17、媒体服务器301收到bye消息后,首先回复200ok响应,其次根据步骤4查找到的统计信息项,再根据步骤7收到的invite请求的sdp消息体的s字段值,更新统计信息项的实时流个数;

步骤18、sip服务器201收到200ok响应后,根据步骤3中subject字段的视频源id查找控制信息表,判断当前媒体流为复制流,移除步骤5查找到的控制信息项。

上述步骤18中,若当前媒体流是复制流,并且是视频源id唯一的实时流,则根据视频源id和原始流标签查找到控制信息项,再根据控制信息项里的控制子项呼叫id和对话id,sip服务器201还需要向媒体流发送端401发送bye消息,媒体流发送端401收到消息后回复200ok响应,断开与sip服务器201的连接。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现上述任一监控方法实施例的技术方案。其实现原理和技术效果与上述实时监控方法类似,此处不再赘述。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1