本发明涉及智能终端领域,尤其涉及一种视频流播放方法、系统、终端及计算机可读存储介质。
背景技术:
目前,在电视上播放网络视频音频绝大多数都是采用数据流的形式进行传输。但当前视频流播放技术中,会将获取到的视频帧立即送到解码器解码,导致解码器在单位时间内需要解码的视频数据量不均匀,解码器的解码压力在短时间内增大,视频数据容易丢失或顺序错乱,从而使得播放过程中出现丢帧、卡顿、跳跃和/或突然停止播放现象。
技术实现要素:
本发明的主要目的在于提出一种视频流播放方法、系统、终端及计算机可读存储介质,旨在解决现有采用视频流播放技术中接收到视频数据立即送到解码器解码,导致丢帧、卡顿、跳跃和/或突然停止播放的问题。
为实现上述目的,本发明提供一种视频流播放方法,包括步骤:
实时接收服务器发送的音视频数据,并将接收到的音视频数据存储至缓存区域中;
实时将缓存区域中最先存储的音视频数据移至待解码区域中;
实时提取待解码区域中最先存储的音视频数据,并对提取的待解码区域中最先存储的音视频数据进行解码播放。
可选地,所述实时将缓存区域中最先存储的音视频数据移至待解码区域中的步骤包括:
判断待解码区域中当前存储的音视频数据的数量是否达到第一预设阈值;
若否,则实时将缓存区域中最先存储的音视频数据移至待解码区域中。
可选地,所述实时接收服务器发送的音视频数据的步骤包括:
获取待解码区域中的当前存储的音视频数据的数量;
判断待解码区域中的当前存储的音视频数据的数量是否达到预设第二预设阈值,其中所述第一预设阈值大于所述第二预设阈值;
若否,则采用预设的第一下行网络速率实时接收服务器发送的音视频数据;
若是,则采用预设的第二下行网络速率实时接收服务器发送的音视频数据,其中所述第二下行网络速率小于所述第一下行网络速率。
可选地,所述采用预设的第二下行网络速率实时接收服务器发送的音视频数据的步骤之前还包括:
判断缓存区域中的当前存储的音视频数据的数量是否达到第三预设阈值;
若否,则采用预设的第二下行网络速率实时接收服务器发送的音视频数据;
若是,则采用预设的第三下行网络速率实时接收服务器发送的音视频数据,其中所述第三下行网络速率小于所述第二下行网络速率。
可选地,所述实时接收服务器发送的音视频数据的步骤之前还包括:
采用tcp协议与所述服务器建立通信连接;
发送视频获取请求至所述服务器,以使所述服务器根据所述视频获取请求发送音视频数据。
可选地,所述对提取的待解码区域中最先存储的音视频数据进行解码播放步骤包括:
对提取的待解码区域中最先存储的音视频数据进行解码,获得视频数据和音频数据;
同步播放所述视频数据和所述音频数据。
可选地,所述同步播放所述视频数据和所述音频数据的步骤之前,还包括:
对所述视频数据和所述音频数据进行渲染,获得渲染后的视频数据和音频数据;
所述同步播放所述视频数据和所述音频数据的步骤包括:
同步播放渲染后的视频数据和音频数据。
为实现上述目的,本发明还提供一种视频流播放系统,所述系统包括:
接收模块,用于实时接收服务器发送的音视频数据,并将接收到的音视频数据存储至缓存区域中;
移存模块,用于实时将缓存区域中最先存储的音视频数据移至待解码区域中;
提取模块,用于实时提取待解码区域中最先存储的音视频数据,并对提取的待解码区域中最先存储的音视频数据进行解码播放。
为实现上述目的,本发明还提供一种终端,所述终端包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的视频流播放方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的视频流播放方法的步骤。
本发明提出的一种视频流播放方法、系统、终端及计算机可读存储介质,通过实时接收服务器发送的音视频数据,并将接收到的音视频数据存储至缓存区域中;实时将缓存区域中最先存储的音视频数据移至待解码区域中;实时提取待解码区域中最先存储的音视频数据,并对提取的待解码区域中最先存储的音视频数据进行解码播放。终端通过设置了两个存储音视频数据的缓存区域和待解码区域,避免获取到的视频数据立即送到解码器解码,导致解码器在单位时间内需要解码的视频数据量不均匀,进而导致解码器的解码压力在短时间内增大,从而出现画面卡顿的问题,而且音视频数据从接收到解码过程中,是会先进入缓存区域再进入待解码区域,并且对两个区域中存储的音视频数据都是采用先进先出的策略,确保对接收到的音视频数据按顺序进行处理,有效避免播放画面跳跃等问题,更好地提高了用户体验。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明视频流播放方法第一实施例的流程示意图;
图3为本发明视频流播放方法第一实施例中步骤s20的细化流程示意图;
图4为本发明视频流播放方法第二实施例中步骤s10中所述实时接收服务器发送的音视频数据的步骤的细化流程示意图;
图5为本发明视频流播放系统的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参照图1,图1为本发明各个实施例中所提供的终端的硬件结构示意图。所述终端包括通信模块01、存储器02及处理器03等部件。本领域技术人员可以理解,图1中所示出的终端还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中,所述处理器03分别与所述存储器02和所述通信模块01连接,所述存储器02上存储有计算机程序,所述计算机程序同时被处理器03执行。
通信模块01,可通过网络与外部设备连接。通信模块01可以接收外部设备发出的数据,还可发送数据、指令及信息至所述外部设备,所述外部设备可以是手机、平板电脑、笔记本电脑和台式电脑等电子设备。
存储器02,可用于存储软件程序以及各种数据。存储器02可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(实时接收服务器发送的音视频数据)等;存储数据区可存储根据终端的使用所创建的数据或信息等。此外,存储器02可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器03,是终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器02内的软件程序和/或模块,以及调用存储在存储器02内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。处理器03可包括一个或多个处理单元;优选的,处理器03可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器03中。
尽管图1未示出,但上述终端还可以包括电路控制模块,电路控制模块用于与市电连接,实现电源控制,保证其他部件的正常工作。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
根据上述硬件结构,提出本发明方法各个实施例。
参照图2,在本发明视频流播放方法的第一实施例中,所述视频流播放方法包括步骤:
步骤s10,实时接收服务器发送的音视频数据,并将接收到的音视频数据存储至缓存区域中;
在本方案中,终端通过无线网络或有线网络与服务器建立通信连接,终端和服务器端的通信目前包括两种方式udp和tcp传输协议。tcp即传输控制协议是提供的是面向连接、可靠的数据流服务。在终端和服务器进行交换数据前,需要先在双方之间建立一个tcp连接,然后才能传输数据。tcp传输提供了超时重发,丢弃重复数据,检验数据,流量控制等功能,从而保证数据能从一端传到另一端。而udp即用户数据报协议是一个简单的面向数据报的运输层协议,udp不提供可靠性,它只是把数据报发送出去,不会保证它们能到达目的地。由于udp在传输数据前不会在客户断和服务端之间建立一个连接,且没有超时重发等机制,故而传输速度很快。视音频数据流是连续的,需要确保同步点一致,为了适应这种数据传输在本方案中使用面向连接的可靠的tcp传输协议。在与服务器建立通信连接后,终端基于用户的需求,发送视频获取请求至服务器,该视频获取请求中可以包括视频名称和/或视频下载地址,以使服务器根据所述视频获取请求,将对应的视频以视频流的方式将该视频的音视频数据实时发送至终端。终端实时接收服务器发送的音视频数据,服务器是采用视频流方式传输视频数据至终端,故这些音视频数据是属于同一个视频,是一个视频被切分成多个音视频数据中一个音视频数据。终端接收到一个音视频数据后,就将接收到的一个音视频数据存储至缓存区域中。
步骤s20,实时将缓存区域中最先存储的音视频数据移至待解码区域中;
终端在实时接收服务器发送的音视频数据的同时,会实时将缓存区域中最先存储的音视频数据从缓存区域中移出,并移至待解码区域中。
具体地的,请参照图3,图3为本申请一种实施例中实时将缓存区域中最先存储的音视频数据移至待解码区域中的步骤的流程细化示意图,基于上述实施例,步骤s20包括:
步骤s21,判断待解码区域中当前存储的音视频数据的数量是否达到第一预设阈值;
步骤s22,若否,则将缓存区域中最先存储的音视频数据移至待解码区域中。
具体的,为了防止待解码区域中存储过多的音视频数据,占用终端太多内存,导致终端系统性能降低,影响终端的解码功能,会为待解码区域设置一个最大存储数据量第一预设阈值,在将缓存区域中最先存储的音视频数据移至待解码区域中之前,终端会先获取待解码区域中当前存储的音视频数据的数量,并判断待解码区域中当前存储的音视频数据的数量是否达到第一预设阈值,若未达到第一预设阈值时,会实时地将缓存区域中最先存储的音视频数据从缓存区域中移除,并移至待解码区域中存储。若达到了第一预设阈值,则会暂时停止将缓存区域中最先存储的音视频数据从缓存区域中移除并移至待解码区域中,而是实时获取待解码区域中当前存储的音视频数据的数量,并判断待解码区域中当前存储的音视频数据的数量是否达到第一预设阈值,只要当确定待解码区域中当前存储的音视频数据的数量未达到第一预设阈值时,便会继续将缓存区域中最先存储的音视频数据从缓存区域中移除并移至待解码区域中。
步骤s30,实时提取待解码区域中最先存储的音视频数据,并对提取的待解码区域中最先存储的音视频数据进行解码播放。
终端在实时接收服务器发送的音视频数据的同时,也会实时从待解码区域中提取最先存储的音视频数据,并对提取的最先存储的音视频数据进行解码播放。
具体地,步骤s30中所述对提取的待解码区域中最先存储的音视频数据进行解码播放的步骤包括:
步骤s31,对提取的待解码区域中最先存储的音视频数据进行解码,获得视频数据和音频数据;
步骤s32,同步播放所述视频数据和所述音频数据。
本实施例中使用解码工具,例如使用directshow技术对提取的待解码区域中最先存储的音视频数据进行解码。具体的,首先采用视频流分离器将提取的待解码区域中最先存储的音视频数据分离为视频数据和视频数据对应的音频数据,然后采用视频解码器和声音解码器对应的对分离出的视频数据和视频数据对应的音频数据进行解码,获得待播放的视频数据和待播放的视频数据所对应的待播放的音频数据,最后同步播放待播放的视频数据和待播放的视频数据所对应的待播放的音频数据。
进一步地,所述同步播放所述视频数据和所述音频数据的步骤s32之前还包括:
步骤s33,对所述视频数据和所述音频数据进行渲染,获得渲染后的视频数据和音频数据;
所述同步播放所述视频数据和所述音频数据的步骤s32包括:
步骤s34,同步播放渲染后的视频数据和音频数据。
为了提高视频播放的质量和效果,在获得待播放的视频数据和待播放的音频数据之后,同步播放待播放的视频数据和所述待播放的视频数据对应的音频数据之前,会采用特定的视频渲染工具对待播放的视频数据进行渲染,获得渲染后的待播放的视频数据,还会采用音频渲染工具对所述待播放的视频数据对应的音频数据进行音频渲染,获得渲染后的待播放音频数据。
需要说明的是,由于进行视频数据的渲染的工具和进行音频渲染的工具是不同的,故本实例中,所述对所述视频数据进行渲染,获得渲染后的视频数据的步骤可以在所述对所述音频数据进行渲染,获得渲染后的音频数据的步骤之前进行,也可以在渲染音频数据的步骤之后进行,也可以同步进行,在此不对渲染视频数据的步骤和渲染音频数据的步骤的执行顺序进行限定。
需要说明的是,只要确定缓存区域中存储有音视频数据时,便会执行步骤s20,只要确定待解码区域中存储有音视频数据时,便会执行步骤s30,在此并不对步骤s10、步骤s20和步骤s30之间的顺序进行限定。
需要说明的是,在视频播放过程中,若用户需要更换视频,用户会发送更换视频指令至终端,终端接收到更换视频指令后,会清除缓存区域和待解码区域中已存储的音视频数据,当然,清除待解码区域中已存储的音视频数据可以在接收到用户更换视频指令后的预设时间进行,在清除缓存区域的音视频数据的同时会发送一个视频请求至服务器,其中视频请求中包括更换的视频名称和/或更换的视频下载地址,服务器会根据新的视频请求,会停止当前正在发送的音视频数据,而开始将更换的视频对应音视频数据发送至终端。在视频播放过程中,当终端接收到用户发送的暂停播放指令时,终端会发送暂停发送指令至服务器,以使服务器接收到暂停发送指令后,停止发送音视频数据。
本实例通过实时接收服务器发送的音视频数据,并将接收到的音视频数据存储至缓存区域中;实时将缓存区域中最先存储的音视频数据移至待解码区域中;实时提取待解码区域中最先存储的音视频数据,并对提取的待解码区域中最先存储的音视频数据进行解码播放。终端通过设置了两个存储音视频数据的缓存区域和待解码区域,避免获取到的视频数据立即送到解码器解码,导致解码器在单位时间内需要解码的视频数据量不均匀,进而导致解码器的解码压力在短时间内增大,从而出现画面卡顿的问题,而且音视频数据从接收到解码过程中,是会先进入缓存区域再进入待解码区域,并且对两个区域中存储的音视频数据都是采用先进先出的策略,确保对接收到的音视频数据按顺序进行处理,有效避免播放画面跳跃等问题,更好地提高了用户体验。
进一步地,请参照图4,图4为根据本申请视频流播放方法的第一实施例提出本申请视频流播放方法的第二实施例,在本实施例中,步骤s10中所述实时接收服务器发送的音视频数据的步骤包括:
步骤s11,获取待解码区域中的当前存储的音视频数据的数量;
步骤s12,判断待解码区域中的当前存储的音视频数据的数量是否达到预设第二预设阈值,其中所述第一预设阈值大于所述第二预设阈值;若否,则执行步骤s13;若是,则执行步骤s14;
步骤s13,采用预设的第一下行网络速率实时接收服务器发送的音视频数据;
步骤s14,采用预设的第二下行网络速率实时接收服务器发送的音视频数据,其中所述第二下行网络速率小于所述第一下行网络速率。
由于终端是从待解码区域中提取待解码的音视频数据进行解码,待解码区域中的音视频数据又是来自于缓存区域中,而缓存区域中的音视频数据则是源于终端实时接收服务器发送的音视频数据,随着终端持续的提取音视频数据进行解码,当待解码区域中的当前存储的音视频数据的数量过少时,终端会出现由于待解码区域中已没有当前存储的音视频数据,而导致解码停顿,进而导致播放画面停顿,而当待解码区域中的音视频数据的数量较多时,已经能够满足终端持续的解码,若终端继续快速的接收音视频数据并存储,导致大量的音视频数据被存储在缓存区域和待解码区域中,占据终端内存,影响终端系统性能,进而影响终端的解码和播放功能,导致出现卡顿现象,为了解决上述问题,预先为待解码区域中存储的音视频数据的数量设置了第二预设阈值,其中第一预设阈值大于第二预设阈值,终端会实时获取待解码区域中的当前存储的音视频数据的数量,当终端判断待解码区域中的当前存储的音视频数据的数量是否达到预设第二预设阈值,若未达到,说明当前待解码区域中存储的音视频数据量过少,可能出现解码停顿现象,需要加快终端接收音视频数据的速率,故会提高网络下行速率,即采用第一下行网络速率实时接收服务器发送的音视频数据;若未达到,说明当前待解码区域中存储的音视频数据量过多,不需要再增加终端中存储的音视频数据量了,故会降低网络下行速率,即采用第二下行网络速率实时接收服务器发送的音视频数据,其中第二下行网络速率小于所述第一下行网络速率。
本实施例通过根据待解码区域中当前存储的音视频数据的数量,来调整终端接收服务器发送音视频数据的速率,从而避免由于待解码区域中存储的音视频数据的数量过少导致的视频播放停顿问题,以及避免待解码区域中存储的音视频数据的数量过多导致的视频解码和播放卡顿的问题。
进一步地,基于本发明视频流播放方法前述实施例提出本申请视频流播放方法的第三实施例,在本实例中,所述步骤s14之前还包括:
步骤s15,判断缓存区域中的当前存储的音视频数据的数量是否达到第三预设阈值;若否,则执行步骤s14;若是,则执行步骤s16;
步骤s14,采用预设的第二下行网络速率实时接收服务器发送的音视频数据;
步骤s16,采用预设的第三下行网络速率实时接收服务器发送的音视频数据,其中所述第三下行网络速率小于所述第二下行网络速率。
即使在待解码区域中当前存储的音视频数据的数量已经达到第二预设阈值时,并且降低了终端的下行网络速率,但终端仍然会继续接收音视频数据,并继续将音视频数据存储至缓存区域中,仍然使得缓存区域中当前存储的音视频数据过多,占据终端系统过多内存,影响终端系统的运行,为了进一步控制避免对系统运行的影响,预先为缓存区域中存储的音视频数据的数量设置了第三预设阈值,终端除了实时获取待解码区域中当前存储的音视频数据的数量,还会实时获取缓存区域中当前存储的音视频数据的数量,并在待解码区域中当前存储的音视频数据的数量已经达到第二预设阈值,但缓存区域中当前存储的音视频数据的数量未达到第三预设阈值时,终端会采用预设的第二下行网络速率实时接收服务器发送的音视频数据;在待解码区域中当前存储的音视频数据的数量已经达到第二预设阈值,并且缓存区域中当前存储的音视频数据的数量达到第三预设阈值时,终端会继续降低下行网络速率,即采用预设的第三下行网络速率实时接收服务器发送的音视频数据,其中第三下行网络速率小于第二下行网络速率。
需要说明的时,进一步还可以为缓存区域中存储的音视频数据的数量设置了第四预设阈值,第四预设阈值大于第三预设阈值,当待解码区域中当前存储的音视频数据的数量已经达到第二预设阈值,并且缓存区域中当前存储的音视频数据的数量达到第四预设阈值时,终端会发送停止指令至服务器,以使服务器根据所述停止指令,停止发送音视频数据,从而终端会暂停接收服务器发送的音视频数据。
本实施例通过在待解码区域中当前存储的音视频数据的数量达到第二预设阈值的情况下,根据缓存区域中当前存储的音视频数据的数量,来调整终端接收服务器发送音视频数据的速率,从而避免缓存区域中存储的音视频数据的数量过多影响终端系统运行,进而避免导致系统出现卡顿现象。
参见图5,本发明还提供一种视频流播放系统,包括:
接收模块10,用于实时接收服务器发送的音视频数据,并将接收到的音视频数据存储至缓存区域中;
移存模块20,用于实时将缓存区域中最先存储的音视频数据移至待解码区域中;
提取模块30,用于实时提取待解码区域中最先存储的音视频数据,并对提取的待解码区域中最先存储的音视频数据进行解码播放。
进一步,所述移存模块20包括:
第一判断单元21,用于判断待解码区域中当前存储的音视频数据的数量是否达到第一预设阈值;
移存单元22,用于若待解码区域中当前存储的音视频数据的数量未达到第一预设阈值,则实时将缓存区域中最先存储的音视频数据移至待解码区域中。
进一步,所述接收模块10包括:
获取单元11,用于获取待解码区域中的当前存储的音视频数据的数量;
第二判断单元12,用于判断待解码区域中的当前存储的音视频数据的数量是否达到预设第二预设阈值,其中所述第一预设阈值大于所述第二预设阈值;
第一接收单元13,用于若待解码区域中的当前存储的音视频数据的数量未达到预设第二预设阈值,则采用预设的第一下行网络速率实时接收服务器发送的音视频数据;
第二接收单元14,用于若待解码区域中的当前存储的音视频数据的数量达到预设第二预设阈值,则采用预设的第二下行网络速率实时接收服务器发送的音视频数据,其中所述第二下行网络速率小于所述第一下行网络速率。
进一步,所述第二接收单元14还包括:
判断子单元141,用于判断缓存区域中的当前存储的音视频数据的数量是否达到第三预设阈值;
第一接收子单元142,用于若否,则采用预设的第二下行网络速率实时接收服务器发送的音视频数据;
第二接收子单元143,用于若是,则采用预设的第三下行网络速率实时接收服务器发送的音视频数据,其中所述第三下行网络速率小于所述第二下行网络速率。
进一步,所述视频流播放系统还包括:
连接模块40,用于采用tcp协议与服务器建立通信连接。
发送模块50,用于发送视频获取请求至服务器,以使服务器根据所述视频获取请求发送音视频数据。
进一步,所述提取模块30包括:
解码单元31,用于对提取的待解码区域中最先存储的音视频数据进行解码,获得视频数据和音频数据;
播放单元32,用于同步播放所述视频数据和所述音频数据。
进一步,所述提取模块30还包括:
渲染单元33,用于对所述视频数据和所述音频数据进行渲染,获得渲染后的视频数据和音频数据;
所述播放单元32包括:
播放子单元321,用于同步播放渲染后的视频数据和音频数据。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序。所述计算机可读存储介质可以是图1的终端中的存储器02,也可以是如rom(read-onlymemory,只读存储器)/ram(randomaccessmemory,随机存取存储器)、磁碟、光盘中的至少一种,所述计算机可读存储介质包括若干信息用以使得终端执行本发明各个实施例所述的方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
1.一种视频流播放方法,其特征在于,包括步骤:
实时接收服务器发送的音视频数据,并将接收到的音视频数据存储至缓存区域中;
实时将缓存区域中最先存储的音视频数据移至待解码区域中;
实时提取待解码区域中最先存储的音视频数据,并对提取的待解码区域中最先存储的音视频数据进行解码播放。
2.根据权利要求1所述的视频流播放方法,其特征在于,所述实时将缓存区域中最先存储的音视频数据移至待解码区域中的步骤包括:
判断待解码区域中当前存储的音视频数据的数量是否达到第一预设阈值;
若否,则实时将缓存区域中最先存储的音视频数据移至待解码区域中。
3.根据权利要求2所述的视频流播放方法,其特征在于,所述实时接收服务器发送的音视频数据的步骤包括:
获取待解码区域中的当前存储的音视频数据的数量;
判断待解码区域中的当前存储的音视频数据的数量是否达到预设第二预设阈值,其中所述第一预设阈值大于所述第二预设阈值;
若否,则采用预设的第一下行网络速率实时接收服务器发送的音视频数据;
若是,则采用预设的第二下行网络速率实时接收服务器发送的音视频数据,其中所述第二下行网络速率小于所述第一下行网络速率。
4.根据权利要求3所述的视频流播放方法,其特征在于,所述采用预设的第二下行网络速率实时接收服务器发送的音视频数据的步骤之前还包括:
判断缓存区域中的当前存储的音视频数据的数量是否达到第三预设阈值;
若否,则采用预设的第二下行网络速率实时接收服务器发送的音视频数据;
若是,则采用预设的第三下行网络速率实时接收服务器发送的音视频数据,其中所述第三下行网络速率小于所述第二下行网络速率。
5.根据权利要求1~4中任一项所述的视频流播放方法,其特征在于,所述实时接收服务器发送的音视频数据的步骤之前还包括:
采用tcp协议与所述服务器建立通信连接;
发送视频获取请求至所述服务器,以使所述服务器根据所述视频获取请求发送音视频数据。
6.根据权利要求5所述的视频流播放方法,其特征在于,所述对提取的待解码区域中最先存储的音视频数据进行解码播放步骤包括:
对提取的待解码区域中最先存储的音视频数据进行解码,获得视频数据和音频数据;
同步播放所述视频数据和所述音频数据。
7.根据权利要求6所述的视频流播放方法,其特征在于,所述同步播放所述视频数据和所述音频数据的步骤之前,还包括:
对所述视频数据和所述音频数据进行渲染,获得渲染后的视频数据和音频数据;
所述同步播放所述视频数据和所述音频数据的步骤包括:
同步播放渲染后的视频数据和音频数据。
8.一种视频流播放系统,其特征在于,所述视频流播放系统包括:
接收模块,用于实时接收服务器发送的音视频数据,并将接收到的音视频数据存储至缓存区域中;
移存模块,用于实时将缓存区域中最先存储的音视频数据移至待解码区域中;
提取模块,用于实时提取待解码区域中最先存储的音视频数据,并对提取的待解码区域中最先存储的音视频数据进行解码播放。
9.一种终端,其特征在于,所述终端包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的视频流播放方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的视频流播放方法的步骤。
技术总结