一种数据推送方法及装置、一种终端及存储介质与流程

文档序号:12917436阅读:195来源:国知局
一种数据推送方法及装置、一种终端及存储介质与流程

本发明涉及计算机软件的音视频处理技术领域,特别涉及一种数据推送方法及装置、一种终端及存储介质。



背景技术:

目前,在直播中,低延迟、高质量一直是用户追求的目标;为了获得低延迟,在外部环境不变的情况下,一般通过降低推流的数据量来实现,技术实现上可选择压缩率更高的音视频算法,这样音视频的质量就会降低;为了提供高质量,在外部环境不变的情况下,一般通过提高音视频的码率,这样就会导致推流数据量升高。

因此可以看出,低延迟和高质量相互矛盾,特别是在弱网(带宽低于300kbit/s)情况下,矛盾会更加突出,并且在直播的过程中会出现画面花屏、延迟或不流畅等问题,直播观众端的用户体验不好。



技术实现要素:

有鉴于此,本申请提供一种降低直播在弱网情况下的延迟、解决直播过程中画面不流畅的数据推送方法及装置、一种终端及存储介质。

一方面,本申请提供一种数据推送方法,包括:

按照预设时间间隔采集缓存中的视频容量;

根据采集的视频容量确定对缓存中的视频帧的推送策略;

按照确定的推送策略推送缓存中的视频帧。

可选地,

所述按照预设时间间隔采集缓存中的视频容量包括:

按照预设时间间隔采集缓存中的视频容量并记录;

所述根据采集的视频容量确定对缓存中的视频帧的推送策略包括:

统计任意相邻两次采集的缓存中的视频容量之间的差值以及该差值对应的相邻的采集时间;

按照形成所述差值的时间顺序,计算所述差值的变化率;

若所述变化率满足预设条件,则降低视频传输码率;

所述按照确定的推送策略推送数据包括:

按照降低的视频传输码率推送缓存中的视频帧。

可选地,

所述根据采集的视频容量确定对缓存中的视频帧的推送策略包括:

若所述缓存中的视频容量大于第一阈值,则持续丢弃接收的视频帧直到收到关键帧时结束。

可选地,

所述预设条件包括:

所述变化率大于第二阈值并且所述差值按照形成所述差值的时间顺序连续增长。

另一方面,本申请提供一种数据推送装置,包括:

采集模块,用于按照预设时间间隔采集缓存中的视频容量;

处理模块,用于根据采集的视频容量确定对缓存中的视频帧的推送策略;

推送模块,用于按照确定的推送策略推送缓存中的视频帧。

可选地,

所述采集模块包括:

记录模块,用于按照预设时间间隔采集缓存中的视频容量并记录;

所述处理装置包括:

统计模块,用于统计任意相邻两次采集的缓存中的视频容量之间的差值以及该差值对应的相邻的采集时间;

计算模块,用于按照形成所述差值的时间顺序,计算所述差值的变化率;

降码模块,用于若所述变化率满足预设条件,则降低视频传输码率;

所述推送模块包括:

发送模块,用于按照降低的视频传输码率推送缓存中的视频帧。

可选地,

所述处理模块包括:

判断模块,用于若所述缓存中的视频容量大于第一阈值;

丢帧模块,用于持续丢弃接收的视频帧直到收到关键帧时结束。

可选地,

所述预设条件包括:

所述变化率大于第二阈值并且所述差值按照形成所述差值的时间顺序连续增长。

另一方面,本申请提供一种终端,包括处理器和存储器,所述存储器存储有计算机指令,所述处理器调用所述计算机指令并执行上述数据推送方法。

另一方面,本申请提供一种存储介质,存储有计算机指令,所述计算机指令执行上述数据推送方法。

本发明申请提供的一种数据推送方法及装置、一种终端及存储介质,通过在弱网的情况下实施视频推送策略来减少视频帧的发送量解决直播过程中出现视频画面延迟、花屏或播放不流畅等问题。

附图说明

图1为本申请一实施例提供的一种数据推送方法的流程图;

图2为本申请一实施例提供的一种数据推送方法的流程图;

图3为本申请一实施例提供的一种数据推送方法的流程图;

图4为本申请一实施例提供的一种数据推送装置的结构示意图;

图5为本申请一实施例提供的一种数据推送装置的结构示意图;

图6为本申请一实施例提供的处理模块的结构示意图;

图7为本申请一实施例提供的一种数据推送装置的结构示意图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。

在本申请中,提供了一种数据推送方法及装置、一种终端及存储介质,在下面的实施例中逐一进行详细说明。

