本发明涉及直播推流,具体涉及一种集合分辨率优化带宽计算设置推流分辨率码率方法。
背景技术:
1、随着直播技术的流行,越来越多的直播需求如雨后春笋般不断涌出。而直播就离不开推拉流音视频图像数据,推拉流图像的分辨率和码率会影响用户观看的清晰度,而传输的实时性也会受带宽的影响。越清晰的图像即分辨率码率越大便需要越大的带宽,单人直播倒还好,但是多人直播这种情况对于清晰度和带宽要如何取舍,同时分辨率码率的设置是一个技术问题,如果是单人直播还比较简单。但是当多人连麦时每个人的分辨率设置影响还是比较大的,如果都设置很清晰对于带宽的需求将会大幅度增加,设置那么高分辨率可能体验感会有所降低。
技术实现思路
1、本发明针对以上问题,提供一种集合分辨率优化带宽计算设置推流分辨率码率方法。
2、采用的技术方案是,一种集合分辨率优化带宽计算设置推流分辨率码率方法,包括以下步骤:
3、s1.确定推流端个数;
4、s2.设定整体推流分辨率;
5、s3.对每个推流端设置权重值;
6、s4.根据权重值从整体推流分辨率中分配各个推流端分辨率及视频码率。
7、可选的,s2中,所述整体推流分辨率为所有推流端的对象分辨率加起来能达到的最大分辨率。
8、可选的,s3中,权重值包括由小分辨率组成的集体权重和由大分辨率使用的独立权重。
9、可选的,s4中,整体推流分辨率为:allpixelwidth * allpixelheight,总推流端个数为:allgroupcount。
10、可选的,s4中,推流端1个数表示为groupcount[0],推流端1总权重表示为groupweight[0],推流端1分辨率表示为grouppixelwidth[0] * grouppixelheight[0];
11、推流端2个数表示为groupcount[1],推流端2总权重表示为groupweight[1],推流端2分辨率表示为grouppixelwidth[1]* grouppixelheight[1]……;
12、推流端n个数表示为groupcount[n-1],推流端n总权重表示为groupweight[n-1],推流端n分辨率表示为grouppixelwidth[n-1]* grouppixelheight[n-1]。
13、可选的,s4中,分辨率宽、组别权重、总分辨率宽和组别对象个数满足:
14、;
15、其中,grouppixelwidth[x]为指定组别的分辨率宽,groupweight[x]为指定组别权重,allpixelwidth总分辨率宽,groupcount[x]指定组别对象个数。
16、可选的,s4中,分辨率高、组别权重、总分辨率高和组别对象个数满足:
17、 ;
18、其中,grouppixelheight[x]为指定组别的分辨率高,groupweight[x]为指定组别权重,allpixelheight总分辨率高,groupcount[x]指定组别对象个数。
19、可选的,s4中,约束条件为:
20、;
21、其中,groupweight[]为各分组权重,各分组的权重总合为1;
22、;
23、其中,grouppixelwidth[x]指定分组分辨率宽,minpushpixelwidth推流最小分辨率宽;
24、;
25、其中,grouppixelheight[x]指定分组分辨率高,minpushpixelwidth推流最小分辨率高,且单个分辨率不能小于推流器所支持的最小分辨率。
26、可选的,s4中,分辨率码率计算式如下:
27、;
28、其中,curgroupkps[x]为指定组别计算的视频码率,groupweight[x]为指定组别权重,allkps总视频码率,groupcount[x]指定组别对象个数。
29、本发明的有益效果至少包括以下之一;
30、1、本申请提供的方法将推流图像分辨率及视频码率当做一个整体进行计算后分配推送,从而优化了带宽的使用率。
31、2、针对多个推流端的场景中,能够实时计算和控制各个推流端的分辨率及码率,并且能够将视频直播使用的网络数据流量控制在一个可控的范围内。
1.一种集合分辨率优化带宽计算设置推流分辨率码率方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种集合分辨率优化带宽计算设置推流分辨率码率方法,其特征在于,s2中,所述整体推流分辨率为所有推流端的对象分辨率加起来能达到的最大分辨率。
3.根据权利要求1所述的一种集合分辨率优化带宽计算设置推流分辨率码率方法,其特征在于,s3中,权重值包括由小分辨率组成的集体权重和由大分辨率使用的独立权重。
4.根据权利要求3所述的一种集合分辨率优化带宽计算设置推流分辨率码率方法,其特征在于,s4中,整体推流分辨率为:allpixelwidth * allpixelheight,总推流端个数为:allgroupcount。
5.根据权利要求4所述的一种集合分辨率优化带宽计算设置推流分辨率码率方法,其特征在于,s4中,推流端1个数表示为groupcount[0],推流端1总权重表示为groupweight[0],推流端1分辨率表示为grouppixelwidth[0] * grouppixelheight[0];
6.根据权利要求5所述的一种集合分辨率优化带宽计算设置推流分辨率码率方法,其特征在于,s4中,分辨率宽、组别权重、总分辨率宽和组别对象个数满足:
7.根据权利要求6所述的一种集合分辨率优化带宽计算设置推流分辨率码率方法,其特征在于,s4中,分辨率高、组别权重、总分辨率高和组别对象个数满足:
8.根据权利要求7所述的一种集合分辨率优化带宽计算设置推流分辨率码率方法,其特征在于,s4中,约束条件为:
9.根据权利要求8所述的一种集合分辨率优化带宽计算设置推流分辨率码率方法,其特征在于,s4中,分辨率码率计算式如下: