一种数据缓冲方法及装置制造方法及图纸

技术编号:20825631 阅读:25 留言:0更新日期:2019-04-10 07:27
本发明专利技术实施例提供了一种数据缓冲方法及装置,其中,数据缓冲方法包括:在流媒体播放发生卡顿后恢复播放所述流媒体的情况下,获取播放流媒体的过程中所述流媒体的播放状态;按照所述流媒体的播放状态,调整缓冲区的大小,其中,所述缓冲区用于缓冲待播放的流媒体数据;按照调整后的所述缓冲区缓冲所述流媒体数据。这样按照流媒体的播放状态,可以自适应的调整缓冲区的大小,与相关技术中缓冲区大小固定的方案相比,可实现自适应调整缓冲区的大小,因而能够更好的满足播放状态的需求,进而减少对流媒体数据的播放的影响,从而提高用户体验效果。

【技术实现步骤摘要】
一种数据缓冲方法及装置
本专利技术涉及流媒体数据播放领域,特别是涉及一种数据缓冲方法及装置。
技术介绍
对于网页Web端播放器而言,常规上Web端播放器对流媒体数据进行硬件解码,由于硬件解码速度快,不需要考虑音视频同步问题,相对较简单,因此Web端播放器少有软件解码,来播放解码后数据。对于移动端播放器而言,在移动端播放器中使用硬件解码的降级方案时,会对流媒体数据进行软件解码,来播放解码后数据。而网络环境不好可能会导致网络卡顿,为了减少卡顿次数,一般播放器会设置一个固定大小的缓冲区;将解码后数据填满该缓冲区后,才播放解码后数据,并且解码后数据在填满缓冲区的过程中也不断下载数据,在之前缓冲区中的数据播放完成后,也有一部分数据已经被下载下来,因而会在一定程度上可以保证播放的流畅度,即在一定程度上减少了卡顿次数。但是,由于相关技术中设置的缓冲区大小固定,如果该缓冲区的大小设置的不合理,会影响流媒体数据播放,从而难以满足播放需求,影响用户体验效果。
技术实现思路
本专利技术实施例的目的在于提供一种数据缓冲方法及装置,用以解决相关技术中缓冲区影响流媒体数据播放,从而难以满足播放需求,影响用户体验效果的技术问题。具体技术方案如下:第一方面,本专利技术实施提供了数据缓冲方法,包括:在流媒体播放发生卡顿后恢复播放所述流媒体的情况下,获取播放流媒体的过程中所述流媒体的播放状态;按照所述流媒体的播放状态,调整缓冲区的大小,其中,所述缓冲区用于缓冲待播放的流媒体数据;按照调整后的所述缓冲区缓冲所述流媒体数据。进一步的,所述按照所述流媒体的播放状态,调整所述缓冲区的大小,包括:在获取到的所述流媒体的播放状态为流媒体播放再次发生卡顿的情况下,增大所述缓冲区;和/或在获取到的所述流媒体的播放状态为流媒体播放的情况下,按照所述流媒体播放的持续时长,调整所述缓冲区。进一步的,所述按照所述流媒体的播放状态为在播放流媒体的过程中播放的持续时长,调整所述缓冲区,包括:在获取到的所述流媒体的播放状态为流媒体播放,并且所述流媒体播放的持续时长大于第一预设阈值的情况下,减小所述缓冲区。进一步的,通过以下方式在流媒体播放发生卡顿后恢复播放所述流媒体:获取所述流媒体的视频数据的当前显示时间戳和所述流媒体播放发生卡顿时所述流媒体的音频数据的时间戳;在所述视频数据的当前显示时间戳大于或等于所述音频数据的时间戳与所述缓冲区对应的时间之和的情况下,确定恢复播放所述流媒体。进一步的,通过以下方式确定所述流媒体播放发生卡顿:在流媒体播放的过程中,在待渲染视频帧队列为空且所述待渲染视频帧队列为空的状态持续预定时长的情况下,确定所述流媒体播放发生卡顿。进一步的,在确定所述流媒体播放发生卡顿之后,所述方法还包括:暂停播放所述流媒体的音频数据。进一步的,在流媒体播放发生卡顿后恢复播放所述流媒体之前,所述方法还包括:在所述缓冲区缓冲预定时间的情况下,确定开始播放首屏;其中,所述预定时间为缓冲第一数量的视频帧所对应的时间。第二方面,本专利技术实施提供了数据缓冲装置,所述装置包括:获取模块,用于在流媒体播放发生卡顿后恢复播放所述流媒体的情况下,获取播放流媒体的过程中所述流媒体的播放状态;调整模块,用于按照所述流媒体的播放状态,调整缓冲区的大小,其中,所述缓冲区用于缓冲待播放的流媒体数据;缓冲模块,用于按照调整后的所述缓冲区缓冲所述流媒体数据。进一步的,所述调整模块,用于:在获取到的所述流媒体的播放状态为流媒体播放再次发生卡顿的情况下,增大所述缓冲区;和/或在获取到的所述流媒体的播放状态为流媒体播放的情况下,按照所述流媒体播放的持续时长,调整所述缓冲区。进一步的,所述调整模块,用于:在获取到的所述流媒体的播放状态为流媒体播放,并且所述流媒体播放的持续时长大于第一预设阈值的情况下,减小所述缓冲区。进一步的,通过以下方式在流媒体播放发生卡顿后恢复播放所述流媒体:获取所述流媒体的视频数据的当前显示时间戳和所述流媒体播放发生卡顿时所述流媒体的音频数据的时间戳;在所述视频数据的当前显示时间戳大于或等于所述音频数据的时间戳与所述缓冲区对应的时间之和的情况下,确定恢复播放所述流媒体。进一步的,通过以下方式确定所述流媒体播放发生卡顿:在流媒体播放的过程中,在待渲染视频帧队列为空且所述待渲染视频帧队列为空的状态持续预定时长的情况下,确定所述流媒体播放发生卡顿。进一步的,所述装置还包括:第一播放模块,用于在确定所述流媒体播放发生卡顿之后,用于暂停播放所述流媒体的音频数据。进一步的,所述装置还包括:第二播放模块,用于在流媒体播放发生卡顿后恢复播放所述流媒体之前,在所述缓冲区缓冲预定时间的情况下,确定开始播放首屏;其中,所述预定时间为缓冲第一数量的视频帧所对应的时间。第三方面,本专利技术实施提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法步骤。第四方面,本专利技术实施提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面任一的方法。第五方面,本申请实施例提供了一种应用程序,当其在计算机上运行时,使得计算机执行上述第一方面任一方法。第六方面,本专利技术实施还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一的方法。本专利技术实施例提供的一种数据缓冲方法及装置,在流媒体播放发生卡顿后恢复播放流媒体的情况下,获取播放流媒体的过程中流媒体的播放状态;按照流媒体的播放状态,调整缓冲区的大小,其中,缓冲区用于缓冲待播放的流媒体数据;按照调整后的缓冲区缓冲流媒体数据。由此可见,按照流媒体的播放状态,可以自适应地调整缓冲区的大小,与相关技术中缓冲区大小固定的方案相比,可实现自适应地调整缓冲区的大小,因而能够更好的满足播放状态的需求,进而减少对流媒体数据的播放的影响,从而提高用户体验效果。当然,实施本专利技术的任一产品或方法并不一定需要同时满足以上所述的所有优点。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的数据缓冲方法的第一流程示意图;图2为本专利技术实施例提供确定在流媒体播放发生卡顿后恢复播放流媒体的流程示意图;图3为本专利技术实施例提供的数据缓冲方法的第二流程示意图;图4为本专利技术实施例的数据缓冲装置的结构示意图;图5为本专利技术实施例提供的电子设备的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。针对相关技术的缓冲区影响流媒体数据播放,从而难以满足播放需求,影响用户体验效果的问题,本专利技术实施例提供一种数据缓冲方法及装置,采用如本文档来自技高网...

