一种视频播放方法及视频播放器与流程

文档序号:21319405发布日期:2020-06-30 20:50阅读:195来源:国知局
一种视频播放方法及视频播放器与流程

本发明涉及视频播放领域,更具体的说,是涉及一种视频播放方法及视频播放器。



背景技术:

随着互联网的迅速发展,网络实时视频已经被广泛应用于诸如体育赛事网络直播,视频会议系统,视频通讯工具,安防监控等领域。而视频播放器作为人们观看网络实时视频的工具,其视频播放质量的优劣决定了用户视频观看体验的好坏。

目前,基于视频播放器进行视频播放的方法主要是将获取得到的网络实时视频数据存入抖动消除缓存器,以消除网络实时视频数据的网络抖动,之后再将消除了网络抖动的网络实时视频数据组装成视频帧,并送至解码器进行解码,最后渲染显示,以播放给用户观看。然而,采用现有的视频播放方法,只能通过抖动消除缓存器缓存网络实时视频数据的方式来消除网络实时视频数据的网络抖动,而无法消除因解码器解码不同视频帧所需的耗时相差较大所导致的解码抖动,从而导致视频播放质量较差,影响用户观看体验。



技术实现要素:

有鉴于此,本发明提供了一种视频播放方法及视频播放器,同时消除了网络抖动和解码抖动,进而提高了视频播放质量。

为实现上述目的,本发明提供如下技术方案:

一种视频播放方法,包括:

在接收到网络视频数据时,对所述网络视频数据进行视频解码,获得待缓存视频帧;

将所述待缓存视频帧缓存到可用图像内存块,并将缓存到所述可用图像内存块的待缓存视频帧作为被缓存视频帧,记录所述被缓存视频帧的帧数及缓存序号,所述缓存序号是按照所述待缓存视频帧缓存到所述可用图像内存块的先后顺序而生成的,所述可用图像内存块从空闲队列获取;

判断所述被缓存视频帧是否满足预设显示条件,所述预设显示条件是依据所述被缓存视频帧的帧数及缓存序号而设定的;

若所述被缓存视频帧满足所述预设显示条件,显示所述被缓存视频帧。

优选地,所述判断所述被缓存视频帧是否满足预设显示条件,包括:

判断所述被缓存视频帧是否满足第一条件,所述第一条件为第一视频帧未显示,且所述被缓存视频帧的帧数小于第一预设视频帧阈值,所述第一视频帧为最小的缓存序号对应的被缓存视频帧;

若所述被缓存视频帧不满足所述第一条件,判断所述被缓存视频帧的帧数是否满足第二条件,所述第二条件为所述被缓存视频帧的帧数大于或等于所述第一预设视频帧阈值;

相应的,所述若所述被缓存视频帧满足所述预设显示条件,显示所述被缓存视频帧,具体为:若所述被缓存视频帧的帧数满足所述第二条件,显示所述被缓存视频帧。

优选地,在判断出所述被缓存视频帧的帧数不满足所述第二条件之后,还包括:

将所述第一视频帧标记为已显示,并显示所述被缓存视频帧。

优选地,在所述将所述待缓存视频帧缓存到可用图像内存块,并将缓存到所述可用图像内存块的待缓存视频帧作为被缓存视频帧,记录所述被缓存视频帧的帧数及缓存序号之后,还包括:

判断所述被缓存视频帧的帧数是否达到第二预设视频帧阈值,所述第二预设视频帧阈值大于所述第一预设视频帧阈值;

若所述被缓存视频帧的帧数达到所述第二预设视频帧阈值,显示所述被缓存视频帧;

若所述被缓存视频帧的帧数未达到所述第二预设视频帧阈值,返回执行所述判断所述被缓存视频帧是否满足第一条件。

优选地,在接收到网络视频数据时,对所述网络视频数据进行视频解码,获得待缓存视频帧之后,还包括:

当所述空闲队列不存在所述可用图像内存块时,生成新图像内存块,并将所述新图像内存块作为所述可用图像内存块,返回执行所述将所述待缓存视频帧缓存到可用图像内存块,并将缓存到所述可用图像内存块的待缓存视频帧作为被缓存视频帧,记录所述被缓存视频帧的帧数及缓存序号。

优选地,在所述显示所述被缓存视频帧之后,还包括:

对所述可用图像内存块进行数据清除,并将数据清除后的可用图像内存块推入所述空闲队列。

一种视频播放器,包括:

