一种远程摄像头注入云主机的网络带宽预测方法与流程

专利2023-02-20  110



1.本公开涉及图像传输技术领域,尤其涉及一种远程摄像头注入云主机的网络带宽预测方法。


背景技术:

2.业务重定向是将远程摄像头注入云主机的一种常见方式,业务重定向原理为:在云主机上虚拟一个摄像头设备,云主机上的摄像头设备只是一个数据接收端,远程接入设备上面有一个数据发送端,真实数据来源于远程接入设备读取摄像头的编码数据,通过发送端发到云主机的数据接收端,再通过虚拟摄像头设备上报。其中,编码数据是由摄像头硬核编码器透传至云主机上,由云主机内的app读取使用。
3.在这种远程摄像头使用场景中,远程接入设备和云主机之间的这段网络的质量会对实际的摄像头使用产生较大影响,因为对于云主机上面需要使用摄像头数据的app而言,这段网络是不存在的,无法感知。这也意味着摄像头的控制只能在远程接入设备本地配置好摄像头编码参数,不同的场景下,配置不同的画面质量及输出码流,都需要手动修改,比较繁琐。
4.另外,相关技术中,app所处网络与接入网络(远程接入设备和云主机之间的网络)之间并没有联动,app只会将自身所支持的带宽大小通知给摄像头,而这些信息是透传的,并不能修改。这就导致一种情况:比如,app所处网络支持10m的码流,接入网络只支持5m码流,那么摄像头就会输出10m码流,但是,由于接入网络带宽较小,与摄像头输入码流大小不匹配,就会导致码流数据传输卡顿。因此,需要对云主机与远程接入设备之间的网络进行预测。
5.因此,有必要提供一种新的技术方案改善上述方案中存在的一个或者多个问题。
6.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

