掌桥专利:专业的专利平台
掌桥专利
首页

视频参数调节方法、装置、设备及介质

文献发布时间:2023-06-19 11:39:06


视频参数调节方法、装置、设备及介质

技术领域

本公开涉及通信技术领域,更具体地,涉及一种视频参数调节方法、装置、设备及介质。

背景技术

网络直播,是不同用户在同一时刻通过直播平台进行交流互动的一种娱乐方式,直播的内容可以是个人秀、游戏等等。以网络直播为直播个人秀为例,可以将直播个人秀的用户称之为主播,该主播直播个人秀所使用的设备为直播设备,以及,观看个人秀的用户所使用的设备为用户端设备。

现有的主播在使用直播设备直播个人秀时,该直播设备发送直播视频流的码率是根据该直播设备所在网络的参考带宽决定的,即,码率调节极大依赖于参考带宽估算的准确性,而将参考带宽估算的较大时,会导致码率偏大,使得该直播设备缓冲区的数据堆积,用户端设备也因长时间拿不到数据而发生播放卡顿。

发明内容

本公开实施例提供了一种视频参数调节方法、装置、设备及介质,可以保证缓冲区的稳定性,减少该缓冲区视频堆积,为用户带来清晰流畅的直播观看体验。

根据本公开实施例的第一方面,提供了一种视频参数调节方法,所述视频参数包括直播视频流的码率,所述方法包括:

获取缓冲区在第一设定时间段堆积的直播视频流的数据量;

根据所述数据量和所在网络的参考带宽,获得所述码率的参考值;其中,所述参考带宽根据所述网络在第二设定时间段的带宽确定,所述第二设定时间段在所述第一设定时间段之前;

根据所述码率的参考值和设定的码率阈值调节对应第三设定时间段的所述码率,得到所述码率的目标值,所述第三设定时间段在所述第一设定时间段之后。

根据本公开的第二方面,提供一种视频参数调节装置,所述视频参数包括直播视频流的码率,所述装置包括:

数据量获取模块,用于获取缓冲区在第一设定时间段堆积的直播视频流的数据量;

参考值获取模块,用于根据所述数据量和所在网络的参考带宽,获得所述码率的参考值;其中,所述参考带宽根据所述网络在第二设定时间段的带宽确定,所述第二设定时间段在所述第一设定时间段之前;

目标值获取模块,用于根据所述码率的参考值和设定的码率阈值调节所述码率,得到对应于第三设定时间段的所述码率的目标值,所述第三设定时间段在所述第一设定时间段之后。

根据本公开的第三方面,提供一种电子设备,其包括存储器和处理器,所述存储器用于存储可执行的指令;所述处理器用于在所述指令的控制下执行根据以上第一方面所述的视频参数调节方法。

根据本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如本公开第一方面所述的视频参数调节方法。

根据本公开实施例的视频参数调节方法、装置、设备及介质,该视频参数可以是直播视频流的码率,其是根据缓冲区堆积的直播视频流的数据量和所在的网络的参考带宽,先确定码率的参考值,进而根据该码率的参考值和设定的码率阈值来调节码率以得到码率的目标值,即,本公开方法所确定的码率的目标值是该码率的参考值和该设定的码率阈值中的最大值,即在最大化码率的同时,其是综合考虑缓冲区堆积的直播视频流的数据量和所在的网络的参考带宽来调节码率,以保证了缓冲区的稳定性,进而减少了该缓冲区视频堆积,为用户带来清晰流畅的直播观看体验。

通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且连同其说明一起用于解释本公开的原理。

图1是根据本公开实施例的视频参数调节方法的示意性流程图;

图2是根据本公开另一实施例的视频参数调节方法的示意性流程图;

图3是根据本公开另一实施例的视频参数调节方法的示意性流程图;

图4是根据本公开实施例的视频参数调节装置的原理框图;

图5是根据本公开实施例的电子设备的硬件配置的框图。

具体实施方式

现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

<方法实施例>

图1是根据本公开实施例的视频参数调节方法的流程示意图,该视频参数可以包括直播视频流的码率,该方法由电子设备实施,该电子设备可以是具有处理器和存储器的电子产品。例如可以是智能手机、便携式电脑、台式计算机、平板电脑等,在网络直播场景中,电子设备可以称之为直播设备。