视频解码器,用于在接收到网络视频数据时,对所述网络视频数据进行视频解码,获得待缓存视频帧;

图像缓存器,用于将所述待缓存视频帧缓存到可用图像内存块,并将缓存到所述可用图像内存块的待缓存视频帧作为被缓存视频帧,记录所述被缓存视频帧的帧数及缓存序号,所述缓存序号是按照所述待缓存视频帧缓存到所述可用图像内存块的先后顺序而生成的,所述可用图像内存块从空闲队列获取;

图像派发器,用于判断所述被缓存视频帧是否满足预设显示条件,所述预设显示条件是依据所述被缓存视频帧的帧数及缓存序号而设定的;

图像渲染器,用于若所述被缓存视频帧满足所述预设显示条件,显示所述被缓存视频帧。

优选地,所述图像派发器判断所述被缓存视频帧是否满足预设显示条件,具体包括:

判断所述被缓存视频帧是否满足第一条件,所述第一条件为第一视频帧未显示,且所述被缓存视频帧的帧数小于第一预设视频帧阈值,所述第一视频帧为最小的缓存序号对应的被缓存视频帧;

若所述被缓存视频帧不满足所述第一条件,判断所述被缓存视频帧的帧数是否满足第二条件,所述第二条件为所述被缓存视频帧的帧数大于或等于所述第一预设视频帧阈值;

相应的,所述图像渲染器,还用于若所述被缓存视频帧的帧数满足所述第二条件,显示所述被缓存视频帧。

优选地,所述图像缓存器还用于:

在将所述待缓存视频帧缓存到可用图像内存块,并将缓存到所述可用图像内存块的待缓存视频帧作为被缓存视频帧,记录所述被缓存视频帧的帧数及缓存序号之后,判断所述被缓存视频帧的帧数是否达到第二预设视频帧阈值,所述第二预设视频帧阈值大于所述第一预设视频帧阈值;

相应的,所述图像渲染器,还用于若所述被缓存视频帧的帧数达到所述第二预设视频帧阈值,显示所述被缓存视频帧;

所述图像派发器,还用于若所述被缓存视频帧的帧数未达到所述第二预设视频帧阈值,判断所述被缓存视频帧是否满足第一条件。

优选地,所述图像缓存器还用于:

在所述视频解码器接收到网络视频数据,对所述网络视频数据进行视频解码,获得待缓存视频帧,且当所述空闲队列不存在所述可用图像内存块时,生成新图像内存块,并将所述新图像内存块作为所述可用图像内存块,将所述待缓存视频帧缓存到可用图像内存块,并将缓存到所述可用图像内存块的待缓存视频帧作为被缓存视频帧,记录所述被缓存视频帧的帧数及缓存序号。

经由上述的技术方案可知,与现有技术相比,本发明提供了一种视频播放方法及视频播放器,通过将进行视频解码后所获得的待缓存视频帧缓存到可用图像内存块,并将缓存后的待缓存视频帧作为被缓存视频帧,记录被缓存视频帧的帧数及缓存序号,以便判断其是否满足依据被缓存视频帧的帧数及缓存序号而设定的预设显示条件,若满足,则立即显示被缓存视频帧;可见,对视频解码后获得的待缓存视频帧进行缓存操作,以延迟显示时间,能够同时消除网络视频数据所带来的网络抖动以及解码所带来的解码抖动,进而提高视频播放质量,同时,将依据被缓存视频帧的帧数及缓存序号而设定的预设显示条件,作为判定被缓存视频帧能否被立即显示的标准,能够有效避免被缓存视频帧数量过多的问题发生。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种视频播放方法的方法流程图;

图2为本发明实施例提供的另一种视频播放方法的方法流程图;

图3为本发明实施例提供的另一种视频播放方法的方法流程图;

图4为本发明实施例提供的另一种视频播放方法的方法流程图;

图5为本发明实施例提供的一种视频播放器的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种视频播放方法,请参见附图1,所述方法具体包括以下步骤:

s101:在接收到网络视频数据时,对网络视频数据进行视频解码,获得待缓存视频帧;

具体的,接收到的网络视频数据是以帧为单位的,且当一帧网络视频数据较大时,网络视频数据的发送端会将一帧网络视频数据进行拆分,以确保网络传输效率;相应的,在接收到网络视频数据时,若该网络视频数据经过拆分,则会先对其进行组装,以获得完整的一帧网络视频数据,进而再对其进行视频解码操作;若该网络视频数据未经过拆分,则直接对其进行视频解码操作。

