在服务器中用于自适应提供多码率流媒体的方法及装置制造方法及图纸

技术编号:14753226 阅读:77 留言:0更新日期:2017-03-02 10:42
本发明专利技术提供了一种在服务器中用于自适应提供多码率流媒体的方法以及装置,其中的自适应提供多码率流媒体的方法包括:获取网络质量信息;在根据所述网络质量信息确定出需要码率切换的情况下,从所有队列中选择一个队列作为发送队列,其中,不同队列中存储有针对同一媒体内容的不同码率的多媒体数据帧;从所述发送队列中读取出多媒体数据帧并下发,且其他队列中的与已下发的多媒体数据帧具有同一媒体内容的多媒体数据帧均被删除。本发明专利技术提供的上述技术方案在实现了自适应的码率切换的同时,降低了码率切换延时,并实现了快速无缝的自适应码率切换。

【技术实现步骤摘要】

本专利技术涉及网络技术,尤其是涉及一种在服务器中用于自适应提供多码率流媒体的方法以及在服务器中用于自适应提供多码率流媒体的装置。
技术介绍
利用流媒体技术可以在网络中以流的方式传输音频以及视频等媒体内容。由于流媒体技术具有实时性强的特点而被广泛应用于视频点播、视频会议、远程教育、远程医疗以及在线直播等系统中。流媒体服务器为用户提供多码率流媒体服务的方式通常包括如下两种:方式一、用户根据其网络情况选择“流畅”、“清晰”或者“高清”等播放选项,服务器根据用户选择的播放选项向该用户提供相应码率的媒体流。方式二、利用HLS(HTTPLiveStreaming,HTTP直播流)自适应的为用户提供多码率流媒体,具体的,流媒体服务器向用户下发的媒体流由视频片组成,且每个视频片包括可播放10秒媒体内容的多媒体数据,流媒体服务器可以根据网络质量自适应的为用户不同码率的媒体流。专利技术人在实现本专利技术过程中发现,上述方式一由于是根据用户选择的播放选项为用户推送相应码率的媒体流,因此,无法自适应的为用户提供多码率流媒体,智能化程度有所欠缺;另外,用户通常是在播放出现停顿或者马赛克等播放不正常的情况下更换播放选项,因此,上述方式一会对用户体验造成不良影响。上述方式二能够解决方式一存在的技术问题,但是,方式二中的视频片的播放时长会使码率切换存在较大的延时。
技术实现思路
本专利技术的目的是,提供一种在服务器中用于自适应提供多码率流媒体的方法及装置。根据本专利技术的一个方面,提供一种在服务器中用于自适应提供多码率流媒体的方法,包括:获取网络质量信息;在根据所述网络质量信息确定出需要码率切换的情况下,从所有队列中选择一个队列作为发送队列,其中,不同队列中存储有针对同一媒体内容的不同码率的多媒体数据帧;从所述发送队列中读取多媒体数据帧并下发;根据已下发的多媒体数据帧删除各队列中相应的多媒体数据帧。根据本专利技术的另一个方面,提供一种在服务器中用于自适应提供多码率流媒体的装置,且所述自适应提供多码率流媒体的装置包括:用于获取网络质量信息的装置;用于在根据所述网络质量信息确定出需要码率切换的情况下,从所有队列中选择一个队列作为发送队列的装置,其中,不同队列中存储有针对同一媒体内容的不同码率的多媒体数据帧;用于从所述发送队列中读取出多媒体数据帧并下发,且其他队列中的与已下发的多媒体数据帧具有同一媒体内容的多媒体数据帧均被删除的装置。与现有技术相比,本专利技术具有以下优点:本专利技术通过设置多个队列,并使各队列所对应的码率不同,使同一媒体内容的不同码率的多媒体数据帧可以各自设置于不同的队列中,这样,在根据网络质量信息确定出需要码率切换时,本专利技术可以通过从所有队列中选取出一个与当前网络质量更匹配的码率所对应的队列,并从该选取的队列中读取多媒体数据帧并下发,可以快速实现码率切换;本专利技术通过针对当前下发的多媒体数据帧,删除各队列中相应的多媒体数据帧,使各队列中位于队首的多媒体数据帧均是针对同一媒体内容的不同码率的多媒体数据帧,这样,无论何时确定出需要码率切换,本专利技术都能够在快速及时的实现码率切换的同时,保证码率切换操作不会影响媒体内容的连贯性;由此可知,本专利技术提供的技术方案在实现了自适应的码率切换的同时,降低了码率切换延时,并实现了快速无缝的自适应码率切换。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术实施例一的在服务器中用于自适应提供多码率流媒体的方法的流程图;图2为本专利技术实施例二的在视频直播应用场景中,流媒体服务器为用户自适应提供多码率流媒体的方法示意图;图3为本专利技术实施例四的在服务器中用于自适应提供多码率流媒体的装置的结构示意图。附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式在更加详细地讨论示例性实施例之前,应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是,其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的执行顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或者是由ASIC、FPGA、DSP等硬件执行预定处理过程,或者是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑以及笔记本电脑等。所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本专利技术,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本专利技术。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本专利技术,也应包含在本专利技术保护范围以内,并以引用方式包含于此。后面所讨论的方法(其中一些通过流程图示出)可通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本专利技术的示例性实施例的目的。但是,本专利技术可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。应当理解的是,当一个单元被称为“连接”或者“耦合”到另一个单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和\本文档来自技高网...
在服务器中用于自适应提供多码率流媒体的方法及装置

