一种网络视频数据处理方法和处理系统与流程

文档序号:24387840发布日期:2021-03-23 11:22阅读:78来源:国知局
一种网络视频数据处理方法和处理系统与流程

本发明主要涉及信息技术领域,尤其涉及一种网络视频数据处理方法和处理系统。



背景技术:

onvif(opennetworkvideointerfaceforum,开放型网络视频接口论坛)规范是基于ip的视频监控设备之间互联互通的开放协议,主要适用于局域网内。也就是说,局域网内,遵循onvif规范的视频客户端和视频设备之间通过私有ip地址方便进行音视频通信。在实际应用过程中,许多厂商通过nat(networkaddresstranslation,网络地址转换)加上p2p(peertopeer,点对点/对等网络)服务器的方式扩展onvif规范,让视频客户端和视频设备获得公有ip地址,从而可以在internet公网上进行通信。



技术实现要素:

本发明要解决的技术问题是提供一种网络视频数据处理方法和处理系统。

为解决上述技术问题,本发明提供了一种网络视频数据处理方法,包括以下步骤:视频客户端向服务器端查询视频设备的在线状态、公有ip地址及端口、私有ip地址以及uuid信息;所述视频客户端基于所述查询获取的信息判断所述视频客户端和所述视频设备是否处于同一局域网;如果所述判断的结果为处于同一局域网,则所述视频客户端建立与视频设备的私有ip连接,并在所述私有ip连接上启动视频数据传输;如果所述判断的结果为不处于同一局域网,则所述视频客户端建立与视频设备的公有ip连接,并在所述公有ip连接上启动视频数据传输。

在本发明的一实施例中,所述视频客户端基于所述查询获取的信息判断所述视频客户端和所述视频设备是否处于同一局域网的步骤包括:检查所述视频客户端的私有ip地址和所述视频设备的私有ip地址的网络地址是否相同,如果所述检查的结果为不同,则所述视频客户端和所述视频设备不处于同一局域网。

在本发明的一实施例中,所述网络地址是所述私有ip地址和对应的子网掩码进行与运算得到。

在本发明的一实施例中,所述视频客户端基于所述查询获取的信息判断所述视频客户端和所述视频设备是否处于同一局域网的步骤包括:检查所述视频客户端的私有ip地址和所述视频设备的私有ip地址的网络地址是否相同;当所述检查的结果为相同,则所述视频客户端在局域网内启动视频设备发现过程,并基于所述发现过程获取所述视频设备的uuid信息;所述视频客户端判断所述向服务器端查询的得到uuid信息和基于所述发现过程得到所述视频设备的uuid信息是否一致;如果所述判断的结果为不一致,则所述视频客户端和所述视频设备不处于同一局域网;如果所述判断的结果为一致,则所述视频客户端和所述视频设备处于同一局域网。

在本发明的一实施例中,所述视频客户端在局域网内启动视频设备发现过程采用单播或多播方式。

在本发明的一实施例中,所述视频客户端基于所述查询获取的信息判断所述视频客户端和所述视频设备是否处于同一局域网的步骤还包括:如果基于所述发现过程在一特定的时间内未获取到所述视频设备的uuid信息,则判断所述视频客户端和所述视频设备不处于同一局域网。

在本发明的另一实施例中,所述视频设备在所述公有ip连接上启动视频数据传输后,当所述视频客户端检测到其私有ip地址发生变化时,所述视频客户端基于所述查询获取的信息判断所述视频客户端和所述视频设备是否处于同一局域网;如果所述判断的结果为处于同一局域网,则所述视频客户端建立与视频设备的私有ip连接,并在所述私有ip连接上启动视频数据传输。

在本发明的另一实施例中,所述视频客户端在所述私有ip连接上启动视频数据传输后,停止在所述公有ip连接上传输视频数据并同步所述视频数据的时间戳。所述视频设备在所述私有ip连接上启动视频数据传输后,当所述视频客户端检测到其私有ip地址发生变化时,检测所述视频客户端是否与所述视频设备仍保有公有ip连接;当保有公有ip连接时,所述视频客户端在所述公有ip连接上启动视频数据传输并同步所述视频数据的时间戳;当未保有公有ip连接时,所述视频客户端建立与所述视频设备的公有ip连接,并在所述建立的公有ip连接上启动视频数据传输。

本发明还提供一种网络视频数据处理系统,包括:

视频设备,用于采集和传输视频数据;服务器端,用于接收、存储和传输数据信息;所述服务器端存储有所述视频设备的在线状态、公有ip地址及端口、私有ip地址以及uuid信息;视频客户端,被配置为执行如下操作:向服务器端查询视频设备的在线状态、公有ip地址及端口、私有ip地址以及uuid信息;基于所述查询获取的信息判断所述视频客户端和所述视频设备是否处于同一局域网;如果所述判断的结果为处于同一局域网,则所述视频客户端建立与视频设备的私有ip连接,并在所述私有ip连接上启动视频数据传输;如果所述判断的结果为不处于同一局域网,则所述视频客户端建立与视频设备的公有ip连接,并在所述公有ip连接上启动视频数据传输。

与现有技术相比,本发明具有以下优点:通过实现音视频流在公有ip连接和私有ip连接之间的自动切换,充分发挥私有ip连接和公有ip连接各自的优势既能充分利用公有连接的全局可连通性,又能发挥局域网连接的高可靠、低时延、高带宽、低成本的优势,给用户带来较佳的使用体验。

附图说明

附图是为提供对本申请进一步的理解,它们被收录并构成本申请的一部分,附图示出了本申请的实施例,并与本说明书一起起到解释本发明原理的作用。附图中:

图1是本申请一实施例的网络视频数据处理方法的流程图。

图2是本申请一实施例的网络视频数据处理系统的组成示意图。

图3是本申请一实施例的网络视频数据处理系统的视频客户端判断其和视频设备是否处于同一局域网的步骤流程图。

图4是申请一实施例的局域网设备发现过程的示意图。

具体实施方式

为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。

如本申请所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

此外,需要说明的是,使用“第一”、“第二”等词语来限定零部件,仅仅是为了便于对相应零部件进行区别,如没有另行声明,上述词语并没有特殊含义,因此不能理解为对本申请保护范围的限制。此外,尽管本申请中所使用的术语是从公知公用的术语中选择的,但是本申请说明书中所提及的一些术语可能是申请人按他或她的判断来选择的,其详细含义在本文的描述的相关部分中说明。此外,要求不仅仅通过所使用的实际术语,而是还要通过每个术语所蕴含的意义来理解本申请。

本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,或将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。

如前述,在视频客户端和视频设备之间进行视频数据通信的实际应用过程中,许多厂家通过nat加上p2p服务器的方式扩展onvif规范,让视频客户端和视频设备获得公有ip地址,从而可以在internet公网上进行通信。但这样存在的问题是:视频客户端和视频设备一旦使用公有ip地址进行通信,它们会一直使用公有ip地址进行通信,即使它们已经处于同一局域网内。事实上,局域网的私有ip连接更具有高可靠、低时延、高吞吐率、低成本的特点,要比公有ip连接进行通信更有优势。

本申请的实施例描述一种网络视频数据处理方法和处理系统。图1是本申请一实施例的网络视频数据处理方法的流程图。

如图1所示,本申请的网络视频数据处理方法包括,步骤101,视频客户端向服务器端查询视频设备的在线状态、公有ip地址及端口、私有ip地址以及uuid信息。步骤102,视频客户端基于所查询获取的信息判断视频客户端和视频设备是否处于同一局域网。步骤103,如果判断的结果为处于同一局域网,则该视频客户端建立与该视频设备的私有ip连接,并在该私有ip连接上启动视频数据传输。步骤104,如果判断的结果为不处于同一局域网,则该视频客户端建立与该视频设备的公有ip连接,并在该公有ip连接上启动视频数据传输。

图2是本申请一实施例的网络视频数据处理系统的组成示意图。如图2所示,本申请的网络视频数据处理系统200包括视频客户端201、服务器端202和视频设备203。

视频设备是指提供视频服务的设备,比如ipcamera(网络摄像头);视频客户端是指请求视频服务的实体,比如移动端的ipcamera客户端应用软件。服务器端包括提供和存储视频设备和视频客户端信息和状态的服务器,例如p2p服务器。

在网络视频数据处理系统的视频业务启动之前,需要先完成视频设备的注册过程和视频客户端绑定视频设备的过程。在视频设备的注册过程中,视频设备开机后,会将其设备标识uuid、私有ip地址、公有ip地址及端口等信息注册到服务器端,例如p2p服务器上。uuid是视频设备的通用唯一识别码(universallyuniqueidentifier)。视频设备的uuid,是设备的全球通用唯一识别码。私有ip地址例如为ipv4或者ipv6的本地链接地址。公有ip地址及端口例如是通过nat方式获取的公有映射ip地址及端口。nat方式只是获取公有ip地址的一种方式,也可以通过其他方式,如upnp(universalplugandplay,通用即插即用)等方式获取的公有映射ip地址及端口。这里的公有ip地址可以是ipv4或ipv6地址。在视频客户端绑定视频设备的过程中,视频客户端根据注册的用户名和密码访问p2p服务器后,通过视频设备的uuid绑定需要访问的视频设备。