视频解码后获得的待缓存视频帧也是以帧为单位,且待缓存视频帧的个数至少为一帧。其中,视频解码后获得的待缓存视频帧的数据格式一般为yuv格式。

s102:将待缓存视频帧缓存到可用图像内存块,并将缓存到可用图像内存块的待缓存视频帧作为被缓存视频帧,记录被缓存视频帧的帧数及缓存序号,缓存序号是按照待缓存视频帧缓存到可用图像内存块的先后顺序而生成的,可用图像内存块从空闲队列获取;

具体的,空闲队列内预先设置有多个可用图像内存块,每个可用图像内存块用于缓存一帧待缓存视频帧,从而避免了对用于缓存待缓存视频帧的内存块的重复申请和释放,以加快缓存速度。

被缓存视频帧的帧数是指已缓存到可用图像内存块的待缓存视频帧的总个数。被缓存视频帧的缓存序号是按照待缓存视频帧缓存到可用图像内存块的先后顺序而生成的。举例说明,待缓存视频帧包括“视频帧a”、“视频帧b”和“视频帧c”,故在顺序将“视频帧a”、“视频帧b”和“视频帧c”分别缓存到可用图像内存块“a”、“b”、“c”后,获得被缓存视频帧“x”、“y”“z”,被缓存视频帧的帧数为“3”;其中,被缓存视频帧“x”为缓存到可用图像内存块“a”的“视频帧a”,缓存序号为“1”;被缓存视频帧“y”为缓存到可用图像内存块“b”的“视频帧b”,缓存序号为“2”;被缓存视频帧“z”为缓存到可用图像内存块“c”的“视频帧c”,缓存序号为“3”。

s103:判断被缓存视频帧是否满足预设显示条件,预设显示条件是依据被缓存视频帧的帧数及缓存序号而设定的,若是,则执行s104,若否,则执行s105;

具体的,预设显示条件是依据被缓存视频帧的帧数及缓存序号而预先设定的,主要用于在确保同时消除了网络抖动和解码抖动的基础上,限制被缓存视频帧的帧数,以避免因被缓存视频帧的帧数过多所导致的视频帧延迟显示时间过长的问题。

s104:显示被缓存视频帧;

具体的,在判断出被缓存视频帧满足预设显示条件时,证明当前已缓存的多帧被缓存视频帧所累积的延迟时间值,既可以同时消除网络视频数据所带来的网络抖动以及解码所带来的解码抖动,又不会发生因被缓存视频帧的帧数过多所导致的视频帧延迟显示时间过长的问题,此时,立即将被缓存视频帧进行显示,实现了流畅的视频播放效果。

被缓存视频帧的显示方式可以是对被缓存视频帧进行渲染。

需要说明的是,本发明实施例的执行主体可为视频播放器,且视频播放器处于播放状态下。

s105:结束。

本发明实施例公开了一种视频播放方法,通过将进行视频解码后所获得的待缓存视频帧缓存到可用图像内存块,并将缓存后的待缓存视频帧作为被缓存视频帧,记录被缓存视频帧的帧数及缓存序号,以便判断其是否满足依据被缓存视频帧的帧数及缓存序号而设定的预设显示条件,若满足,则立即显示被缓存视频帧;可见,对视频解码后获得的待缓存视频帧进行缓存操作,以延迟显示时间,能够同时消除网络视频数据所带来的网络抖动以及解码所带来的解码抖动,进而提高视频播放质量,同时,将依据被缓存视频帧的帧数及缓存序号而设定的预设显示条件,作为判定被缓存视频帧能否被立即显示的标准,能够有效避免被缓存视频帧数量过多的问题发生。

可选的,在上述附图1所对应实施例中的s104之后,还包括:

对可用图像内存块进行数据清除,并将数据清除后的可用图像内存块推入空闲队列。

需要说明的是,还可以直接将可用图像内存块推入空闲队列,并在下一次获得待缓存视频帧时,令当前获得的待缓存视频帧直接覆盖该可用图像内存块在上一次缓存的待缓存视频帧,以实现对当前待缓存视频帧的缓存操作。

本发明实施例中,在被缓存视频帧进行显示之后,对用于缓存被缓存视频帧的可用图像内存块进行数据清除,并将数据清除后的可用图像内存块再推入空闲队列,提高了可用图像内存块的重复使用率。

在上述附图1所对应实施例的基础上,本发明实施例公开了另一种视频播放方法,请参见附图2,所述方法具体包括以下步骤:

