一种类P2P实时视频转发的方法与流程

文档序号:12730937阅读:1067来源:国知局
一种类P2P实时视频转发的方法与流程

本发明涉及视频监控技术领域,具体涉及一种类P2P实时视频转发的方法。



背景技术:

对等网络,即对等计算机网络,是一种在对等者之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。从字面上,P2P可以理解为对等计算或对等网络。国内一些媒体将P2P翻译成“点对点”或者“端对端”,学术界则统一称为对等网络或对等计算,其定义为:网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源通过网络提供服务和内容,能被其他对等节点直接访问而无需经过中间实体。在此网络中的参与者既是资源、服务和内容的提供者,又是资源、服务和内容的获取者。

对等网络是一种网络结构的思想。它与目前网络中占据主导地位的客户端/服务器结构的一个本质区别是,整个网络结构中不存在中心节点(或中心服务器)。在P2P结构中,每一个节点大都同时具有信息消费者、信息提供者和信息通讯等三方面的功能。从计算模式上来说,P2P打破了传统的Client/Server模式,在网络中的每个节点的地位都是对等的。每个节点既充当服务器,为其他节点提供服务,同时也享用其他节点提供的服务。

目前网络中占据主导地位的客户端/服务器结构在视频监控系统中比较常见,每个客户端请求视频时,都与视频服务器建立单独的网络连接,如果多个客户端都请求一份相同视频时,视频服务器也需要建立相同路数的视频连接,成倍路数的视频连接占据网络带宽,浪费了系统中大量的网络带宽。



技术实现要素:

本发明所要解决的技术问题,是针对上述存在的技术不足,提供了一种类P2P实时视频转发的方法。

为解决上述技术问题,本发明所采用的技术方案是:一种类P2P实时视频转发的方法,包括有视频服务器和主控节点,其中视频服务器作为主控节点,其他所有的视频请求客户端全部作为对等视频节点,具体包括如下步骤:

步骤A:新的对等视频节点加入系统并请求视频时,需要跟主控节点进行信令交互,从而获取服务提供者;

步骤B:新的服务提供者向对等视频节点提供视频资源服务,同时此节点作为新的视频资源提供者向外提供服务;

步骤C:对等视频节点离开系统时,主控节点更新节点信息列表。

优选的,所述的主控节点保存了所有视频资源列表,并作为原始的视频服务提供者,在系统中提供视频服务,且所述的视频服务器保存了所有节点信息列表,并管理对等视频节点的加入、离开及服务请求。

优选的,所述的视频资源列表中每个视频资源的信息包括有资源的IP地址、服务提供的端口、视频流名称、视频流传输协议。

优选的,所述的视频流传输协议为RTSP实时视频流协议。

优选的,所述的节点信息列表中每个节点的信息包括有节点的IP地址、服务提供的端口、视频流名称、视频流传输协议、节点的网络状态、节点类型。

优选的,所述的节点类型有存储服务软件、解码器、软件客户端。

优选的,所述的对等视频节点为其它所有的视频请求客户端,对等视频节点具有视频请求者、视频提供者和信息通讯三个功能。

本发明所述的方法,整体降低了视频传输的带宽需求,减轻了服务提供者的运行负荷,提高了视频服务质量,并具有向视频传输领域推广的意义。

附图说明

图1为一种类P2P实时视频转发的方法的通讯流程图。

图2为一种类P2P实时视频转发的方法的视频流流向状态转换图。

图3为一种类P2P实时视频转发的方法的数据流向图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

本发明中所述的视频服务器作为主控节点,其他所有的视频请求客户端全部作为对等视频节点,结合图1,本发明提出的一种类P2P实时视频转发的方法包括有以下步骤:

步骤A:新的对等视频节点加入系统并请求视频时,需要跟主控节点进行信息通讯,从而获取服务提供者,其中所述的对等视频节点与主控节点建立连接,进行请求资源可用操作,可控节点反馈资源可用的列表回应;对等视频节点根据接受的资源列表回应,选择请求资源,将请求资源的描述信息发送给主控节点;主控节点根据请求资源的描述信息和对等视频节点信息,在管理的资源列表中选择合适的服务提供者信息返回给请求节点。

