多方视频监看方法及装置与流程

文档序号:11157454阅读:510来源:国知局
多方视频监看方法及装置与制造工艺

本发明涉及监控设备领域,尤其涉及一种多方视频监看方法及装置。



背景技术:

监控是为了更好的保护我们的人身和财产安全,在出现纠纷或有分歧事件时,作为一个还原现场的手段,成为了人们生活中不可或缺的一道安全屏障。监控在银行、超市、商场、店面、工厂、学校、小区、网吧等公共区域随处可见,各地公安机关依靠视频监控的辅助破案率也是急速的飙升,随着平安城市的建设,监控系统愈将融入我们的生活发挥着他的作用。

现有技术中,不同的客户端只能监看与之有关联关系的服务器控制的摄像头采集的视频数据,这样增大了服务器的存储压力,降低了工作效率。



技术实现要素:

本发明的主要目的在于提供一种多方视频监看方法及装置,旨在降低服务器存储视频数据的存储压力,从而提高工作效率。

为实现上述目的,本发明提供的一种多方视频监看方法包括如下步骤:

接收不同客户端发送的视频监看请求;

查询后台是否存在相应的视频数据,当查询到后台不存在相应的视频数据时,则发送询问信息至相连的服务器;

接收相连的服务器发送过来的反馈信息与相应的视频数据;

将接收到的视频数据发送至相应的客户端。优选地,所述接收不同客户端发送的视频监看请求之前还包括:

接收不同客户端发送的注册请求;

根据不同客户端的注册请求,给不同客户端分配与各个客户端相对应的注册地址,与所述客户端进行通信连接。

优选地,所述视频监看请求中的视频为相同的视频数据。

优选地,所述发送询问信息至相连的服务器的步骤之前包括:

判断不同服务器之间是否存在通讯连接;

若不存在通讯连接,则将各个服务器之间的UDP端口打开,各个服务器之间采用UDP通讯方式进行P2P通讯连接;

各个完成通讯连接后的服务器之间进行视频数据交换。

优选地,所述多方视频监看方法还包括:

将从摄像机采集到的所述视频数据存储至后台;其中,所述后台为分布式文件系统的存储集群。

此外,为实现上述目的,本发明还提供一种多方视频监看装置,所述多方视频监看装置:

第一接收模块,用于接收不同客户端发送的视频监看请求;

查询模块,用于查询后台是否存在相应的视频数据,当查询到后台不存在相应的视频数据时,则发送询问信息至相连的服务器;

第二接收模块,用于接收相连的服务器发送过来的反馈信息与相应的视频数据;

发送模块,用于将接收到的视频数据发送至相应的客户端。

优选地,所述多方视频监看装置还包括:

第三接收模块,用于接收不同客户端发送的注册请求;

注册模块,用于根据不同客户端的注册请求,给不同客户端分配与各个客户端相对应的注册地址,与所述客户端进行通信连接。

优选地,所述视频监看请求中的视频为相同的视频数据。

优选地,所述查询模块还包括:

判断单元,用于查询不同服务器之间是否存在通讯连接;

通讯连接单元,用于若不存在通讯连接,则将各个服务器之间的UDP端口打开,各个服务器之间采用UDP通讯方式进行P2P通讯连接;

交换单元,用于各个完成通讯连接后的服务器之间进行视频数据交换。

优选地,所述多方视频监看装置还包括:

采集模块,用于将从摄像机采集到的所述视频数据存储至后台;其中,所述后台为分布式文件系统的存储集群。

本发明通过接收不同客户端发送的视频监看请求;查询后台是否存在相应的视频数据,当查询到后台不存在相应的视频数据时,则发送询问信息至相连的服务器;接收相连的服务器发送过来的反馈信息与相应的视频数据;将接收到的视频数据发送至相应的客户端。采用本发明的视频监看方法实现不同客户端在同一服务器上实现视频监看,同时还可以从该服务器获取相连服务器存储的视频资源,节省资源的同时提高了效率。

附图说明

图1为本发明多方视频监看方法第一实施例的流程示意图;

图2为本发明多方视频监看方法第二实施例的流程示意图;

图3为本发明多方视频监看方法第三实施例中各个服务器之间进行通讯连接的细化流程示意图;

图4为本发明多方视频监看装置第一实施例的功能模块示意图;