在一实施例中,视频设备203用于采集和传输视频数据。服务器端可用于接收、存储和传输数据信息,服务器端存储有所述视频设备的在线状态、公有ip地址及端口、私有ip地址以及uuid信息。视频客户端201可被配置为执行前述的步骤101至步骤104的操作。

具体地,在步骤101,视频客户端通过internet公网网络向服务器端查询视频设备的在线状态、公有ip地址及端口、私有ip地址以及uuid信息。如果视频设备显示为在线状态,则其公有ip地址及端口,私有ip地址以及uuid均可被传输至视频客户端。

在步骤102,视频客户端基于所述查询获取的信息判断所述视频客户端和所述视频设备是否处于同一局域网。

在一实施例中,如图3所例示,视频客户端基于所述查询获取的信息判断视频客户端和视频设备是否处于同一局域网的步骤包括,检查视频客户端的私有ip地址和视频设备的私有ip地址的网络地址是否相同,如果检查的结果为不同,则视频客户端和视频设备不处于同一局域网。该网络地址例如通过将私有ip地址和对应的子网掩码进行与运算得到。

在另一些实施例中,视频客户端基于所述查询获取的信息判断视频客户端和视频设备是否处于同一局域网的步骤包括,步骤301,检查所述视频客户端的私有ip地址和所述视频设备的私有ip地址的网络地址是否相同;步骤302,当所述检查的结果为相同,则所述视频客户端在局域网内启动视频设备发现过程,并基于所述发现过程获取所述视频设备的uuid信息;步骤303,视频客户端判断所述向服务器端查询的得到uuid信息和基于所述发现过程得到所述视频设备的uuid信息是否一致;步骤304,如果所述判断的结果为不一致,则所述视频客户端和所述视频设备不处于同一局域网;步骤305,如果所述判断的结果为一致,则所述视频客户端和所述视频设备处于同一局域网。

在步骤301,检查视频客户端的私有ip地址和视频设备的私有ip地址的网络地址是否相同,网络地址例如通过将私有ip地址和对应的子网掩码进行与运算得到。

在步骤302,当所述检查的结果为相同,则所述视频客户端在局域网内启动视频设备发现过程,并基于所述发现过程获取所述视频设备的uuid信息。在一实施例中,视频客户端在局域网内启动视频设备发现过程采用单播或多播方式。单播(unicast)的情形下,信息的接收和传递只在两个节点之间进行。“多播(multicast)”也可以称为“组播”,采用多播方式,既可以实现一次传送所有目标节点的数据,也可以达到只对特定对象传送数据的目的。

如前述,在一实施例中,视频客户端在局域网内以单播形式或者多播形式发起设备发现过程。图4是本申请一实施例的局域网设备发现过程的示意图。局域网设备发现协议的种类很多,原理亦类似,具体例如为请求服务的客户端在局域网内向一个特定的多播地址和端口发送服务请求消息,如果网络内存在支持该服务请求的设备,它会通过单播方式响应客户端的请求。如果客户端已经知道设备的ip地址,它也可以直接以单播方式向设备请求服务。本发明以onvif协议的设备发现协议为例展示设备发现过程。

在一些实施例中,以单播形式发起的设备发现过程时可根据视频设备的私有ip地址在局域网内发起设备发现过程。以多播方式在局域网内发起设备发现过程时,onvif设备发现多播的ip地址为239.255.255.255,端口号为3702。具体地,如图4所例示,视频客户端以单播或多播方式向局域网内的视频设备发送probe请求,包含请求服务的类型(types)和范围(scopes)。如视频设备支持该服务请求,则可以单播的形式应答probematch,其中包含该视频设备的uuid。

接下来,在步骤303,视频客户端判断所述向服务器端查询的得到uuid信息和基于所述发现过程得到所述视频设备的uuid信息是否一致。而后,在步骤304和步骤305,如果所述判断的结果为不一致,则所述视频客户端和所述视频设备不处于同一局域网;如果所述判断的结果为一致,则所述视频客户端和所述视频设备处于同一局域网。

在本申请的一实施例中,视频客户端基于所查询获取的信息判断视频客户端和视频设备是否处于同一局域网的步骤还包括:如果基于该发现过程在一特定的时间内未获取到所述视频设备的uuid信息,则判断视频客户端和视频设备不处于同一局域网。该特定时间的长度可根据实际的网络情形进行设定。