步骤S1100,获取缓冲区在第一设定时间段堆积的直播视频流的数据量。

第一设定时间段可以为直播视频流的一画面组(Group of Pictures,GOP)周期,该画面组周期内通常为一组连续的画面,该画面组周期可以为1.95s(通常近似为2s),即,码率的调节周期可以是一画面组周期,当然还可以是其他数值。该第一设定时间段还可以是根据实际应用场景和实际需求设置的其他数值。

直播视频流可以是主播登录直播设备之后,通过摄像头实时采集的视频流数据,直播视频流的内容多种多样,例如吃饭、睡觉、唱歌、游戏等等。用户端设备可以接收服务器中转的直播设备发送的直播视频流。

缓冲区位于直播设备,缓冲区在第一设定时间段堆积的直播视频流的数据量包括:缓冲区在第一设定时间段堆积的直播视频流的比特大小、及缓冲区在第一设定时间段堆积的直播视频流的长度中的任意一个或两个。该缓冲区堆积的直播视频流的长度可以用播放时长来衡量,即,该缓冲区堆积的直播视频流的长度可以表示为该直播视频流的播放时长。

示例性地,以主播利用直播设备直播个人秀为例,在此,直播设备可以获取该直播设备在一画面组周期所堆积的直播视频流的长度和比特大小。

在获取缓冲区在第一设定时间段堆积的直播视频流的数据量之后,进入:

步骤S1200,根据数据量和所在网络的参考带宽,获得码率的参考值。

码率是指视频文件在单位时间内使用的数据流量,是视频编码的中画面质量控制中最重要的部分。同样的分辨率下,视频文件的码率越大,压缩比就越小,画面质量就越好。然而,当直播设备所设置的码率较大时,会导致该直播设备的缓冲区的数据堆积,用户端设备也因长时间拿不到数据而发生播放卡顿。

所在网络的参考带宽可以根据直播设备所在网络在第二设定时间段的带宽确定,第二设定时间段在第一设定时间段之前。例如,第二设定时间段可以为早于直播视频流的一画面组周期的上一画面组周期。该第二设定时间段还可以是根据实际应用场景和实际需求设置的其他数值。

例如,所在网络的参考带宽,可以是直播设备所在网络在早于直播视频流的一画面组周期T

本实施例中,其是结合直播设备的缓冲区堆积的直播视频流的数据量和直播设备所在网络的参考带宽,先确定码率的参考值,进而根据后续步骤选取参考值和设定的码率阈值中的最大值作为码率的目标值,在最大化码率的同时,能够保证了该直播设备的缓冲区的稳定性,进而减少了该缓冲区视频堆积,为用户带来清晰流畅的直播观看体验。

在一个例子中,码率的参考值包括第一参考值,第一参考值为根据第一码率控制目标确定的码率,第一码率控制目标包括降低缓冲区的堆积率。即,本例子中,其在直播设备的缓冲区堆积的直播视频流的数据量较大时,可以通过降低码率的方式来达到降低缓冲区的直播视频流的数据量即降低缓冲区的堆积率的目的,可以有效避免直播设备的缓冲区堆积的直播视频流的数据量过大,从而降低直播设备丢帧及用户端设备播放卡顿的风险。

该例子中,本步骤S1200中根据数据量和参考带宽,获得码率的参考值可以进一步包括如下步骤S1210a~S1230a:

步骤S1210a,根据数据量,获得对应于第一码率控制目标的堆积比例调整因子。

本步骤S1210a中根据数据量,获得对应于第一码率控制目标的堆积比例调整因子可以进一步包括:

在数据量小于第一阈值的情况下,确定堆积比例调整因子为第一数值。

在数据量大于或等于第一阈值且小于第二阈值的情况下,确定堆积比例调整因子为第二数值。

在数据量大于或等于第二阈值且小于第三阈值的情况下,确定堆积比例调整因子为第三数值。

在数据量大于或等于第三阈值的情况下,确定堆积比例调整因子为第四数值。

本例子中,以上第一数值小于第二数值,第二数值小于第三数值,以及,第三数值小于第四数值。这也可以理解为是,直播设备的缓冲区堆积的直播视频流的数据量越大,堆积比例调整因子越大。