【技术保护点】
一种服务器中用于自适应提供多码率流媒体的方法,且所述方法包括下述步骤:获取网络质量信息;在根据所述网络质量信息确定出需要码率切换的情况下,从所有队列中选择一个队列作为发送队列,其中,不同队列中存储有针对同一媒体内容的不同码率的多媒体数据帧;从所述发送队列中读取出多媒体数据帧并下发,且其他队列中的与已下发的多媒体数据帧具有同一媒体内容的多媒体数据帧均被删除。

【技术特征摘要】
1.一种服务器中用于自适应提供多码率流媒体的方法,且所述方法包括下述步骤:获取网络质量信息;在根据所述网络质量信息确定出需要码率切换的情况下,从所有队列中选择一个队列作为发送队列,其中,不同队列中存储有针对同一媒体内容的不同码率的多媒体数据帧;从所述发送队列中读取出多媒体数据帧并下发,且其他队列中的与已下发的多媒体数据帧具有同一媒体内容的多媒体数据帧均被删除。2.根据权利要求1所述的自适应提供多码率流媒体的方法,其中,所述网络质量信息包括:队列的数据充盈率。3.根据权利要求2所述的自适应提供多码率流媒体的方法,其中,所述获取网络质量信息的步骤包括:获取发送队列的数据充盈率。4.根据权利要求2所述的自适应提供多码率流媒体的方法,其中,所述根据所述网络质量信息确定出需要码率切换的步骤包括:在所述数据充盈率高于第一阈值时,确定出需要向低码率切换;在所述数据充盈信息低于第二阈值时,确定出需要向高码率切换;其中,所述第一阈值高于第二阈值。5.根据权利要求2所述的自适应提供多码率流媒体的方法,其中,所述根据所述网络质量信息确定出需要码率切换的步骤包括:在所述数据充盈率高于第一阈值,且当前时间距离前一次码率切换时间超过预定时长时,确定出需要向低码率切换;在所述数据充盈率低于第二阈值,且当前时间距离前一次码率切换时间超过预定时长时,确定出需要向高码率切换;其中,所述第一阈值高于第二阈值。6.根据权利要求1至5中任一权利要求所述的自适应提供多码率流媒体的方法,其中,所述从所述发送队列中读取多媒体数据帧并下发的步骤包括:在需要从切换前的发送队列中读取多媒体数据帧中的关键帧并下发的情况下,开始从所述切换后的发送队列中读取多媒体数据帧并下发。7.根据权利要求1至5中任一权利要求所述的自适应提供多码率流媒体的方法,其中,不同队列中存储的多媒体数据帧具有相同的画面组GOP结构。8.根据权利要求7所述的自适应提供多码率流媒体的方法,其中,每一种码率对应有一个GOP缓存,且所述方法还包括:将编码处理后的多媒体数据帧转码为不同码率的多媒体数据帧;将转码后的不同码率的多媒体数据帧分别存储于相应的GOP缓存中;从各GOP缓存中同步读取多媒体数据帧,并将读取出的多媒体数据分别存储于相应的队列中。9.根据权利要求1至5中任一权利要求所述的自适应提供多码率流媒体的方法,其中,各队列的存储空间所能容纳的多媒体数据帧的数量相同,且各队列的存储空间均不小于两个多媒体数据帧所占用的存储空间。10.一种服务器中用于自适应提供多码率流媒体的装置,且所述自适应提供多码率流媒体的装置包括:用于获取网络质量信息的装置;用于在根据所述网络质量信息确定出需要码率切换的情况下,...

【专利技术属性】
技术研发人员:李永兴沈慧锋
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1