参见图1,本申请一实施例提供一种数据推送方法,包括步骤101至步骤103。

步骤101:按照预设时间间隔采集缓存中的视频容量。

本实施例中,所述时间间隔可以根据当前所处的网络环境来设置,采集缓存中的视频容量是采集当前缓存中视频帧的多少。

步骤102:根据采集的视频容量确定对缓存中的视频帧的推送策略。

本实施例中,根据采集的当前视频容量的大小来选择适合当前缓存中视频的推送策略。

步骤103:按照确定的推送策略推送缓存中的视频帧。

本申请实施例提供的数据推送方法,首先根据预设的时间间隔来获取当前缓存中视频容量的大小,根据获取到的视频容量的大小选择合适的视频帧推送策略,可以在弱网的情况下根据获取到的缓存中的视频容量及时调整视频帧的推送策略,解决视频直播过程中视频画面延迟以及播放不流畅的问题。

参见图2,本申请一实施例提供一种数据推送方法,包括步骤201至步骤205。

步骤201:按照预设时间间隔采集缓存中的视频容量并记录。

本实施例中,按照预设的时间间隔采集当前缓存中的视频容量,并且将每次采集到当前缓存中的视频容量记录下来。

步骤202:统计任意相邻两次采集的缓存中的视频容量之间的差值以及该差值对应的相邻的采集时间。

本实施例中,统计的任意相邻采集的缓存中的视频容量之间的差值至少两次但不限于两次,可以根据实际应用来具体设定,所述差值为相邻的采集时间靠后的缓存中的视频容量减去采集时间靠前的缓存中的视频容量得到,例如采集第一秒和第二秒的缓存中的视频容量,用第二秒的缓存中的视频容量减去第一秒的缓存中的视频容量得到差值。

步骤203:按照形成所述差值的时间顺序,计算所述差值的变化率。

本实施例中,所述差值的变化率是根据形成所述差值的时间顺序来计算的。

步骤204:若所述变化率满足预设条件,则降低视频传输码率。

本实施例中,所述预设条件可以根据当前的网络环境来具体设置,所述视频传输码率包括三个等级,由高到低分别为第一等级、第二等级和第三等级,如果降低到最低视频传输码率还要下降,则会忽略,避免视频传输码率降的太低造成视频画面花屏,降低直播中视频画面质量。

本申请实施例中以三个等级为例进行说明,实际应用中可以将所述视频传输码率划分为其他数量的等级,本申请对此不作限定。

步骤205:按照降低的视频传输码率推送缓存中的视频帧。

本申请实施例中,根据统计任意相邻两次采集的缓存中的视频容量之间的差值计算所述差值的变化率,通过确定所述变化率满足设定的预设条件,来主动降低视频传输码率,减少视频帧发送量,解决弱网环境下视频直播过程中视频画面延迟的问题,使得视频画面在保证质量的情况下可以流畅播放。

本申请一实施例中,所述预设条件包括:

所述变化率大于第二阈值并且所述差值按照形成所述差值的时间顺序连续增长。

本申请实施例中,所述变化率大于根据当前网络环境设置的第二阈值并且所述差值按照形成所述差值的时间顺序连续增长趋势时,就需要降低视频传输码率来减少视频的发送量,降低弱网环境中视频直播画面的延迟,所述第二阈值可以根据实际应用具体限定,所述差值按照形成所述差值的时间顺序连续递增时,再降低视频传输码率来减少视频帧的发送量,可以更加精确的判断直播中画面的延迟,避免出现多次降低视频传输码率对视频画面的质量造成影响。

本申请一实施例中,所述差值的变化率按照形成所述差值的时间顺序呈增长、下降或增长、增长、下降等非连续增长时,则需要重新按照时间间隔统计任意相邻两次采集的缓存中的视频容量之间的差值计算所述差值的变化率,重新选择码率调整是降低还是提高,提升视频传输码率推送策略的精确度。

参见图3,本申请一实施例提供一种数据推送方法,包括步骤301至步骤305。

步骤301:按照预设时间间隔采集缓存中的视频容量。

步骤302:判断所述缓存中的视频容量是否大于第一阈值,如果是,执行步骤303;如果否,则执行步骤305。

本实施例中,根据当前网络环境设置第一阈值,判断采集的当前缓存中的视频容量的大小是否大于第一阈值。

步骤303:持续丢弃接收的视频帧直到收到关键帧时结束。

本实施例中,实际应用中视频可以每隔30个视频帧设置一个关键帧,这样每次丢弃为30个视频帧。

步骤304:推送未丢弃的视频帧。

步骤305:推送接收到的全部视频帧。