示例性,在直播设备的缓冲区堆积的直播视频流的长度小于0.5s的情况下,该堆积比例调整因子Factor

步骤S1220a,根据数据量、第一设定时间段的时长和堆积比例调整因子,获得缓冲区的第一目标堆积率。

本步骤S2220a中,可以根据如下公式计算缓冲区的第一目标堆积率:

其中,以上公式(1)中的Factor

步骤S1230a,根据参考带宽与第一目标堆积率的差值,获得码率的第一参考值。

本步骤S1230a中,可以根据以下公式(2)计算码率的第一参考值RefCodeRate

其中,以上公式(2)中的RefBw可以表示参考带宽,也可以表示参考带宽乘以系数0,该系数可以为0.9,

根据以上步骤S1210a~S1230a,堆积比例调整因子越大,所计算出的第一目标堆积率越大,使得所计算出的码率的第一参考值也就越小,即,在缓冲区堆积的直播视频流的数据量越大的情况下,码率的第一参考值越小,从而可以通过降低码率的方式来达到降低缓冲区的直播视频流的数据量,即降低缓冲区的堆积率的目的,可以有效避免直播设备的缓冲区堆积的直播视频流的数据量过大,从而降低直播设备丢帧及用户端设备播放卡顿的风险。

在一个例子中,码率的参考值包括第二参考值,第二参考值为根据第二码率控制目标确定的码率,第二码率控制目标包括控制缓冲区达到设定的第二目标堆积率。即,本例子中,其在直播设备的缓冲区堆积的直播视频流的数据量较小时,可以通过提升码率的方式使得缓冲区堆积的直播视频流的数据量达到目标数据量,即,使得缓冲区的堆积率达到设定的第二目标堆积率,可以有效避免直播设备的缓冲区堆积的直播视频流的数据量过小。

该例子中,本步骤S1200中根据数据量和参考带宽,获得码率的参考值可以进一步包括如下步骤S1210b~S1230b:

步骤S1210b,根据第二目标堆积率,获得对应于第二码率控制目标的码率调整因子。

第二目标堆积率可以是根据缓冲区堆积的直播视频流的数据量的目标比特大小DurListSize

本步骤S1210b中,可以是根据如下公式(3)计算对应于第二码率控制目标的码率调整因子:

步骤S1220b,根据数据量和第一设定时间段的时长,获得当前堆积率。

本步骤S1220b中,可以是根据如下公式(4)计算当前堆积率DurRate:

其中,以上公式(4)中的DurRateSize表示缓冲区的直播视频流的比特大小,T

步骤S1230b,根据参考带宽与当前堆积率的差值、以及码率调整因子,获得第二参考值。

本步骤S1230b中,可以根据如下公式(5)计算码率的第二参考值RefCodeRate

其中,以上公式(5)中的RefBw可以表示参考带宽,也可以表示参考带宽乘以系数,该系数可以为0.9,DurRate表示根据以上步骤S2220b计算的缓冲区的当前堆积率,

根据以上步骤S1210b~S1230b,其在直播设备的缓冲区堆积的直播视频流的数据量较小时,可以通过提升码率的方式使得缓冲区的数据量达到缓冲区的目标数据量,即,使得缓冲区的堆积率达到设定的第二目标堆积率,可以有效避免直播设备的缓冲区堆积的直播视频流的数据量过小。

在根据数据量和直播设备所在网络的参考带宽,获得码率的参考值之后,进入:

步骤S1300,根据码率的参考值和设定的码率阈值调节对应第三设定时间段的码率,得到码率的目标值。

第三设定时间段在第一设定时间段之后。例如,第三设定时间段可以为晚于一画面组周期的下一画面组周期。该第三设定时间段还可以是根据实际应用场景和实际需求设置的其他数值。

设定的码率阈值可以是根据实际应用场景和实际需求设置的最低码率阈值,该设定的码率阈值可以为40kbps。

本步骤S1300中,可以根据如下公式(6)计算对应于第三设定时间段的码率的目标值CodeRate

CodeRate

其中,RefCodeRate