s201:在接收到网络视频数据时,对网络视频数据进行视频解码,获得待缓存视频帧。

s202:将待缓存视频帧缓存到可用图像内存块,并将缓存到可用图像内存块的待缓存视频帧作为被缓存视频帧,记录被缓存视频帧的帧数及缓存序号,缓存序号是按照待缓存视频帧缓存到可用图像内存块的先后顺序而生成的,可用图像内存块从空闲队列获取。

s203:判断被缓存视频帧是否满足第一条件,第一条件为第一视频帧未显示,且被缓存视频帧的帧数小于第一预设视频帧阈值,第一视频帧为最小的缓存序号对应的被缓存视频帧,若否,则执行s204,若是,则结束;

具体的,第一预设视频帧阈值是指确保同时消除网络抖动和解码抖动所需缓存的被缓存视频帧的帧数。

在判断出被缓存视频帧满足第一条件,即被缓存视频帧满足“第一视频帧未显示,且被缓存视频帧的帧数小于第一预设视频帧阈值”时,证明视频播放器还未开始播放视频帧,且当前已缓存的多帧被缓存视频帧所累积的延迟时间值,无法同时消除网络视频数据所带来的网络抖动以及解码所带来的解码抖动,则直接结束。

s204:判断被缓存视频帧的帧数是否满足第二条件,第二条件为被缓存视频帧的帧数大于或等于第一预设视频帧阈值,若是,则执行s205,若否,则执行s206;

具体的,在判断出被缓存视频帧不满足第一条件,即被缓存视频帧满足“第一视频帧未显示,被缓存视频帧的帧数大于或等于第一预设视频帧阈值”、“第一视频帧显示,被缓存视频帧的帧数大于或等于第一预设视频帧阈值”、“第一视频帧显示,被缓存视频帧的帧数小于第一预设视频帧阈值”三种情况中的任意一种时,再对该被缓存视频帧的帧数是否满足第二条件进行判断。

s205:显示被缓存视频帧。

具体的,在判断出被缓存视频帧满足第二条件,即被缓存视频帧满足“第一视频帧未显示,被缓存视频帧的帧数大于或等于第一预设视频帧阈值”、“第一视频帧显示,被缓存视频帧的帧数大于或等于第一预设视频帧阈值”两种情况中的任意一种时,立即显示当前已缓存的多帧被缓存视频帧,从而在确保同时消除网络视频数据所带来的网络抖动以及解码所带来的解码抖动的基础上,对被缓存视频帧的帧数进行限制,以避免因被缓存视频帧的帧数过多所导致的视频帧延迟显示时间过长的问题。

s206:将第一视频帧标记为已显示,并显示被缓存视频帧;

具体的,在判断出被缓存视频帧不满足第二条件,即被缓存视频帧满足“第一视频帧显示,被缓存视频帧的帧数小于第一预设视频帧阈值”这一情况时,可将第一视频帧标记为已显示,以证明视频播放器已开始播放视频帧,且播放过程存在延迟显示时间,此时,也可立即显示当前已缓存的多帧被缓存视频帧。

需要说明的是,当第一视频帧标记为已显示时,可在下一次接收到网络视频数据,并对其依次进行视频解码、缓存操作之后,对生成的被缓存视频帧直接进行显示。

本发明实施例公开了一种视频播放方法,通过判断被缓存视频帧是否满足第一条件,若不满足,则再判断该被缓存视频帧是否满足第二条件,若满足,则显示被缓存视频帧,若不满足,则在将第一视频帧标记为已显示时,显示被缓存视频帧;可见,对被缓存视频帧是否满足第一条件和第二条件依次进行判断,能够在确保同时消除网络视频数据所带来的网络抖动以及解码所带来的解码抖动的基础上,对被缓存视频帧的帧数进行限制,以避免因被缓存视频帧的帧数过多所导致的视频帧延迟显示时间过长的问题。

在上述附图2所对应实施例的基础上,本发明实施例公开了另一种视频播放方法,请参见附图3,所述方法具体包括以下步骤:

s301:在接收到网络视频数据时,对网络视频数据进行视频解码,获得待缓存视频帧。

s302:将待缓存视频帧缓存到可用图像内存块,并将缓存到可用图像内存块的待缓存视频帧作为被缓存视频帧,记录被缓存视频帧的帧数及缓存序号,缓存序号是按照待缓存视频帧缓存到可用图像内存块的先后顺序而生成的,可用图像内存块从空闲队列获取。