本实施例中,当所述缓存中的视频容量大于设置的第一阈值时,则丢弃视频帧,按照这种丢帧策略推送缓存中的视频帧。

本申请实施例中,采用视频丢帧策略减少视频帧的发送量,在不影响视频画面质量的情况下解决弱网环境中视频直播画面不流畅的问题,降低视频直播中画面的延迟。

实际应用中,本申请实施例提供的数据推送方法可以应用于电子设备中,所述电子设备可以是一种终端,例如可以是手机、平板电脑、台式电脑、笔记本电脑等,下面以手机为例对本申请实施例提供的数据推送方法进行说明。

本实施例中,主播端通过手机录制声音和视频画面,所述声音和视频画面会通过手机的音频和视频编码器进行编码后存在音视频的缓存中等待网络发送模块获取,当前主播端的网络环境为带宽低于300kbit/s且大于80kbit/s时,所述网络发送模块按照预设的时间间隔采集缓存中的视频容量,如每十秒的时间间隔采集缓存中的视频容量并记录;如表1所示:统计第10秒与第20秒视频容量之间的差值为5个、第20秒与第30秒视频容量之间的差值为6个、第30秒与第40秒视频容量之间的差值为4个和该差值对应相邻的采集时间。

表1为本申请一实施例提供的采集时间和采集的视频容量的对应关系表的示例。

表1

从表1中可以看出,当采集时间是第10秒时,对应第10秒采集到的缓存中的视频容量是10个视频帧。

按照形成所述差值的时间顺序,计算得到所述差值的变化率,所述差值的变化率均大于第二阈值,如第二阈值为10%,本实施例中所述差值的变化率均大于10%,并且呈连续增长,说明当前网络环境较差,需要降低视频传输码率。

本实施例中,将视频传输码率设置为三级,由高到低分别为第一等级、第二等级和第三等级,当网络环境较差需要降低视频码率进行调整时,可以一次降低一个等级的视频传输码率,降低到第三等级之后为了保证视频质量不再进行下降调整。

可选地,也可以将所述视频传输码率直接降低至最低等级以更快地减少缓存内累积的视频帧。

网络发送模块接收降低传输码率等级之后的视频帧,然后将接收到的视频帧发送到网络。

本申请实施例采用码率调整策略实现弱网环境中减少视频帧传输量,解决视频直播中视频画面延迟的问题,使得视频直播过程中画面不会出现花屏并且视频画面播放比较流畅;实际应用中,还可以采用降低码率调整策略与丢帧策略结合来减少视频帧传输量。

本申请一实施例中,若网络状况好转,所述差值的变化率小于第二阈值并且所述差值按照形成所述差值的时间顺序连续降低时,则提高视频传输码率一个等级,可以根据当前的网络环境随时调整最合适的视频传输码率;如果提高到最高的视频传输码率等级则不再提高,避免造成网络传输拥堵。

本申请实施例提供的数据推送方法可以应用于电子设备中,所述电子设备可以是一种终端,例如可以是手机、平板电脑、台式电脑、笔记本电脑等。

具体地,本申请实施例提供的数据推送方法可以应用于电子设备中安装的任一应用程序,所述应用程序可以包括音视频直播软件、游戏软件等。

参见图4,本申请一实施例提供一种数据推送装置,包括:

采集模块401,用于按照预设时间间隔采集缓存中的视频容量;

处理模块402,用于根据采集的视频容量确定对缓存中的视频帧的推送策略;

推送模块403,用于按照确定的推送策略推送缓存中的视频帧。

本申请实施例提供的数据推送装置,首先根据预设的时间间隔来获取当前缓存中视频容量的大小,根据获取到的视频容量的大小选择合适的视频帧推送策略,可以在弱网的情况下根据获取到的缓存中的视频容量及时调整视频帧的推送策略,解决视频直播过程中视频画面延迟以及播放不流畅的问题。

参见图5,所述采集模块401包括:

记录模块501,用于按照预设时间间隔采集缓存中的视频容量并记录;

所述处理模块402包括:

统计模块502,用于统计任意相邻两次采集的缓存中的视频容量之间的差值以及该差值对应的相邻的采集时间;

计算模块503,用于按照形成所述差值的时间顺序,计算所述差值的变化率;

降码模块504,用于若所述变化率满足预设条件,则降低视频传输码率;

所述推送模块403包括:

发送模块505,用于按照降低的视频传输码率推送缓存中的视频帧。