根据本公开实施例的方法,视频参数可以是直播视频流的码率,其是根据缓冲区堆积的直播视频流的数据量和所在的网络的参考带宽,先确定码率的参考值,进而根据该码率的参考值和设定的码率阈值来调节码率以得到码率的目标值,即,本公开方法所确定的码率的目标值是该码率的参考值和该设定的码率阈值中的最大值,即在最大化码率的同时,其是综合考虑缓冲区堆积的直播视频流的数据量和所在的网络的参考带宽来调节码率,以保证了缓冲区的稳定性,进而减少了该缓冲区视频堆积,为用户带来清晰流畅的直播观看体验。

在一个实施例中,视频参数还包括直播视频流的帧率和分辨率。

帧率表示每秒传输的帧数,视频流是一帧一帧图画构成的,因此高的帧率可以得到更流畅、更逼真的视频流。

分辨率表示视频图像的精密度,是指视频每一帧包含的像素有多少。由于视频上的点、线和面都是由像素组成的,视频包含的像素越多,画面就越精细,同样的面积内能显示的信息也越多。

本实施例中,该视频参数调节方法还可以包括获得直播视频流的帧率的目标值的步骤,该获得直播视频流的帧率可以包括如下步骤S2100:

步骤S2100,根据码率的目标值和分辨率的目标值调节对应第三设定时间段的帧率,得到帧率的目标值。

分辨率的目标值为对应第三设定时间段的分辨率的数值。

本实施例中,可以是先根据如下步骤获得该分辨率的目标值,以及根据以上步骤S1100~S1300获得该码率的目标值,以便结合本步骤S2100根据该码率的目标值和该分辨率的目标值获得帧率的目标值。

本实施例中,本步骤S2100中根据码率的目标值和分辨率的目标值调节对于第三设定时间段的帧率,获得帧率的目标值可以进一步包括如下步骤S2110~S2120:

步骤S2110,获取预设的映射数据。

该映射数据为反映分辨率、码率和帧率之间的对应关系的数据,该映射数据即为预先定义的不同分辨率不同帧率下对应的码率。

步骤S2120,根据映射数据,获得与分辨率的目标值和码率的目标值相对应的帧率,作为帧率的目标值。

本步骤S2120中,例如可以是将分辨率的目标值和码率的目标值代入码表中,并在存在相同分辨率和相同码率对应不同的帧率,即在映射出多个帧率的情况下,可以选择出其中的最大帧率作为帧率的目标值。

可以理解的是,在极端弱网的情况下,码率不再强制按照码表来设置,此时可以是根据实时网络带宽来确定码率。

根据本公开实施例的方法,其在最大化码率的同时,可以维持帧率的稳定性,进一步降低接收端卡顿的风险,提升了用户的直播观看体验。

在一个实施例中,由于所设置的帧率、码率以及分辨率应当是码表上的数值,在此,在根据以上步骤S2100获得帧率的目标值之后,该视频参数调节方法还可以包括如下步骤S2200~S2300:

步骤S2200,根据预设的映射数据,获得与分辨率的目标值和帧率的目标值相对应的码率,作为码率的修正值。

映射数据为反映分辨率、码率和帧率之间的对应关系的数据,该映射数据即为预先定义的不同分辨率不同帧率下对应的码率。

本实施例中,由于所设置的帧率,码率以及分辨率应当是码表上的数值,因此,在获得帧率的目标值之后,便可执行根据结合码表、分辨率的目标值和帧率的目标值对码率的目标值进行修正的步骤。

步骤S2300,根据修正值,修正码率的目标值。

本步骤S2300中,该根据修正值修正码率的目标值后,便可将该修正后的码率的目标值作为所设置的第三设定时间段的码率的数值。

根据本公开实施例,其在获得帧率的目标值之后,还会根据结合码表、分辨率的目标值和帧率的目标值对码率的目标值进行修正,以使得在最大化码率的同时,使得最终得到的码率的目标值能够码表的要求。

在一个实施例中,在根据以上步骤S2100获得帧率的目标值之前,该视频参数调节方法还可以包括获得直播视频流的分辨率的目标值的步骤,进而根据所获得的分辨率的目标值和码率的目标值,获得帧率的目标值。