s303:判断被缓存视频帧的帧数是否达到第二预设视频帧阈值,第二预设视频帧阈值大于第一预设视频帧阈值,若否,则执行s304,若是,则执行s305;

具体的,第二预设视频帧阈值可以是依据视频播放器所能缓存的最大视频帧数所预先设定的阈值,第二预设视频帧阈值小于视频播放器所能缓存的最大视频帧数,且大于第一预设视频帧阈值。

s304:判断被缓存视频帧是否满足第一条件,第一条件为第一视频帧未显示,且被缓存视频帧的帧数小于第一预设视频帧阈值,第一视频帧为最小的缓存序号对应的被缓存视频帧,若否,则执行s306,若是,则结束。

s305:显示被缓存视频帧;

具体的,在判断出被缓存视频帧的帧数达到第二预设视频帧阈值时,证明当前已缓存的被缓存视频帧的帧数累积过多,此时可立即显示当前已缓存的多帧被缓存视频帧,从而提高视频帧显示速度和播放实时性。

s306:判断被缓存视频帧的帧数是否满足第二条件,第二条件为被缓存视频帧的帧数大于或等于第一预设视频帧阈值,若是,则执行s307,若否,则执行s308。

s307:显示被缓存视频帧。

s308:将第一视频帧标记为已显示,并显示被缓存视频帧。

本发明实施例公开了一种视频播放方法,通过在将待缓存视频帧缓存到可用图像内存块,并将缓存到可用图像内存块的待缓存视频帧作为被缓存视频帧,记录被缓存视频帧的帧数及缓存序号之后,判断被缓存视频帧的帧数是否达到第二预设视频帧阈值,若达到,则立即显示被缓存视频帧,在同时消除了网络抖动和解码抖动的基础上,有效防止了缓存的待缓存视频帧的数量超过缓存上限,同时提高了视频帧的播放实时性。

在上述附图1所对应实施例的基础上,本发明实施例公开了另一种视频播放方法,请参见附图4,所述方法具体包括以下步骤:

s401:在接收到网络视频数据时,对网络视频数据进行视频解码,获得待缓存视频帧。

s402:当空闲队列不存在可用图像内存块时,生成新图像内存块,并将新图像内存块作为可用图像内存块,将待缓存视频帧缓存到可用图像内存块,并将缓存到可用图像内存块的待缓存视频帧作为被缓存视频帧,记录被缓存视频帧的帧数及缓存序号。

s403:判断被缓存视频帧是否满足预设显示条件,预设显示条件是依据被缓存视频帧的帧数及缓存序号而设定的,若是,则执行s104,若否,则执行s405。

s404:显示被缓存视频帧。

s405:结束。

本发明实施例公开了一种视频播放方法,通过在空闲队列不存在可用图像内存块时,生成新图像内存块,作为可用图像内存块,以便将待缓存视频帧缓存到该可用图像内存块,并将缓存到可用图像内存块的待缓存视频帧作为被缓存视频帧,记录被缓存视频帧的帧数及缓存序号,可以有效避免因空闲队列内不存在可用图像内存块而导致无法对待缓存视频帧进行缓存的问题,同时,直接生成新图像内存块,节省了内存块的获取时间,进而提高了缓存效率。

本发明实施例公开了一种视频播放器,请参见附图5,具体包括:

视频解码器501,用于在接收到网络视频数据时,对网络视频数据进行视频解码,获得待缓存视频帧;

图像缓存器502,用于将待缓存视频帧缓存到可用图像内存块,并将缓存到可用图像内存块的待缓存视频帧作为被缓存视频帧,记录被缓存视频帧的帧数及缓存序号,缓存序号是按照待缓存视频帧缓存到可用图像内存块的先后顺序而生成的,可用图像内存块从空闲队列获取;

图像派发器503,用于判断被缓存视频帧是否满足预设显示条件,预设显示条件是依据被缓存视频帧的帧数及缓存序号而设定的;

图像渲染器504,用于若被缓存视频帧满足预设显示条件,显示被缓存视频帧。

本发明实施例公开了一种视频播放器,通过图像缓存器502将视频解码器501进行视频解码后所获得的待缓存视频帧缓存到可用图像内存块,并将缓存后的待缓存视频帧作为被缓存视频帧,记录被缓存视频帧的帧数及缓存序号,以便图像派发器503判断其是否满足依据被缓存视频帧的帧数及缓存序号而设定的预设显示条件,若满足,则由图像渲染器504立即显示被缓存视频帧;可见,对视频解码后获得的待缓存视频帧进行缓存操作,以延迟显示时间,能够同时消除网络视频数据所带来的网络抖动以及解码所带来的解码抖动,进而提高视频播放质量,同时,将依据被缓存视频帧的帧数及缓存序号而设定的预设显示条件,作为判定被缓存视频帧能否被立即显示的标准,能够有效避免被缓存视频帧数量过多的问题发生。