步骤B:新的服务提供者向对等视频节点提供视频资源服务,同对等视频节点作为新的视频资源提供者向外提供服务,其中对等视频节点与步骤A获知的服务提供者(另外一个对等视频节点)建立网络连接,通过标准的RTSP实时视频流协议获取视频。

步骤C:对等视频节点离开系统时,主控节点更新节点信息列表,其中对等视频节点主动离开系统时,通知主控节点,主控节点更新维护的节点信息列表;对等视频节点被动离开系统时,主控节点通过通讯检测方式,或者下级节点上报此节点故障的方式都可以快速得知节点状态,更新维护节点信息列表。

结合图2所示的一种类P2P实时视频转发的方法的视频流流向状态转换图,流向状态的转换是为了根据每个节点的类型,控制节点在整个视频流传输过程中的节点位置,因为不同位置获得视频的时间存在差异,最后节点获取视频的延时性肯定比第一节点大,所述的状态具体包括:

状态1:只有存储服务器节点访问视频流,存储服务器访问主控节点,主控节点与存储服务器通讯,存储服务器获取指定数据源的视频进行本地存储。

状态2:解码器请求视频流时,主控节点将解码器节点加入到摄像机节点后,其它节点前,通过节点传输的排列,解码器可以第一时间获取到视频流,保证视频显示的及时性。

结合本实施例所述的一种类P2P实时视频转发的方法,当系统中视频流1的传输路径为摄像机节点—>存储服务器节点时,处于状态1,解码器加入此传输路径,主控节点调整每个对等视频节点获取视频源的服务提供地址,摄像机节点将成为解码器节点的服务提供者,解码器节点成为存储服务器节点的服务提供者。视频流1的传输路径调整为摄像机节点—>解码器节点—>存储服务器节点,此时状态1变为状态2。

状态3:Web客户端请求视频流时,主控节点将web客户端节点加入到存储服务器节点前,其它节点后。

结合本实施例所述的一种类P2P实时视频转发的方法,当系统中视频流1的传输路径为摄像机节点—>解码器节点—>存储服务器节点时,web客户端加入此传输路径,主控节点调整每个对等视频节点获取视频源的服务提供地址,解码器节点成为web客户端节点的服务提供者,web客户端节点成为存储服务器节点的服务提供者,视频流1的传输路径调整为摄像机节点—>解码器节点—>web客户端节点—>存储服务器节点,此时状态2变为状态3。

状态4:解码器退出时,解码器后的节点直接访问摄像机节点的视频源。

结合本实施例所述的一种类P2P实时视频转发的方法,当系统中视频流1的传输路径为摄像机节点—>解码器节点—>web客户端节点—>存储服务器节点时,处于状态3;当解码器节点退出时,web客户端节点的服务提供者由解码器节点变为摄像机节点,传输路径为摄像机节点—>web客户端节点—>存储服务器节点,此时状态3变成状态4。

当系统中视频流1的传输路径为摄像机节点—>web客户端节点—>存储服务器节点时,处于状态4,当web客户端节点退出时,存储服务器节点的服务提供者由解码器节点变为摄像机节点,传输路径为摄像机节点—>存储服务器节点,此时状态4变为状态1。

结合图3所示的一种类P2P实时视频转发的方法的数据流向图,每个节点获取视频数据,并为下一个节点提供视频数据,节点通过P2P服务程序获取视频访问地址,通过其它节点获取视频数据。

数据流向说明:

流1:有电视墙或监视器视频请求,无web客户端视频请求,前端摄像机上传视频给解码器,解码器转换数字视频为模拟视频提供给电视墙或监视器,同时转发视频到存储服务器。

流2:有电视墙或监视器视频请求和web客户端视频请求,前段摄像机上传视频给解码器,解码器转换数字视频为模拟视频提供给电视墙或监视器,同时转发视频到视频直播服务器,视频直播服务器转换数字视频为web客户端码流提供给web客户端播放,同时转发视频到存储服务器。

流3:无电视墙或监视器视频请求,有web客户端视频请求,前段摄像机上传视频给视频直播服务器,视频直播服务器转换数字视频为web客户端播放,同时转发视频到存储服务器。

流4:无任何视频请求,前端摄像机上传视频给存储服务器。

本发明所述的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

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