图5为本发明多方视频监看装置第二实施例的功能模块示意图;

图6为本发明多方视频监看装置第三实施例中查询模块的细化功能模块示意图;

图7为多方视频监看方法的架构图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种多方视频监看方法,参照图1和图7,在第一实施例中,该多方视频监看方法包括:

步骤S10,接收不同客户端发送的视频监看请求;

在监控系统中包括众多的网络摄像机和服务器,本发明实施例提供的多方视频监看方法用于实现多个客户端监看同一摄像头相同的视频数据。

在接收客户端发送的视频监看请求之前,服务器搜寻与之匹配的摄像头。当服务器在网络中发起探测服务,只要是网络摄像机能收到所述探测服务,则都会针对所述探测服务发回反馈信息,其中反馈信息包括了自身的IP地址等信息,此时,所述服务器即找到了相应的网络摄像机。若需要进行跨网络段搜索网络摄像机,则需要路由的支撑。采用这种探测的方式寻找与服务器相对应的摄像头更加具有针对性。

这种探测服务称为ws-discovery,它定义了两种基本的实现服务发现机制的操作模式,及Ad-Hoc和Managed,在Managed模式下,一个维护所有可用目标服务的中心发现代理被建立起来,服务器只需要与该发现代理进行交互就可以进行可用服务的探测和解析得到相应的目标服务信息,而目标服务也只需要和直接发现代理交换就能实现对自身的注册。在Managed模式下,发现代理是真正的核心,而且所有消息交换的方式都是以单播的方式进行的,这样一来能够解除广播对网络的限制、扩大可用服务的范围;二来也可以避免广播引起对网络的拥堵。

具体地,本实施例中,服务器接收不同客户端发送的视频监看请求。所述服务器可以用来接收不同客户端发送的视频监看请求,根据相应的请求响应相应的操作。其中,所述客户端可以为手机、电脑或者可查看视频的设备,具体不做限制。而本实施例中的摄像头可以是各个社区内的摄像头或者是公共区域内的摄像头。通过客户端发送的请求查看各个摄像头监控下来的视频数据,上述的视频数据可以是正在录制的视频数据,也可以是已经录制的存储的视频数据,从而实现对视频的监控和回看。

需要说明的是,所述不同客户端发送的视频监看请求具体地为向多个服务器发送视频监看请求;其中,所述视频监看请求中的视频为相同的视频数据。即,不同的客户端向不同的服务器发送相同的视频数据的监看请求。对此本实施例所要解决的问题就是如何实现不同服务器之间的视频数据资源交换,从而实现对于相同的视频数据只需在一个服务器中存储,从而节省服务器的存储压力。

步骤S20,查询后台是否存在相应的视频数据,当查询到后台不存在相应的视频数据时,则发送询问信息至相连的服务器;

本实施例中,服务器所对应的摄像机采集视频数据,服务器将从摄像机采集到的所述视频数据存储至后台;其中,所述后台为分布式文件系统的存储集群。

本实施例中,所述客户端发送视频监看请求,其中,所发送的视频监看请求包括视频数据的代码,可以确切的知道需要查看的视频的时间、对应的摄像机等,以便服务器可根据相应的代码查找到相应的视频数据。具体地,服务器根据接收到的视频数据请求,向后台发送查询命令,服务器后台根据相应的指令,查询服务器的数据存储区域是否存在相应的视频数据。当服务器后台不存在相应的视频数据,则发送询问信息至与本服务器相连的其他服务器,所述的询问信息包括该视频数据的IP、时间以及对应的监控区域和对应的摄像头等等。发送询问信息意味着询问与本服务器相连的其他服务器是否存储了该视频数据的视频资源,如果其他服务器有存储相应的视频资源,则可选择向其他服务器获取该视频资源。

步骤S30,接收相连的服务器发送过来的反馈信息与相应的视频数据;

如果其他相连的服务器存在相应的视频数据,则将发送该视频数据至本服务器。从而实现不同服务器之间视频数据资源的共享,进而使得对于同一视频数据无需在不同的服务器之间分别一一进行存储,仅需在一个服务器上存储即可,很大程度上节省了服务器的存储资源。

步骤S40,将接收到的视频数据发送至相应的客户端。

本实施例中,服务器将接收的其他服务器发送过来的视频数据发送给相应的客户端。