本发明实施例提供的各个器件的工作过程,请参照附图1所对应的方法流程图,具体工作过程不再赘述。

可选的,针对上述附图5所对应实施例中图像派发器503判断被缓存视频帧是否满足预设显示条件,具体包括:

判断被缓存视频帧是否满足第一条件,第一条件为第一视频帧未显示,且被缓存视频帧的帧数小于第一预设视频帧阈值,第一视频帧为最小的缓存序号对应的被缓存视频帧;

若被缓存视频帧不满足第一条件,判断被缓存视频帧的帧数是否满足第二条件,第二条件为被缓存视频帧的帧数大于或等于第一预设视频帧阈值;

相应的,图像渲染器504,还用于若被缓存视频帧的帧数满足第二条件,显示被缓存视频帧。

本发明实施例中,通过图像派发器503判断被缓存视频帧是否满足第一条件,若不满足,则再判断该被缓存视频帧是否满足第二条件,若满足,则图像渲染器504显示被缓存视频帧,若不满足,则在图像渲染器504将第一视频帧标记为已显示时,显示被缓存视频帧;可见,对被缓存视频帧是否满足第一条件和第二条件依次进行判断,能够在确保同时消除网络视频数据所带来的网络抖动以及解码所带来的解码抖动的基础上,对被缓存视频帧的帧数进行限制,以避免因被缓存视频帧的帧数过多所导致的视频帧延迟显示时间过长的问题。

本发明实施例提供的各个器件的工作过程,请参照附图2所对应的方法流程图,具体工作过程不再赘述。

可选的,上述附图5所对应实施例中的图像缓存器502,还用于在将待缓存视频帧缓存到可用图像内存块,并将缓存到可用图像内存块的待缓存视频帧作为被缓存视频帧,记录被缓存视频帧的帧数及缓存序号之后,判断被缓存视频帧的帧数是否达到第二预设视频帧阈值,第二预设视频帧阈值大于第一预设视频帧阈值;

相应的,图像渲染器504,还用于若被缓存视频帧的帧数达到第二预设视频帧阈值,显示被缓存视频帧;

图像派发器503,还用于若被缓存视频帧的帧数未达到第二预设视频帧阈值,判断被缓存视频帧是否满足第一条件。

本发明实施例中,通过图像缓存器502在将待缓存视频帧缓存到可用图像内存块,并将缓存到可用图像内存块的待缓存视频帧作为被缓存视频帧,记录被缓存视频帧的帧数及缓存序号之后,判断被缓存视频帧的帧数是否达到第二预设视频帧阈值,若达到,则图像渲染器504立即显示被缓存视频帧,在同时消除了网络抖动和解码抖动的基础上,有效防止了图像缓存器502中缓存的待缓存视频帧的数量超过图像缓存器502的缓存上限,同时提高了视频帧的播放实时性。

本发明实施例提供的各个器件的工作过程,请参照附图3所对应的方法流程图,具体工作过程不再赘述。

可选的,上述附图5所对应实施例中的图像缓存器502,还用于在视频解码器501接收到网络视频数据,对网络视频数据进行视频解码,获得待缓存视频帧,且当空闲队列不存在可用图像内存块时,生成新图像内存块,并将新图像内存块作为可用图像内存块,将待缓存视频帧缓存到可用图像内存块,并将缓存到可用图像内存块的待缓存视频帧作为被缓存视频帧,记录被缓存视频帧的帧数及缓存序号。

本发明实施例中,通过图像缓存器502在空闲队列不存在可用图像内存块时,生成新图像内存块,作为可用图像内存块,以便将待缓存视频帧缓存到该可用图像内存块,并将缓存到可用图像内存块的待缓存视频帧作为被缓存视频帧,记录被缓存视频帧的帧数及缓存序号,可以有效避免因空闲队列内不存在可用图像内存块而导致无法对待缓存视频帧进行缓存的问题,同时,直接生成新图像内存块,节省了内存块的获取时间,进而提高了缓存效率。

本发明实施例提供的各个器件的工作过程,请参照附图4所对应的方法流程图,具体工作过程不再赘述。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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