本实施例中,该获得直播视频流的分辨率的目标值可以包括:根据参考带宽调节分辨率,获得分辨率的目标值。

该参考带宽可以为所在网络在早于直播视频流的一画面组周期T

根据本公开实施例的方法,其降低了分辨率的调节周期,以提高带宽的跟随性。

在一个实施例中,在获得以上的帧率的目标值、码率的目标值和分辨率的目标值后,该视频参数调节方法还包括:在第三设定时间段,根据调节后的视频参数处理直播视频流。

本实施例中,可以是在第三设定时间段,直播设备以所获得的码率的目标值、分辨率的目标值和帧率的目标值上传直播视频流至服务器,进而提供画面流畅的直播视频流给用户端设备。

接下来以主播通过直播设备直播个人秀为例,示出一个例子的视频参数调节方法,该例子中,如图3所示,该直播设备的视频参数调节方法可以包括:

步骤S3100:根据直播设备所在网络的参考带宽,获得下一画面组周期的分辨率。

步骤S3200:获取直播设备的缓冲区在当前画面组周期内堆积的直播视频流的数据量。

步骤S3300,根据数据量和直播设备所在网络的参考带宽,获得码率的第一参考值和第二参考值。

步骤S3400,根据码率的第一参考值、码率的第二参考值和设定的码率阈值,获得下一画面组周期的码率。

步骤S3500,根据下一画面组周期的码率和下一画面组周期的分辨率,获得下一画面组周期的帧率。

步骤S3600,在下一画面组周期,根据该下一画面组周期的码率、该下一画面组周期的分辨率和该下一画面组周期的帧率上传直播视频流至服务器。

根据该例子,其结合直播设备的缓冲区的直播视频流的数据量和参考带宽来动态控制码率,能够在最大化码率的同时维持缓冲区的稳定,进而减少了该缓冲区视频堆积,为用户带来清晰流畅的直播观看体验。

<装置实施例>

本实施例中,还提供一种视频参数调节装置4000,视频参数包括直播视频流的码率,如图4所示,该装置4000可以包括数据量获取模块4100、参考值获取模块4200和目标值获取模块4300。

数据量获取模块4100,用于获取缓冲区在第一设定时间段堆积的直播视频流的数据量。

参考值获取模块4200,用于根据所述数据量和所在网络的参考带宽,获得所述码率的参考值。

所述参考带宽根据所述网络在第二设定时间段的带宽确定,所述第二设定时间段在所述第一设定时间段之前;

目标值获取模块4300,用于根据所述码率的参考值和设定的码率阈值调节对应第三设定时间段的所述码率,得到所述码率的目标值,所述第三设定时间段在所述第一设定时间段之后。

本领域技术人员应当明白,可以通过各种方式来实现视频参数调节装置4000。例如,可以通过指令配置处理器来实现视频参数调节装置4000。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现视频参数调节装置4000。例如,可以将视频参数调节装置4000固化到专用器件(例如ASIC)中。可以将视频参数调节装置4000分成相互独立的单元,或者可以将它们合并在一起实现。视频参数调节装置4000可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。

在本实施例中,视频参数调节装置4000可以具有多种实现形式,例如,视频参数调节装置4000可以是任何的提供视频编码服务的软件产品或者应用程序中运行的功能模块,或者是这些软件产品或者应用程序的外设嵌入件、插件、补丁件等,还可以是这些软件产品或者应用程序本身。

<设备实施例>

本公开实施例提供了一种电子设备5000。

如图5所示,电子设备5000包括处理器5100和存储器5200,存储器5200中存储有计算机指令,计算机指令被处理器5100执行时,实现前述任一实施例提供的视频参数调节方法。

以上电子设备的各个模块可以由处理器5100运行存储器存储的计算机指令实现,也可以由其他电路结构实现,在此不做限定。

该电子设备可以是具有处理器和存储器的电子产品。例如可以是智能手机、便携式电脑、台式计算机、平板电脑等。

<介质实施例>

本公开实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时,实现前述任一实施例提供的视频参数调节方法。

附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本公开的范围由所附权利要求来限定。

相关技术
  • 参数调节方法、装置、可读存储介质及视频播放设备
  • 视频告警参数调节方法、装置、设备和存储介质
技术分类

06120113003758