本实施例通过接收不同客户端发送的视频监看请求;查询后台是否存在相应的视频数据,当查询到后台不存在相应的视频数据时,则发送询问信息至相连的服务器;接收相连的服务器发送过来的反馈信息与相应的视频数据;将接收到的视频数据发送至相应的客户端。采用本发明的视频监看方法实现不同客户端在同一服务器上实现视频监看,同时还可以从该服务器获取相连服务器存储的视频资源,节省资源的同时提高了效率。

进一步地,请参阅图2,基于本发明多方视频监看方法第一实施例,在本发明多方视频监看方法第二实施例中,上述步骤S10之前还包括:

步骤S11,接收不同客户端发送的注册请求;

具体地,本实施例中,不同客户端发送注册请求至相应的服务器,服务器根据客户端的请求,与客户端之间进行通信连接。

步骤S12,根据不同客户端的注册请求,给不同客户端分配与各个客户端相对应的注册地址,与所述客户端进行通信连接。

本实施例中,不同的客户端分别在相应的服务器上完成注册,以便下次登录服务器时,服务器看根据其注册信息获得其登录记录,而无需重复进行身份认证或是其他认证。

进一步地,所述不同客户端发送的视频监看请求具体地可为向多个服务器发送视频监看请求。当多个客户端监看某一个摄像头视频时,由于服务器比较多,不可能每个客户端都登录到同一台服务器上,比如客户端1登录到了服务器A,客户端B登录到了服务器B。以此缓解一个服务器的工作压力,从而提高工作效率。

进一步地,请参阅图3,基于本发明多方视频监看方法第二实施例,在本发明多方视频监看方法第三实施例中,上述步骤S10之前还包括:

步骤S101,查询不同服务器之间是否存在通讯连接;

步骤S102,若不存在通讯连接,则将各个服务器之间的UDP端口打开,各个服务器之间采用UDP通讯方式进行P2P通讯连接;

步骤S103,各个完成通讯连接后的服务器之间进行视频数据交换。

本实施例以Cone NAT为例,当服务器A和服务器B的NAT均是Cone NAT,则服务器A和服务器B之间进行P2P通信连接之前要进行打洞才能进行连接。具体地,上述的两个服务器A和服务器B之间进行打洞的方式为本领域熟知的方法,在此不一一赘述。此即常见的P2P(Peer to Peer)通道的建立。

P2P建立成功后,服务器之间就具备了相互传输数据的能力,当多个监看客户端(手机,PC等设备)要查看某一个摄像头的某一时刻的数据的时候,发出RTSP请求到服务器A,服务器A是与该摄像头进行信号连接的服务器,当服务器A收到RTSP请求后从分布式存储系统提取数据,查找客户端要求的起始位置数据,根据日期、时间等信息锁定起始位置后,传输视频数据给服务器B。服务器B由于未与摄像头连接而不能直接查看摄像头实时的视频数据,而采用这种与服务器A建立P2P通道的连接方式可通过服务器A获得摄像头的视频数据。

进而服务器B将收到的视频数据通过RTP协议发送给客户端,RTP是一种实时传输协议,主要是用于传输音视频数据,当RTSP建立成功后,RTP数据就可以开始传输了。

进一步地,本实施例中,客户端A发送视频监看请求至服务器A,所述视频监看请求是针对于已经录制好的视频,查看视频回看;客户端B发送同一视频监看请求至服务器B时,此时为了节省存储后端的压力,服务器A从存储系统获取了视频流后,直接发送给了客户端A,客户端A能够看到该视频。客户端B由于连接的是服务器B,服务器B首先去尝试与服务器A询问,如果服务器A有服务器B需要的视频数据,则直接将视频数据发送给服务器B,服务器B就不需要再从存储系统取数据了,这样就减少了后端存储系统的压力。因此在不同客户端发送同一视频监看请求至服务器时,不同的服务器之间先查询各个服务器之间是否存在通讯连接,以确认两者之间是否能进行数据传,如果各个服务器之间不存在通讯连接,则需要采用UDP通讯方式在不同服务器建立P2P通道进行连接。

本实施例通过在不同服务器之间建立P2P通道,从而实现不同服务器之间的数据传输功能,从而可对于不同客户端的视频查看的请求在服务器之间寻找相应的视频资源,以此缓解了各个服务器储存后端的储存压力,从而提高了工作效率。