其后进行的是本申请技术方案的步骤103和步骤104,即如果判断的结果为处于同一局域网,则该视频客户端建立与该视频设备的私有ip连接,并在该私有ip连接上启动视频数据传输。如果判断的结果为不处于同一局域网,则该视频客户端建立与该视频设备的公有ip连接,并在该公有ip连接上启动视频数据传输。

在本申请的一些实施例中,在视频设备在公有ip连接上启动视频数据传输后,当视频客户端检测到其私有ip地址发生变化时,该视频客户端将基于之前的查询获取的信息再次判断视频客户端和视频设备是否处于同一局域网。

判断的方法例如为,检查视频客户端变化后的私有ip地址和视频设备的私有ip地址的网络地址是否相同,如果所述检查的结果为不同,则所述视频客户端和所述视频设备不处于同一局域网。网络地址可通过私有ip地址和对应的子网掩码进行与运算得到。

判断的方法还可例如为,检查视频客户端的私有ip地址和所述视频设备的私有ip地址的网络地址是否相同;当检查的结果为相同,则视频客户端在局域网内启动视频设备发现过程,并基于发现过程获取所述视频设备的uuid信息;视频客户端判断向服务器端查询的得到uuid信息和基于发现过程得到所述视频设备的uuid信息是否一致;如果判断的结果为不一致,则视频客户端和所述视频设备不处于同一局域网;如果判断的结果为一致,则视频客户端和所述视频设备处于同一局域网。

而后,如果所述判断的结果为处于同一局域网,则所述视频客户端建立与视频设备的私有ip连接,并在所述私有ip连接上启动视频数据传输。所述视频客户端在所述私有ip连接上启动视频数据传输后,停止在所述公有ip连接上传输视频数据并同步所述视频数据的时间戳,并结合考虑到客户端一般都有音视频数据的缓存,因此可实现视频数据传输的无缝切换,保证用户的使用体验。

在本申请的另一些实施例中,在视频设备在私有ip连接上启动视频数据传输后,当该视频客户端检测到其私有ip地址发生变化时,检测该视频客户端是否与该视频设备仍保有公有ip连接。

当此时视频客户端是否与该视频设备之间仍保有公有ip连接时,所述视频客户端在所述公有ip连接上启动视频数据传输并同步所述视频数据的时间戳,以实现视频数据传输的无缝切换;当未保有公有ip连接时,视频客户端建立与视频设备的公有ip连接,并在该新建立的公有ip连接上启动视频数据传输。

随着ip网络通信技术的发展和camera技术的进步,视频监控设备的视频流已由标清、高清(1080p)转向超高清(2k,4k,8k),对网络带宽和可靠性提出更高的要求。相比广域网,局域网更能保证网络带宽和可靠性。一般情况下,视频设备和视频客户端会同时具有公有ip地址和私有ip地址,如果视频客户端能够通过局域设备发现协议动态监测和视频设备属于同一局域网,实现音视频流在公有ip连接和私有ip连接之间的自动切换,则能充分发挥私有ip连接和公有ip连接各自的优势,给客户更好的体验。这也是本项发明带来的技术效果:既能充分利用公有连接的全局可连通性,又能发挥局域网连接的高可靠、低时延、高带宽、低成本的优势。同时,通过私有连接分担公有连接数据业务,降低对公有中继服务器的冲击,减少了对公有带宽的需求,降低了总体运营成本。

本申请的技术方案可直接应用于基于ip的视频监控领域,具体例如应用于视频客户端(clientapp)和视频设备(ipcamera)之间的音视频业务通信方面。该发明也可应用于同时具有公有ip地址(包括经过nat映射的ip地址或upnp端口映射的ip地址等)和私有ip地址的两个通信实体之间,实现公有ip连接和私有ip连接数据业务自动分担。

上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述发明披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。

同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。

本申请的一些方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。处理器可以是一个或多个专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dapd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器或者其组合。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。例如,计算机可读介质可包括,但不限于,磁性存储设备(例如,硬盘、软盘、磁带……)、光盘(例如,压缩盘cd、数字多功能盘dvd……)、智能卡以及闪存设备(例如,卡、棒、键驱动器……)。

计算机可读介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等等、或合适的组合形式。计算机可读介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、射频信号、或类似介质、或任何上述介质的组合。

同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

虽然本申请已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本申请,在没有脱离本申请精神的情况下还可作出各种等效的变化或替换,因此,只要在本申请的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。

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