一种用于多媒体播放的方法与设备的制造方法

文档序号:9381040阅读:495来源:国知局
一种用于多媒体播放的方法与设备的制造方法
【技术领域】
[0001]本发明涉及互联网技术领域,尤其涉及一种用于多媒体播放的技术。
【背景技术】
[0002]随着流媒体技术的不断发展,越来越多的用户习惯于在网上进行音视频的点播或直播。然而在音视频的播放过程中,经常会出现播放卡顿或播放不连续等问题。
[0003]图1示出了现有技术中一种用于多媒体播放的系统架构示意图。服务器用于提供音视频等多媒体的中转服务,并通过网络环境(如网络运营商),将多媒体流发送至客户端。客户端包括网络缓存队列、流解析器和播放模块,其中,所述网络缓存队列用于为数据的接收与发送提供缓存,流解析器则将原始数据解析成用于播放的音视频数据,最后由播放模块进行播放。
[0004]然而,由于该方法仅包含一层缓存队列(即网络缓存队列),因此,该缓存队列只能缓冲因为网络导致的不流畅行为,而对于如编解码卡顿导致的播放不连续,或在解析与播放过程中出现的播放不连续问题则无法处理。此外,在线视频播放,尤其是直播时,对数据的时效性要求较高;而在当前技术中,由于仅能通过直接抛弃该网络缓冲队列中的最新的数据或最老的数据来实现同步,因此,会导致播放效果生硬,影响用户体验。

【发明内容】