本发明还提供一种多方视频监看装置,参照图4,在第一实施例中,该多方视频监看装置包括:

第一接收模块10,用于接收不同客户端发送的视频监看请求;

在监控系统中包括众多的网络摄像机和服务器,本发明实施例提供的实现多方视频监看的装置用于实现多个客户端监看同一摄像头相同的视频数据。

在接收客户端发送的视频监看请求之前,服务器搜寻与之匹配的摄像头。当服务器在网络中发起探测服务,只要是网络摄像机能收到所述探测服务,则都会针对所述探测服务发回反馈信息,其中反馈信息包括了自身的IP地址等信息,此时,所述服务器即找到了相应的网络摄像机。若需要进行跨网络段搜索网络摄像机,则需要路由的支撑。采用这种探测的方式寻找与服务器相对应的摄像头更加具有针对性。

这种探测服务称为ws-discovery,它定义了两种基本的实现服务发现机制的操作模式,及Ad-Hoc和Managed,在Managed模式下,一个维护所有可用目标服务的中心发现代理被建立起来,服务器只需要与该发现代理进行交互就可以进行可用服务的探测和解析得到相应的目标服务信息,而目标服务也只需要和直接发现代理交换就能实现对自身的注册。在Managed模式下,发现代理是真正的核心,而且所有消息交换的方式都是以单播的方式进行的,这样一来能够解除广播对网络的限制、扩大可用服务的范围;二来也可以避免广播引起对网络的拥堵。

具体地,本实施例中,服务器中的接收模块接收不同客户端发送的视频监看请求。所述服务器可以用来接收不同客户端发送的视频监看请求,根据相应的请求响应相应的操作。其中,所述客户端可以为手机、电脑或者可查看视频的设备,具体不做限制。而本实施例中的摄像头可以是各个社区内的摄像头或者是公共区域内的摄像头。通过客户端发送的请求查看各个摄像头监控下来的视频数据,上述的视频数据可以是正在录制的视频数据,也可以是已经录制的存储的视频数据,从而实现对视频的监控和回看。

需要说明的是,所述不同客户端发送的视频监看请求具体地为可向多个服务器发送视频监看请求;其中,所述视频监看请求中的视频为相同的视频数据。即,不同的客户端向不同的服务器发送相同的视频数据的监看请求。对此本实施例所要解决的问题就是如何实现不同服务器之间的交换,从而实现对于相同的视频数据只需在一个服务器中存储,从而节省服务器的存储压力。

查询模块20,用于查询后台是否存在相应的视频数据,当查询到后台不存在相应的视频数据时,则发送询问信息至相连的服务器;

本实施例中,服务器所对应的摄像机采集视频数据,服务器的采集模块将从摄像机采集到的所述视频数据存储至后台;其中,所述后台为分布式文件系统的存储集群。

本实施例中,所述客户端发送视频监看请求,其中,所发送的视频监看请求包括视频数据的代码,可以确切的知道需要查看的视频的时间、对应的摄像机等,以便服务器可根据相应的代码查找到相应的视频数据。具体地,服务器的查询模块根据接收到的视频数据请求,向后台发送查询命令,服务器后台根据相应的指令,查询服务器的数据存储区域是否存在相应的视频数据。当服务器后台不存在相应的视频数据,则发送询问信息至与本服务器相连的其他服务器,所述的询问信息包括该视频数据的IP、时间以及对应的监控区域和对应的摄像头等等。发送询问信息意味着询问与本服务器相连的其他服务器是否存储了该视频数据的视频资源,如果其他服务器有存储相应的视频资源,则可选择向其他服务器获取该视频资源。

第二接收模块30,接收相连的服务器发送过来的反馈信息与相应的视频数据;

如果其他相连的服务器存在相应的视频数据,则将发送该视频数据至本服务器。从而实现不同服务器之间视频数据资源的共享,进而使得对于同一视频数据无需在不同的服务器之间分别一一进行存储,仅需在一个服务器上存储即可,很大程度上节省了服务器的存储资源。

发送模块40,用于将接收到的视频数据发送至相应的客户端。

本实施例中,服务器将接收的其他服务器发送过来的视频数据发送给相应的客户端。