7.本公开的目的在于提供一种远程摄像头注入云主机的网络带宽预测方法,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
8.根据本公开实施例的第一方面,提供了一种远程摄像头注入云主机的网络带宽预测方法,该方法包括:
9.远程接入设备调用虚拟摄像头;
10.接收虚拟摄像头发送的丢包率,并预测基于所述丢包率的第一带宽预测值;
11.接收虚拟摄像头发送的延时值,并预测基于所述延时值的第二带宽预测值;
12.基于所述第一带宽预测值和所述第二带宽预测值以及预配置的码率上限、预配置的码率下限,获得最终的带宽预测值。
13.本公开的实施例中,所述接收虚拟摄像头发送的丢包率,并预测基于所述丢包率
的第一带宽预测值的步骤中包括:
14.当所述丢包率小于第一阈值时,则预测出对应的第一带宽预测值,且所述第一带宽预测值的预测公式为:
15.bw1(i)=bw1(i-1)*1.05
ꢀꢀꢀꢀ
(1)
16.其中,bw1(i-1)为上一时刻的第一带宽预测值,bw1(i))为当前时刻的第一带宽预测值。
17.本公开的实施例中,所述接收虚拟摄像头发送的丢包率,并预测基于丢包率的第一带宽预测值的步骤中包括:
18.当所述丢包率大于第二阈值,且所述第二阈值大于第一阈值时,则预测出对应的第一带宽预测值,且所述第一带宽预测值的预测公式为:
19.bw1(i)=bw1(i-1)*(1-0.5*packet_lost_rate)
ꢀꢀꢀ
(2)
20.其中,bw1(i-1)为上一时刻的第一带宽预测值,bw1(i)为当前时刻的第一带宽预测值,packet_lost_rate表示丢包率。
21.本公开的实施例中,所述接收虚拟摄像头发送的丢包率,并预测基于丢包率的第一带宽预测值的步骤中包括:
22.当所述丢包率大于等于第一阈值且小于等于第二阈值时,预测出对应的第一带宽预测值,且所述第一带宽预测值的预测公式为:
23.bw1(i)=bw1(i-1)
ꢀꢀꢀꢀ
(3)
24.其中,bw1(i-1)为上一时刻的第一带宽预测值,bw1(i)为当前时刻的第一带宽预测值。
25.本公开的实施例中,所述接收虚拟摄像头发送的丢包率,并预测基于丢包率的第一带宽预测值的步骤中包括:
26.若预设时长内丢包率持续低于第一阈值,且当前时刻的第一带宽预测值与当前码流的差值大于预设上涨值时,则当前时刻的第一带宽预测值不再增加。
27.本公开的实施例中,所述接收虚拟摄像头发送的延时值,并预测基于延时值的第二带宽预测值的步骤中包括:
28.当所述延时值小于预设网络往返时延时,则预测出对应的第二带宽预测值,且所述第二带宽预测值的预测公式为:
29.bw2(i)=bw2(i-1)
ꢀꢀꢀꢀ
(4)
30.其中,bw2(i)为基于延时值的当前时刻的第二带宽预测值,bw2(i-1)为基于延时值的上一时刻的第二带宽预测值。
31.本公开的实施例中,所述接收虚拟摄像头发送的延时值,并预测基于延时值的第二带宽预测值的步骤中包括:
32.当所述延时值大于等于预设网络往返时延时,则预测出对应的第二带宽预测值,且所述第二带宽预测值的计算公式为:
33.bw2(i)=0.95*bw2(i-1)
ꢀꢀꢀꢀ
(5)
34.其中,bw2(i)为基于延时值的当前时刻的第二带宽预测值,bw2(i-1)为基于延时值的上一时刻的第二带宽预测值。
35.根据本公开实施例的第二方面,提供了一种远程摄像头注入云主机的网络带宽预
测方法,该方法包括:
36.虚拟摄像头接收被远程接入设备调用的指令;
37.接收拆帧后的网络数据包,并基于接收的所述网络数据包分别计算丢包率和延时值;
38.并将所述丢包率和延时值分别发送给所述远程接入设备,以获得所述虚拟摄像头与所述远程接入设置之间的带宽预测值。
39.本公开的实施例中,所述接收拆帧后的n个网络数据包,并基于接收的n个所述网络数据包分别计算丢包率和延时值的步骤包括:
40.根据所述虚拟摄像头的接收端每秒钟接收的视频帧重传网络数据包的总个数及每秒钟接收的视频帧的网络数据包总个数,计算丢包率;其中,所述丢包率的计算公式为:
41.packet_lost_rate=packet_lost_count/packet_total_count*100
ꢀꢀꢀ
(6)
42.其中,packet_lost_rate为丢包率;packet_lost_count为虚拟摄像头的接收端每秒钟接收的视频帧重传网络数据包的总个数,packet_total_count为每秒钟接收的视频帧的网络数据包总个数。
43.本公开的实施例中,所述接收拆帧后的网络数据包,并基于接收的所述网络数据包分别计算丢包率和延时值的步骤包括:
44.根据第1个所述网络数据包的发送时间、第n个所述网络数据包的发送时间,及第1个所述网络数据包的接收时间、第n个所述网络数据包的接收时间,计算延时值;其中,所述延时值的计算公式为:
45.d=(s
n-s1)-(r
n-r1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
46.其中,d表示延时值,s1表示第1个所述网络数据包的发送时间,sn表示第n个所述网络数据包的发送时间,r1表示第1个所述网络数据包的接收时间,rn表示第n个所述网络数据包的接收时间。
47.本公开的实施例提供的技术方案可以包括以下有益效果:
48.本公开的一种实施例中,通过上述远程摄像头注入云主机的网络带宽预测方法,根据接收的云主机虚拟摄像头发送的丢包率和延时值,分别估算基于丢包率的第一带宽预测值和基于延时值的第二带宽预测值。并通过估算出的第一带宽预测值和第二带宽预测值以及预配置的码率上限、预配置的码率下限,获得最终的带宽预测值。通过上述方法实现了对云主机与远程接入设备之间的带宽网络预测。
49.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
50.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
51.图1示意性示出本公开示例性实施例中一种远程摄像头注入云主机的网络带宽预测方法的流程图;
52.图2示意性示出本公开示例性实施例中另一种远程摄像头注入云主机的网络带宽预测方法的流程图;
53.图3示意性示出本公开示例性实施例中云主机、远程接入设备、物理摄像头之间的交互示意图。
具体实施方式
54.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
55.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
56.如果要保证画面实时传输,就需要在远程设备上通过自主编码的方式,将数据发送到云主机;考虑到广域网的环境复杂多变,以及在不同的场景下对不同的画面进行编码传输所需要的带宽也不同,为了保证视频帧实时可靠的传输,必须对广域网的带宽进行预测,在保证视频实时传输的前提下,以提高或降低视频清晰度为代价,自适应地调节输出码流;因此,能否准确预测带宽是非常重要的一环。
57.本示例实施方式中首先提供了一种远程摄像头注入云主机的网络带宽预测方法,参考图1中所示,该方法可以包括:
58.步骤s101:远程接入设备调用虚拟摄像头。
59.步骤s102:接收虚拟摄像头发送的丢包率,并预测基于所述丢包率的第一带宽预测值。
60.步骤s103:接收虚拟摄像头发送的延时值,并预测基于所述延时值的第二带宽预测值。
61.步骤s104:基于所述第一带宽预测值和所述第二带宽预测值以及预配置的码率上限、预配置的码率下限,获得最终的带宽预测值。
62.通过上述方法,根据接收的云主机虚拟摄像头发送的丢包率和延时值,分别估算出了基于丢包率的第一带宽预测值和基于延时值的第二带宽预测值。并通过估算出的第一带宽预测值和第二带宽预测值以及预配置的码率上限、预配置的码率下限,获得最终的带宽预测值。通过上述方法实现了对云主机与远程接入设备之间的带宽网络预测。
63.下面,将参考图1、图3对本示例实施方式中的上述方法的各个步骤进行更详细的说明。
64.在步骤s101中,远程接入设备调用虚拟摄像头。
65.具体的,当物理摄像头接入远程接入设备并被启用后,远程接入设备调用云主机上的虚拟摄像头,虚拟摄像头被启动。物理摄像头采集原始图像,并将原始图像发送给远程接入设备,远程接入设备中的编码器对接收到的原始图像进行编码,再通过云主机与远程
接入设置之间的物理网络,发送给云主机中的虚拟摄像头进行解码,然后这些图像被云主机上的app所使用。
66.在步骤s102中,接收虚拟摄像头发送的丢包率,并预测基于所述丢包率的第一带宽预测值。
67.具体的,由于原始图像的视频帧比较大,一般都会大于一个最大传输单元(maximum transmission unit,mtu)。所以需要在远程接入设备的编码端将视频拆成小于mtu的网络数据包,经过物理网络发送后,在虚拟摄像头的接收端在再组成完整的帧。如何拆帧组帧可通过常规手段实现,本实施例对此不做赘述。
68.虚拟摄像头接收到编码后的图像(即拆帧后的网络数据包)后,对编码后的图像进行解码,即对拆帧后的网络数据包进行组帧,并基于解码后的图像(组帧后的图像)计算丢包率。远程接入设备接收虚拟摄像头发送的丢包率,并根据丢包率估算基于丢包率的第一带宽预测值。其中,远程接入设备的发送端将拆帧后的网络数据包,在网络数据包中添加对应字段,及采取在协议头上打标记。在远程接入设备的发送端检测到网络数据包需要重传时,在该需要重传的网络数据包上打一个重传标记,虚拟摄像头的接收端根据该重传标记判断当前接收的网络数据包是否为重传网络数据包。具体的,丢包率可根据虚拟摄像头的接收端每秒钟接收的视频帧重传网络数据包的总个数及每秒钟接收的视频帧的网络数据包总个数来获得。具体可根据公式(6)计算丢包率。
69.packet_lost_rate=packet_lost_count/packet_total_count*100
ꢀꢀꢀ
(6)
70.其中,packet_lost_rate为丢包率;packet_lost_count为虚拟摄像头的接收端每秒钟接收的视频帧重传网络数据包的总个数,packet_total_count为每秒钟接收的视频帧的网络数据包总个数。
71.在步骤s103中,接收虚拟摄像头发送的延时值,并预测基于所述延时值的第二带宽预测值。
72.具体的,如果网络发送数据大于网络带宽,数据链路也会产生丢包。但是该种情况下丢包前,数据包会先在产生拥塞,造成的结果就是接收端收到的数据包会产生延时。远程接入设备接收虚拟摄像头的延时值,并估算基于延时值的第二带宽预测值。其中,根据第n个网络数据包的发送时间与第1个网络数据包的发送时间的发送时间差值,以及第n个网络数据包的接收时间与第1个网络数据包的接收时间的接收时间差值,得到延时值,具体可根据公式(7)计算延时值。
73.d=(s
n-s1)-(r
n-r1)
ꢀꢀꢀꢀ
(7)
74.其中,d表示延时值,s1表示第1个所述网络数据包的发送时间,sn表示第n个所述网络数据包的发送时间,r1表示第1个所述网络数据包的接收时间,rn表示第n个所述网络数据包的接收时间。
75.在步骤s104中,基于所述第一带宽预测值和所述第二带宽预测值以及预配置的码率上限、预配置的码率下限,获得最终的带宽预测值。
76.具体的,根据预配置的码流上限、预配置的码率下限、第一带宽预测值及第二带宽预测值,得到最终的带宽预测值。第一带宽预测值与第二带宽预测值进行比较,取两者之间最小的值,计为第一最小值,然后将该第一最小值和预配置的码率上限值进行比较,取最小值,计为第二最小值,继续将第二最小值与预配置的码率下限值比较,取最大值,将最大值
作为最终的带宽预测值。远程接入设备根据最终的带宽预测值,进行编码参数配置,以保证图像流程传输。即根据最终的带宽预测值,配置编码器的量化步长。如果当前带宽小,提高量化步长,图像变模糊,码流减小;如果当前带宽大,减小量化步长,图像变清晰,码流增大。为了防止码流无限增大以至于占用完全不需要用到的带宽,我们根据经验设置一个码流峰值,当超过这个峰值时预测带宽不再提升。
77.在一个实施例中,所述接收虚拟摄像头发送的丢包率,并预测基于所述丢包率的第一带宽预测值的步骤中包括:
78.当所述丢包率小于第一阈值时,则预测出对应的第一带宽预测值,且所述第一带宽预测值的预测公式为
79.bw1(i)=bw1(i-1)*1.05
ꢀꢀꢀꢀ
(1)
80.其中,bw1(i-1)为上一时刻的第一带宽预测值,bw1(i)为当前时刻的第一带宽预测值。
81.具体的,远程接入设备的发送端接收到虚拟摄像头的接收端发送的丢包率后,预测基于丢包率的第一带宽预测值。当丢包率小于第一阈值时,认为网络链路正常丢包率,此时增加带宽。如公式(1)所示,预测出的当前时刻的第一带宽预测值为上一时刻的第一带宽预测值的1.05倍。需要说明的是,第一阈值的取值范围为(0,2%]。当第一阈值取2%,丢包率小于2%时,则预测出对应的第一带宽预测值,且第一带宽预测值满足公式(1),即预测出的当前时刻的第一带宽预测值为上一时刻的第一带宽预测值的1.05倍。其中,第一阈值的取值本实施例不做限制。
82.在一个实施例中,所述接收虚拟摄像头发送的丢包率,并预测基于丢包率的第一带宽预测值的步骤中包括:
83.当所述丢包率大于第二阈值,且所述第二阈值大于所述第一阈值时,则预测出对应的第一带宽预测值,且所述第一带宽预测值的预测公式为:
84.bw1(i)=bw1(i-1)*(1-0.5*packet_lost_rate) (2)
85.其中,bw1(i-1)为上一时刻的第一带宽预测值,bw1(i)为当前时刻的第一带宽预测值,packet_lost_rate表示丢包率。
86.具体的,当丢包率大于第二阈值时,认为网络链路环境较差,此时减小带宽。当前时刻的第一带宽预测值可根据公式(2)去计算,且从公式(2)可以看出,当前时刻的第一带宽预测值bw1(i)小于上一时刻的第一带宽预测值bw1(i-1)。需要说明的是,第二阈值的取值范围为(2%,5%]。当第一阈值取5%,丢包率大于5%时,则预测出对应的第一带宽预测值,且第一带宽预测值满足公式(1),即预测出的当前时刻的第一带宽预测值bw1(i)小于上一时刻的第一带宽预测值bw1(i-1)。其中,第二阈值的取值本实施例不做限制。
87.在一个实施例中,所述接收虚拟摄像头发送的丢包率,并预测基于丢包率的第一带宽预测值的步骤中包括:
88.当所述丢包率大于等于第一阈值且小于等于第二阈值时,预测出对应的第一带宽预测值,且所述第一带宽预测值的预测公式为:
89.bw1(i)=bw1(i-1)
ꢀꢀꢀꢀ
(3)
90.其中,bw1(i-1)为上一时刻的第一带宽预测值,bw1(i)为当前时刻的第一带宽预测值。具体的,当丢包率大于等于第一阈值且小于等于第二阈值时,则预测第一带宽预测值保
持不变。即当前时刻的第一带宽预测值bw1(i)等于上一时刻的第一带宽预测值bw1(i-1)。需要说明的是,第一阈值的取值范围为(0,2%],第二阈值的取值范围为(2%,5%]。当第一阈值取2%,第二阈值取5%时,丢包率大于等于2%且小于等于5%时,预测出对应的第一带宽预测值满足公式(3),即预测第一带宽预测值保持不变。也即当前时刻的第一带宽预测值bw1(i)等于上一时刻的第一带宽预测值bw1(i-1)。其中,第一阈值的取值、第二阈值的取值本实施例不做限制。
91.在一个实施例中,所述接收虚拟摄像头发送的丢包率,并预测基于丢包率的第一带宽预测值的步骤中包括:
92.若预设时长内丢包率持续低于第一阈值,且当前时刻的第一带宽预测值与当前码流的差值大于预设上涨值时,则当前时刻的第一带宽预测值不再增加。
93.具体的,若在预设时间长内丢包率持续低于第一阈值,预测带宽会持续上涨,但有时,对于一些数据量小的视频,并不需要很大的带宽;针对这一情况,结合当前码流send_rate及预设上涨值。如果当前时刻的第一带宽预测值与当前码流的差值大于预设上涨值时,即bw1(i)-send_rate>rise_margin,则当前时刻的第一带宽预测值不再增加。其中,rise_margin表示预设上涨值。预设时间长可根据实际情况设定,本实施例对此不做限制。需要说明的是,第一阈值的取值范围为(0,2%]。当第一阈值取2%时,如果预设时长内丢包率持续低于2%,且当前时刻的第一带宽预测值与当前码流的差值大于预设上涨值时,则当前时刻的第一带宽预测值不再增加。其中,第一阈值的取值本实施例不做限制。
94.在一个实施例中,所述接收虚拟摄像头发送的延时值,并预测基于延时值的第二带宽预测值的步骤中包括:
95.当所述延时值小于预设网络往返时延时,则预测出对应的第二带宽预测值,且所述第二带宽预测值的预测公式为:
96.bw2(i)=bw2(i-1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
97.其中,bw2(i)为基于延时值的当前时刻的第二带宽预测值,bw2(i-1)为基于延时值的上一时刻的第二带宽预测值。
98.具体的,远程接入设备的发送端接收虚拟摄像头接收端发送的延时值,并基于延时值预测对应的第二带宽预测值。当延时值小于预设网络往返时延时,预测对应的第二带宽预测值保持不变,即如公式(4)所示。当前时刻的第二带宽预测值和上一时刻的第二带宽预测值相等。
99.在一个实施例中,所述接收虚拟摄像头发送的延时值,并预测基于延时值的第二带宽预测值的步骤中包括:
100.当所述延时值大于等于预设网络往返时延时,则预测出对应的第二带宽预测值,且所述第二带宽预测值的计算公式为:
101.bw2(i)=0.95*bw2(i-1)
ꢀꢀꢀꢀ
(5)
102.其中,bw2(i)为基于延时值的当前时刻的第二带宽预测值,bw2(i-1)为基于延时值的上一时刻的第二带宽预测值。
103.具体的,当延时值大于等于预设网络往返时延时,预测对应的第二带宽预测值减小,即如公式(5)所示,当前时刻的第二带宽预测bw2(i)为上一时刻的第二带宽预测值bw2(i=1)的0.95倍。
104.在一个实施例中,最终的所述带宽预测值的计算公式为:
105.bw(i)=max(min(min(bw1,bw2),bw
max
),bw
min
)
ꢀꢀꢀ
(8)
106.其中,bw1为基于丢包率预测的第一带宽预测值;bw2为基于延时值预测的第二带宽预测值;bw
max
为预配置的码率上限;bw
min
为预配置的码率下限;bw为最终预测带宽;max(a,b)和min(a,b)函数分别取a和b的最大值和最小值。
107.具体的,将预配置的码流上限、预配置的码率下限、第一带宽预测值及第二带宽预测值代入公式(8),得到最终的带宽预测值。
108.本示例实施方式中还提供了一种远程摄像头注入云主机的网络带宽预测方法,参考图1中所示,该方法可以包括:
109.步骤s201:虚拟摄像头接收被远程接入设备调用的指令。
110.步骤s202:接收拆帧后的网络数据包,并基于接收的所述网络数据包分别计算丢包率和延时值。
111.步骤s203:并将所述丢包率和延时值分别发送给所述远程接入设备,以获得所述虚拟摄像头与所述远程接入设置之间的带宽预测值。
112.下面,将参考图2、图3对本示例实施方式中的上述方法的各个步骤进行更详细的说明。
113.在步骤s201中,虚拟摄像头接收被远程接入设备调用的指令。
114.具体的,当物理摄像头接入远程接入设备并被启用后,远程接入设备调用云主机上的虚拟摄像头,虚拟摄像头被启动。物理摄像头采集原始图像,并将原始图像发送给远程接入设备,远程接入设备中的编码器对接收到的原始图像进行编码,再通过云主机与远程接入设置之间的物理网络,发送给云主机中的虚拟摄像头进行解码,然后这些图像被云主机上的app所使用。
115.在步骤s202中,接收拆帧后的网络数据包,并基于接收的所述网络数据包分别计算丢包率和延时值。
116.具体的,当远程接入设备接收到物理摄像头采集的原始图像后,远程接入设备的编码器将原始图像的视频帧小于mtu的网络数据包,远程接入设备的发送端将拆帧后的网络数据包发送给虚拟摄像头的接收端,然后虚拟摄像头基于接收的网络数据包分别计算丢包率和延时值。
117.在步骤s203中,并将所述丢包率和延时值分别发送给所述远程接入设备,以获得所述虚拟摄像头与所述远程接入设置之间的带宽预测值。
118.具体的,虚拟摄像头将计算出的丢包率和延时值分别发送给远程接入设备,由远程接入设备对远程接入设备与云主机上的虚拟摄像头之间的带宽进行预测,以获得带宽预测值。
119.在一个实施例中,所述接收拆帧后的n个网络数据包,并基于接收的n个所述网络数据包分别计算丢包率和延时值的步骤包括:
120.根据所述虚拟摄像头的接收端每秒钟接收的视频帧重传网络数据包的总个数及每秒钟接收的视频帧的网络数据包总个数,计算丢包率;
121.其中,所述丢包率的计算公式为:
122.packet_lost_rate=packet_lost_count/packet_total_count*100
ꢀꢀꢀ
(6)
123.其中,packet_lost_rate为丢包率;packet_lost_count为虚拟摄像头的接收端每秒钟接收的视频帧重传网络数据包的总个数,packet_total_count为每秒钟接收的视频帧的网络数据包总个数。
124.具体的,远程接入设备的发送端将拆帧后的网络数据包,在网络数据包中添加对应字段,及采取在协议头上打标记。在远程接入设备的发送端检测到网络数据包需要重传时,在该需要重传的网络数据包上打一个重传标记,虚拟摄像头的接收端根据该重传标记判断当前接收的网络数据包是否为重传网络数据包。具体的,丢包率可根据虚拟摄像头的接收端每秒钟接收的视频帧重传网络数据包的总个数及每秒钟接收的视频帧的网络数据包总个数来获得,具体可根据公式(6)计算:
125.packet_lost_rate=packet_lost_count/packet_total_count*100
ꢀꢀꢀ
(6)
126.其中,packet_lost_rate为丢包率;packet_lost_count为虚拟摄像头的接收端每秒钟接收的视频帧重传网络数据包的总个数,packet_total_count为每秒钟接收的视频帧的网络数据包总个数。
127.在一个实施例中,所述接收拆帧后的网络数据包,并基于接收的所述网络数据包分别计算丢包率和延时值的步骤包括:
128.根据第1个所述网络数据包的发送时间、第n个所述网络数据包的发送时间,及第1个所述网络数据包的接收时间、第n个所述网络数据包的接收时间,计算延时值;其中,所述延时值的计算公式为:
129.d=(s
n-s1)-(r
n-r1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
130.其中,d表示延时值,s1表示第1个所述网络数据包的发送时间,sn表示第n个所述网络数据包的发送时间,r1表示第1个所述网络数据包的接收时间,rn表示第n个所述网络数据包的接收时间。
131.具体的,根据第n个网络数据包的发送时间与第1个网络数据包的发送时间的发送时间差值,以及第n个网络数据包的接收时间与第1个网络数据包的接收时间的接收时间差值,得到延时值,具体可根据公式(7)计算延时值。
132.需要说明的是,由于视频帧的特殊性,每个视频帧拆分成网络数据包后,天然的可以划分为一组。为了防止一组数据过少,无法有效预测延时。本实施例中选用大于50kb的视频帧进行网络延迟预测。
133.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

技术特征:
1.一种远程摄像头注入云主机的网络带宽预测方法,其特征在于,该方法包括:远程接入设备调用虚拟摄像头;接收虚拟摄像头发送的丢包率,并预测基于所述丢包率的第一带宽预测值;接收虚拟摄像头发送的延时值,并预测基于所述延时值的第二带宽预测值;基于所述第一带宽预测值和所述第二带宽预测值以及预配置的码率上限、预配置的码率下限,获得最终的带宽预测值。2.根据权利要求1所述远程摄像头注入云主机的网络带宽预测方法,其特征在于,所述接收虚拟摄像头发送的丢包率,并预测基于所述丢包率的第一带宽预测值的步骤中包括:当所述丢包率小于第一阈值时,则预测出对应的第一带宽预测值,且所述第一带宽预测值的预测公式为:bw1(i)=bw1(i-1)*1.05
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中,bw1(i-1)为上一时刻的第一带宽预测值,bw1(i)为当前时刻的第一带宽预测值。3.根据权利要求1所述远程摄像头注入云主机的网络带宽预测方法,其特征在于,所述接收虚拟摄像头发送的丢包率,并预测基于丢包率的第一带宽预测值的步骤中包括:当所述丢包率大于第二阈值,且所述第二阈值大于所述第一阈值时,则预测出对应的第一带宽预测值,且所述第一带宽预测值的预测公式为:bw1(i)=bw1(i-1)*(1-0.5*packet_lost_rate)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中,bw1(i-1)为上一时刻的第一带宽预测值,bw1(i)为当前时刻的第一带宽预测值,packet_lost_rate表示丢包率。4.根据权利要求1所述远程摄像头注入云主机的网络带宽预测方法,其特征在于,所述接收虚拟摄像头发送的丢包率,并预测基于丢包率的第一带宽预测值的步骤中包括:当所述丢包率大于等于第一阈值且小于等于第二阈值时,预测出对应的第一带宽预测值,且所述第一带宽预测值的预测公式为:bw1(i)=bw1(i-1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)其中,bw1(i-1)为上一时刻的第一带宽预测值,bw1(i)为当前时刻的第一带宽预测值。5.根据权利要求1所述远程摄像头注入云主机的网络带宽预测方法,其特征在于,所述接收虚拟摄像头发送的丢包率,并预测基于丢包率的第一带宽预测值的步骤中包括:若预设时长内丢包率持续低于第一阈值,且当前时刻的第一带宽预测值与当前码流的差值大于预设上涨值时,则当前时刻的第一带宽预测值不再增加。6.根据权利要求1所述远程摄像头注入云主机的网络带宽预测方法,其特征在于,所述接收虚拟摄像头发送的延时值,并预测基于延时值的第二带宽预测值的步骤中包括:当所述延时值小于预设网络往返时延时,则预测出对应的第二带宽预测值,且所述第二带宽预测值的预测公式为:bw2(i)=bw2(i-1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)其中,bw2(i)为基于延时值的当前时刻的第二带宽预测值,bw2(i-1)为基于延时值的上一时刻的第二带宽预测值。7.根据权利要求1所述远程摄像头注入云主机的网络带宽预测方法,其特征在于,所述接收虚拟摄像头发送的延时值,并预测基于延时值的第二带宽预测值的步骤中包括:当所述延时值大于等于预设网络往返时延时,则预测出对应的第二带宽预测值,且所
述第二带宽预测值的计算公式为:bw2(i)=0.95*bw2(i-1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)其中,bw2(i)为基于延时值的当前时刻的第二带宽预测值,bw2(i-1)为基于延时值的上一时刻的第二带宽预测值。8.一种远程摄像头注入云主机的网络带宽预测方法,其特征在于,该方法包括:虚拟摄像头接收被远程接入设备调用的指令;接收拆帧后的网络数据包,并基于接收的所述网络数据包分别计算丢包率和延时值;并将所述丢包率和延时值分别发送给所述远程接入设备,以获得所述虚拟摄像头与所述远程接入设置之间的带宽预测值。9.根据权利要求8所述远程摄像头注入云主机的网络带宽预测方法,其特征在于,所述接收拆帧后的n个网络数据包,并基于接收的n个所述网络数据包分别计算丢包率和延时值的步骤包括:根据所述虚拟摄像头的接收端每秒钟接收的视频帧重传网络数据包的总个数及每秒钟接收的视频帧的网络数据包总个数,计算丢包率;其中,所述丢包率的计算公式为:packet_lost_rate=packet_lost_count/packet_total_count*100
ꢀꢀ
(6)其中,packet_lost_rate为丢包率;packet_lost_count为虚拟摄像头的接收端每秒钟接收的视频帧重传网络数据包的总个数,packet_total_count为每秒钟接收的视频帧的网络数据包总个数。10.根据权利要求8所述远程摄像头注入云主机的网络带宽预测方法,其特征在于,所述接收拆帧后的网络数据包,并基于接收的所述网络数据包分别计算丢包率和延时值的步骤包括:根据第1个所述网络数据包的发送时间、第n个所述网络数据包的发送时间,及第1个所述网络数据包的接收时间、第n个所述网络数据包的接收时间,计算延时值;其中,所述延时值的计算公式为:d=(s
n-s1)-(r
n-r1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)其中,d表示延时值,s1表示第1个所述网络数据包的发送时间,s
n
表示第n个所述网络数据包的发送时间,r1表示第1个所述网络数据包的接收时间,r
n
表示第n个所述网络数据包的接收时间。

技术总结
本公开是关于一种远程摄像头注入云主机的网络带宽预测方法。该方法包括:远程接入设备调用虚拟摄像头;接收虚拟摄像头发送的丢包率,并预测基于丢包率的第一带宽预测值;接收虚拟摄像头发送的延时值,并预测基于延时值的第二带宽预测值;基于第一带宽预测值和第二带宽预测值以及预配置的码率上限、预配置的码率下限,获得最终的带宽预测值。通过上述方法,根据估算出的基于丢包率的的第一带宽预测值和基于延时值的第二带宽预测值以及预配置的码率上限、预配置的码率下限,获得最终的带宽预测值。本公开实现了对云主机与远程接入设备之间的带宽网络预测。间的带宽网络预测。间的带宽网络预测。


技术研发人员:郭鋆昊 冯旭
受保护的技术使用者:西安万像电子科技有限公司
技术研发日:2022.07.26
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-1118.html

最新回复(0)