【技术保护点】
1.一种数据缓冲方法,其特征在于,所述方法包括:在流媒体播放发生卡顿后恢复播放所述流媒体的情况下,获取播放流媒体的过程中所述流媒体的播放状态;按照所述流媒体的播放状态,调整缓冲区的大小,其中,所述缓冲区用于缓冲待播放的流媒体数据;按照调整后的所述缓冲区缓冲所述流媒体数据。

【技术特征摘要】
1.一种数据缓冲方法,其特征在于,所述方法包括:在流媒体播放发生卡顿后恢复播放所述流媒体的情况下,获取播放流媒体的过程中所述流媒体的播放状态;按照所述流媒体的播放状态,调整缓冲区的大小,其中,所述缓冲区用于缓冲待播放的流媒体数据;按照调整后的所述缓冲区缓冲所述流媒体数据。2.如权利要求1所述的方法,其特征在于,所述按照所述流媒体的播放状态,调整所述缓冲区的大小,包括:在获取到的所述流媒体的播放状态为流媒体播放再次发生卡顿的情况下,增大所述缓冲区;和/或在获取到的所述流媒体的播放状态为流媒体播放的情况下,按照所述流媒体播放的持续时长,调整所述缓冲区。3.如权利要求2所述的方法,其特征在于,所述按照所述流媒体的播放状态为在播放流媒体的过程中播放的持续时长,调整所述缓冲区,包括:在获取到的所述流媒体的播放状态为流媒体播放,并且所述流媒体播放的持续时长大于第一预设阈值的情况下,减小所述缓冲区。4.如权利要求1所述的方法,其特征在于,通过以下方式在流媒体播放发生卡顿后恢复播放所述流媒体:获取所述流媒体的视频数据的当前显示时间戳和所述流媒体播放发生卡顿时所述流媒体的音频数据的时间戳;在所述视频数据的当前显示时间戳大于或等于所述音频数据的时间戳与所述缓冲区对应的时间之和的情况下,确定恢复播放所述流媒体。5.如权利要求1所述的方法,其特征在于,通过以下方式确定所述流媒体播放发生卡顿:在流媒体播放的过程中,在待渲染视频帧队列为空且所述待渲染视频帧队列为空的状态持续预定时长的情况下,确定所述流媒体播放发生卡顿。6.如权利要求5所述的方法,其特征在于,在确定所述流媒体播放发生卡顿之后,所述方法还包括:暂停播放所述流媒体的音频数据。7.如权利要求1至6任一项所述的方法,其特征在于,在流媒体播放发生卡顿后恢复播放所述流媒体之前,所述方法还包括:在所述缓冲区缓冲预定时间的情况下,确定开始播放首屏;其中,所述预定时间为缓冲第一数量的视频帧所对应的时间。8.一种数据缓冲装置,其特征在于,所述装置包括:获取模块,用于在流媒体播放发生卡顿后恢复播放所述流媒体的情况下,获取播放流媒体的过程中所述流媒体的播放状态;调整模块,用于按照所述流媒体的播放状态,调整缓...

【专利技术属性】
技术研发人员:陈金徐洋
申请(专利权)人:北京金山云网络技术有限公司北京金山云科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1