本实施例通过接收不同客户端发送的视频监看请求;查询后台是否存在相应的视频数据,当查询到后台不存在相应的视频数据时,则发送询问信息至相连的服务器;接收相连的服务器发送过来的反馈信息与相应的视频数据;将接收到的视频数据发送至相应的客户端。采用本发明的视频监看方法实现不同客户端在同一服务器上实现视频监看,同时还可以从该服务器获取相连服务器存储的视频资源,节省资源的同时提高了效率。

进一步地,请参阅图5,基于本发明多方视频监看装置第一实施例,在本发明多方视频监看装置第二实施例中,所述多方视频监看装置还包括:

第三接收模块11,用于接收不同客户端发送的注册请求;

具体地,本实施例中,不同客户端发送注册请求至相应的服务器,服务器根据客户端的请求,与客户端之间进行通信连接。

注册模块12,用于根据不同客户端的注册请求,给不同客户端分配与各个客户端相对应的注册地址。

本实施例中,不同的客户端分别在相应的服务器上完成注册,以便下次登录服务器时,服务器看根据其注册信息获得其登录记录,而无需重复进行身份认证或是其他认证。

进一步地,所述不同客户端发送的视频监看请求具体地可为向多个服务器发送视频监看请求。当多个客户端监看某一个摄像头视频时,由于服务器比较多,不可能每个客户端都登录到同一台服务器上,比如客户端1登录到了服务器A,客户端B登录到了服务器B。以此缓解一个服务器的工作压力,从而提高工作效率。

进一步地,请参阅图6,基于本发明多方视频监看装置第二实施例,在本发明多方视频监看装置第三实施例中,所述查询模块还包括:

查询单元101,用于查询不同服务器之间是否存在通讯连接;

通讯连接单元102,用于当不存在通讯连接时,则将各个服务器之间的UDP端口打开,各个服务器之间采用UDP通讯方式进行P2P通讯连接;

交换单元103,用于各个完成通讯连接后的服务器之间进行视频数据交换。

本实施例以Cone NAT为例,当服务器A和服务器B的NAT均是Cone NAT,则服务器A和服务器B之间进行P2P通信连接之前要进行打洞才能进行连接。具体地,上述的两个服务器A和服务器B之间进行打洞的方式为本领域熟知的方法,在此不一一赘述。此即常见的P2P(Peer to Peer)通道的建立。

P2P建立成功后,服务器之间就具备了相互传输数据的能力,当多个监看客户端(手机,PC等设备)要查看某一个摄像头的某一时刻的数据的时候,发出RTSP请求到服务器A,服务器A是与该摄像头进行信号连接的服务器,当服务器A收到RTSP请求后从分布式存储系统提取数据,查找客户端要求的起始位置数据,根据日期、时间等信息锁定起始位置后,传输视频数据给服务器B。服务器B由于未与摄像头连接而不能直接查看摄像头实时的视频数据,而采用这种与服务器A建立P2P通道的连接方式可通过服务器A获得摄像头的视频数据。

进而服务器B将收到的视频数据通过RTP协议发送给客户端,RTP是一种实时传输协议,主要是用于传输音视频数据,当RTSP建立成功后,RTP数据就可以开始传输了。

进一步地,本实施例中,客户端A发送视频监看请求至服务器A,所述视频监看请求是针对于已经录制好的视频,查看视频回看;客户端B发送同一视频监看请求至服务器B时,此时为了节省存储后端的压力,服务器A从存储系统获取了视频流后,直接发送给了客户端A,客户端A能够看到该视频。客户端B由于连接的是服务器B,服务器B首先去尝试与服务器A询问,如果服务器A有服务器B需要的视频数据,则直接将视频数据发送给服务器B,服务器B就不需要再从存储系统取数据了,这样就减少了后端存储系统的压力。因此在不同客户端发送同一视频监看请求至服务器时,不同的服务器之间先查询各个服务器之间是否存在通讯连接,以确认两者之间是否能进行数据传,如果各个服务器之间不存在通讯连接,则需要采用UDP通讯方式在不同服务器建立P2P通道进行连接。

本实施例通过在不同服务器之间建立P2P通道,从而实现不同服务器之间的数据传输功能,从而可对于不同客户端的视频查看的请求在服务器之间寻找相应的视频资源,以此缓解了各个服务器储存后端的储存压力,从而提高了工作效率。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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