本申请实施例中,根据统计任意相邻两次采集的缓存中的视频容量之间的差值计算所述差值的变化率,通过确定所述变化率满足设定的预设条件,来主动降低视频传输码率,减少视频帧发送量,解决弱网环境下视频直播过程中视频画面延迟的问题,使得视频画面在保证质量的情况下可以流畅播放。

参见图6,所述处理模块402包括:

判断模块601,用于若所述缓存中的视频容量大于第一阈值;

丢帧模块602,用于持续丢弃接收的视频帧直到收到关键帧时结束。

本申请实施例中,采用视频丢帧策略减少视频帧的发送量,在不影响视频画面质量的情况下解决了弱网环境中视频直播画面不流畅的问题,使得视频直播中不会出现画面延迟,并且视频直播过程中视频画面的质量高。

可选地,所述预设条件包括:

所述变化率大于第二阈值并且所述差值按照形成所述差值的时间顺序连续增长。

本申请实施例中,所述变化率大于根据具体设备或当前网络环境设置的第二阈值并且所述差值按照形成所述差值的时间顺序连续增长趋势时,就需要降低视频传输码率来减少视频帧的发送量,降低弱网环境中视频直播画面的延迟。

上述为本实施例的数据推送装置的示意性方案。需要说明的是,该数据推送装置的技术方案与上述的数据推送方法的技术方案属于同一构思,数据推送装置的技术方案未详细描述的细节内容,均可以参见上述数据推送方法的技术方案的描述。

本申请实施例提供的数据推送装置可以应用于电子设备中,所述电子设备可以是一种终端,例如可以是手机、平板电脑、台式电脑、笔记本电脑等。

具体地,本申请实施例提供的数据推送装置可以应用于电子设备中安装的任一应用程序,所述应用程序可以包括音视频频直播软件、游戏软件等。

参见图7,以平板电脑为例对本申请实施例提供的数据推送装置进行说明。

本实施例的数据推送装置用在平板电脑的视频直播过程中,该数据推送装置包括音频编码模块701、音频缓存702、视频编码模块703、视频缓存704、网络发送模块705、网络706。

为了便于理解视频传输码率,本实施例中将视频传输码率设置为三级,由高到低分别为第一等级、第二等级和第三等级,当网络环境较差需要降低视频码率进行调整时,可以一次降低一个等级的视频传输码率,降低到第三等级之后为了保证视频质量不再进行下降调整。

可选地,也可以将所述视频传输码率直接降低至最低等级以更快地减少缓存内累积的视频帧。

主播端使用平板电脑录制的音频和视频分别经过音频编码模块701和视频编码模块703发送到音频缓存702和视频缓存704中,网络发送模块705从所述音频缓存702和视频缓存704中采集音频帧和视频帧然后将采集到的音频帧和视频帧发送到网络706。

以网络发送模块705接收视频帧为例,当前主播端的网络环境为带宽小于300kbit/s,网络发送模块705按照预设时间间隔采集缓存中的视频容量,如每隔10秒采集一次缓存中的视频容量,然后将采集到的视频容量传递给丢帧模块,所述丢帧模块检测到所述缓存中的视频容量大于第一阈值时,如大于10%时,所述网络发送模块705丢弃视频帧,本实施例的视频每隔30个视频帧设置有一个关键帧,所述丢帧模块持续丢弃网络发送模块接收到的视频帧直到收到关键帧时结束,之后接收到的视频帧被发送到网络706。

本申请实施例中,采用丢帧策略减少视频帧的发送量,在不影响视频直播中画面质量的情况下解决弱网情况下视频直播中画面不流畅的问题,能够更好的解决直播过程中画面延迟的问题。

本申请一实施例提供一种终端,包括处理器和存储器,所述存储器存储有计算机指令,所述处理器调用所述计算机指令并执行上述数据推送方法。

上述为本实施例的数据推送终端的示意性方案。需要说明的是,该数据推送终端的技术方案与上述的数据推送方法的技术方案属于同一构思,数据推送终端的技术方案未详细描述的细节内容,均可以参见上述数据推送方法的技术方案的描述。

需要说明的是,所述终端可以为桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解的是,终端为用于接收数据并进行处理后输出结构的设备。上述举例并非是对终端的限定,为在某些场合,终端还可以包括输入输出设备、网络接入设备、总线等。

所述处理器可以为中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端的控制中心,利用各种接口和线路连接整个终端的各个部分。

所述存储器主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

本申请一实施例提供一种存储介质,存储有计算机指令,所述计算机指令执行上述数据推送方法。

上述为本实施例的一种存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据推送方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据推送方法的技术方案的描述。

所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上公开的本发明优选实施例只是用于帮助阐述本发明。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

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