[0005]本发明的目的是提供一种用于多媒体播放的方法与设备。
[0006]根据本发明的一个方面,提供了一种用于多媒体播放的方法,其中,该方法包括:
[0007]a获取一个或多个流媒体数据包,其中,所述流媒体数据包对应于待播放的多媒体资源;
[0008]b在第一缓冲队列中对所述流媒体数据包进行缓冲,以获得一个或多个第一缓冲数据包;
[0009]c解析所述第一缓冲数据包,以获得一个或多个待播放数据包;
[0010]d在第二缓冲队列中对所述待播放数据包进行缓冲,以获得一个或多个第二缓冲数据包;
[0011 ] e播放所述第二缓冲数据包。
[0012]根据本发明的另一方面,还提供了一种用于多媒体播放的播放设备,其中,该设备包括:
[0013]获取装置,用于获取一个或多个流媒体数据包,其中,所述流媒体数据包对应于待播放的多媒体资源;
[0014]第一缓冲装置,用于在第一缓冲队列中对所述流媒体数据包进行缓冲,以获得一个或多个第一缓冲数据包;
[0015]解析装置,用于解析所述第一缓冲数据包,以获得一个或多个待播放数据包;
[0016]第二缓冲装置,用于在第二缓冲队列中对所述待播放数据包进行缓冲,以获得一个或多个第二缓冲数据包;
[0017]播放装置,用于播放所述第二缓冲数据包。
[0018]与现有技术相比,本发明分别在获取流媒体数据包以及解析数据包之间、解析数据包以及播放数据包之间引入两个缓冲队列,以对待播放的媒体资源的数据包进行缓冲,从而解决了由于网络以及编解码导致的播放卡顿或坏帧等问题,同时也解决了多线程死锁以及多线程垃圾数据等问题,提高了系统运行效率以及播放效果,使得播放稳定性更好,语音或是视频流更加流畅,改善了用户体验。
[0019]而且,本发明还可以基于多种方式,确定第一缓冲队列和/或第二缓冲队列的长度,从而使得所述缓冲队列在缓冲数据包时更加灵活,符合当前的系统处理需求,提高了系统运行效率以及播放效果,使得播放稳定性更好,语音或是视频流更加流畅,改善了用户体验。
[0020]而且,本发明还可以在所述第一缓冲队列和/或所述第二缓冲队列已满时,根据抛弃规则抛弃所述第一缓冲队列和/或所述第二缓冲队列中的一个或多个数据包;进一步地,还可以根据预定条件确定与所述第一缓冲队列和/或所述第二缓冲队列相对应的抛弃规则;从而采用多种灵活的抛弃规则,解决了现有技术中播放效果生硬、用户体验不佳的问题,保证了播放质量与播放效果,使得播放稳定性更好,语音或是视频流更加流畅,提高了系统运行效率,改善了用户体验。
【附图说明】
[0021]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0022]图1示出了现有技术中一种用于多媒体播放的系统架构示意图;
[0023]图2示出了根据本发明一个方面的一种用于多媒体播放的系统架构示意图;
[0024]图3示出根据本发明一个方面的一种用于多媒体播放的播放设备示意图;
[0025]图4示出根据本发明一个优选实施例的一种用于多媒体播放的播放设备示意图;
[0026]图5示出根据本发明另一个方面的一种用于多媒体播放的方法流程图;
[0027]图6示出根据本发明一个优选实施例的一种用于多媒体播放的方法流程图;
[0028]图7(a)至图7(d)示出了根据本发明的一个优选实施例的用于多媒体播放的抛弃策略示意图。
[0029]附图中相同或相似的附图标记代表相同或相似的部件。
【具体实施方式】
[0030]在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0031]在上下文中所称“播放设备”,即为“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。
[0032]—般情况下,所述播放设备即为用户设备,即客户端。其中,所述用户设备包括但不限于个人电脑、笔记本电脑、平板电脑、智能手机、PDA等。此外,所述播放设备也可以由所述用户设备与其他第三方设备(如网络设备)相集成而组成;在此,所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
[0033]需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的用户设备、网络设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
[0034]这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
[0035]应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
[0036]这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
[0037]还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
[0038]下面结合附图对本发明作进一步详细描述。
[0039]图2示出了根据本发明一个方面的一种用于多媒体播放的系统架构示意图。
[0040]服务器用于提供音视频等多媒体的中转服务,并通过网络环境(如网络运营商),将多媒体流发送至客户端。客户端包括网络数据收发模块、第一缓冲队列、音视频编解码器、第二缓冲队列和播放模块,其中,所述网络数据收发模块用于进行数据的接收与发送,所述第一缓冲队列用于为数据的接收与发送提供缓存,音视频编解码器在充当接收方时则将原始数据解码成用于播放的音视频数据,在充当发送方时则将待发送的数据进行编码,第二缓冲队列对解码后或解码前的音视频数据提供缓存,最后由播放模块进行播放。
[0041]利用所述第一缓冲队列与所述第二缓冲队列,所述网络数据收发模块、音视频编解码器所对应的编解码模块以及播放模块被拆分成了多个线程,即网络收发线程、编解码线程以及播放线程。所述第一缓冲队列与所述第二缓冲队列分别位于上述三个模块之间,使得网络数据的获取、解析、播放不在同一层上进行,从而解决了多线程并行带来的诸多问题,如多线程死锁等,同时,也提高了整个系统的运行效率。
[0042]图3示出根据本发明一个方面的一种用于多媒体播放的播放设备示意图。其中,所述播放设备包括获取装置1、第一缓冲装置2、解析装置3、第二缓冲装置4、播放装置5 ο具体地,所述获取装置I获取一个或多个流媒体数据包,其中,所述流媒体数据包对应于待播放的多媒体资源;所述第一缓冲装置2在第一缓冲队列中对所述流媒体数据包进行缓冲,以获得一个或多个第一缓冲数据包;所述解析装置3解析所述第一缓冲数据包,以获得一个或多个待播放数据包;所述第二缓冲装置4在第二缓冲队列中对所述待播放数据包进行缓冲,以获得一个或多个第二缓冲数据包;所述播放装置5播放所述第二缓冲数据包。
[0043]所述获取装置I获取一个或多个流媒体数据包,其中,所述流媒体数据包对应于待播放的多媒体资源。
[0044]具体地,所述获取装置I基
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1