一种播放方法及装置与流程

文档序号:11157776阅读:438来源:国知局
一种播放方法及装置与制造工艺

本发明涉及多媒体终端音视频播放技术领域,具体涉及一种播放方法及装置。



背景技术:

随着移动互联网的迅猛发展,OTT技术的推广以及各种智能终端设备的出现,通过手机、掌上电脑、机顶盒等视频终端在线收看视频,成为人们越来越普遍的休闲娱乐方式。针对网络带宽的时时状况达不到码率完美适配带宽的情况,苹果公司推出了HLS规范,一个片源做不同码率的区分,同时使用流切片技术将一个完整的片源切成若干小片,通常是10秒每片,不同的码率片源,切割成相同数量的分片,不同码率中相同的分片序对应相同的视频内容,同时使用m3u8格式分别对各码率生成播放列表文件详细描述每个分片的索引信息,用来指导播放器如何播放文件切片。这样在播放过程中,可以实现逐分片下载播放模式,当一旦检测到网络发生变动,及时调整码率下载新的最优码率的对应分片,从播放流畅度和画面清晰度方面达到最佳的播放效果。

由于HLS规范采用一级、二级索引文件的方式做具体媒体分片的索引导航。因此在播放开始的起播过程对一级索引二级索引的下载解析过程是一个很大的性能消耗。特别是码率越多需要下载和解析的二级索引文件就越多,性能消耗就越大越耗时。



技术实现要素:

本发明提供一种播放方法及装置,实现了多媒体数据的快速起播。

为解决上述技术问题,本发明提供一种播放方法,所述方法包括:

根据多媒体数据的一级索引文件解析获取到各二级索引文件的请求地址后,下载任一码率对应的二级索引文件并进行解析,获取该码率的各媒体分片的地址;

从该码率的第一个媒体分片开始进行下载播放。

优选地,从该码率的第一个媒体分片开始进行下载播放后还包括:

在当前媒体分片播放完毕后,下载下一媒体分片前,根据已播放的媒体分片的下载速率以及当前码率判断是否需要切换码率;

如果需要切换码率,则判断是否已存在待切换码率的媒体分片的地址,如果不存在则对所述待切换码率对应的二级索引文件进行下载和解析,获取待切换码率的媒体分片的地址,下载并播放待切换码率的相应的媒体分片;如果已存在则下载并播放待切换码率的相应的媒体分片;

如果不需要切换码率,则下载和播放所述下一媒体分片。

优选地,

所述根据已播放的媒体分片的下载速率以及当前码率判断是否需要切换码率包括:

如果最近播放的预定个数的媒体分片的下载速率都小于当前码率,且当前码率不是最小码率,则判断需要切换码率,待切换码率小于所述当前码率。

优选地,

所述根据已播放的媒体分片的下载速率以及当前码率判断是否需要切换码率包括:

如果最近播放的预定个数的媒体分片的下载速率都大于当前码率,且当前码率不是最大码率,则判断需要切换码率,待切换码率大于所述当前码率。

优选地,

所述根据已播放的媒体分片的下载速率以及当前码率判断是否需要切换码率包括:

如果最近播放的预定个数的媒体分片的下载速率不都小于当前码率,并且最近播放的媒体分片的下载速率不都大于当前码率则判断不需要切换码率。

优选地,

所述下载任一码率对应的二级索引文件并进行解析包括:

下载最小码率对应的二级索引文件并进行解析。

本发明还提供一种播放装置,所述装置包括:

解析模块,用于根据多媒体数据的一级索引文件解析获取到各二级索引文件的请求地址后,下载任一码率对应的二级索引文件并进行解析;还用于获取该码率的各媒体分片的地址;

处理模块,用于从该码率的第一个媒体分片开始进行下载播放。

优选地,

所述装置还包括判断模块,所述判断模块包括:

第一判断子模块,用于在当前媒体分片播放完毕后,下载下一媒体分片前,根据已播放的媒体分片的下载速率以及当前码率判断是否需要切换码率;

第二判断子模块,用于如果需要切换码率,则判断是否已存在待切换码率的媒体分片的地址,如果不存在则对所述待切换码率对应的二级索引文件进行下载和解析,获取待切换码率的媒体分片的地址,下载并播放待切换码率的相应的媒体分片;还用于如果已存在则下载并播放待切换码率的相应的媒体分片;

第三判断子模块,用于如果不需要切换码率,则下载和播放所述下一媒体分片。

优选地,

所述第一判断子模块用于根据已播放的媒体分片的下载速率以及当前码率判断是否需要切换码率具体是指:

如果最近播放的预定个数的媒体分片的下载速率都小于当前码率,且当前码率不是最小码率,则判断需要切换码率,待切换码率小于所述当前码率。

优选地,

所述第一判断子模块用于根据已播放的媒体分片的下载速率以及当前码 率判断是否需要切换码率具体是指:

如果最近播放的预定个数的媒体分片的下载速率都大于当前码率,且当前码率不是最大码率,则判断需要切换码率,待切换码率大于所述当前码率。

优选地,

所述第一判断子模块用于根据已播放的媒体分片的下载速率以及当前码率判断是否需要切换码率具体是指:

如果最近播放的预定个数的媒体分片的下载速率不都小于当前码率,并且最近播放的媒体分片的下载速率不都大于当前码率则判断不需要切换码率。

优选地,

所述解析模块用于下载任一码率对应的二级索引文件并进行解析具体是指:

下载最小码率对应的二级索引文件并进行解析。

上述方案实现了多媒体数据的快速起播,降低的性能消耗。同时可以根据连续两个媒体分片的下载速率进行自适应切换,保证实时网络状况的有效性,避免了突发的网络影响导致不适当的码率切换。

附图说明

图1为实施例一中的播放方法的流程图;

图2为实施例一中的播放装置的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

实施例一

如图1所示,本实施例提供一种播放方法,所述方法包括:

步骤S11:根据多媒体数据的一级索引文件解析获取到各二级索引文件的请求地址后,下载任一码率对应的二级索引文件并进行解析,获取该码率的各媒体分片的地址;

步骤S12:从该码率的第一个媒体分片开始进行下载播放。

优选地,步骤S12后还包括以下步骤:

步骤S13:在当前媒体分片播放完毕后,下载下一媒体分片前,根据已播放的媒体分片的下载速率以及当前码率判断是否需要切换码率;

步骤S14:如果需要切换码率,则判断是否已存在待切换码率的媒体分片的地址,如果不存在则对所述待切换码率对应的二级索引文件进行下载和解析,获取待切换码率的媒体分片的地址,下载并播放待切换码率的相应的媒体分片;如果已存在则下载并播放待切换码率的相应的媒体分片;

如果不需要切换码率,则下载和播放所述下一媒体分片。

具体的,根据已播放的媒体分片的下载速率以及当前码率判断是否需要切换码率可以通过以下方式实现:

如果最近播放的预定个数的媒体分片的下载速率都小于当前码率,且当前码率不是最小码率,则判断需要切换码率,待切换码率小于所述当前码率。

如果最近播放的预定个数的媒体分片的下载速率都大于当前码率,且当前码率不是最大码率,则判断需要切换码率,待切换码率大于所述当前码率。

如果最近播放的预定个数的媒体分片的下载速率不都小于当前码率,并且最近播放的媒体分片的下载速率不都大于当前码率则判断不需要切换码率。

优选地,在本实施例中,首先下载最小码率对应的二级索引文件并进行解析。

如图2所示,本实施例还提供一种播放装置,所述装置包括:

解析模块11,用于根据多媒体数据的一级索引文件解析获取到各二级索引文件的请求地址后,下载任一码率对应的二级索引文件并进行解析;还用于获取该码率的各媒体分片的地址;

处理模块12,用于从该码率的第一个媒体分片开始进行下载播放。

优选地,

所述装置还包括判断模块13,所述判断模块13包括:

第一判断子模块131,用于在当前媒体分片播放完毕后,下载下一媒体分片前,根据已播放的媒体分片的下载速率以及当前码率判断是否需要切换码率;

第二判断子模块132,用于如果需要切换码率,则判断是否已存在待切换码率的媒体分片的地址,如果不存在则对所述待切换码率对应的二级索引文件进行下载和解析,获取待切换码率的媒体分片的地址,下载并播放待切换码率的相应的媒体分片;还用于如果已存在则下载并播放待切换码率的相应的媒体分片;

第三判断子模块133,用于如果不需要切换码率,则下载和播放所述下一媒体分片。

优选地,

所述第一判断子模块131用于根据已播放的媒体分片的下载速率以及当前码率判断是否需要切换码率具体是指:

如果最近播放的预定个数的媒体分片的下载速率都小于当前码率,且当前码率不是最小码率,则判断需要切换码率,待切换码率小于所述当前码率。

优选地,

所述第一判断子模块131用于根据已播放的媒体分片的下载速率以及当前码率判断是否需要切换码率具体是指:

如果最近播放的预定个数的媒体分片的下载速率都大于当前码率,且当前码率不是最大码率,则判断需要切换码率,待切换码率大于所述当前码率。

优选地,

所述第一判断子模块131用于根据已播放的媒体分片的下载速率以及当前码率判断是否需要切换码率具体是指:

如果最近播放的预定个数的媒体分片的下载速率不都小于当前码率,并且最近播放的媒体分片的下载速率不都大于当前码率则判断不需要切换码 率。

优选地,

所述解析模块11用于下载任一码率对应的二级索引文件并进行解析具体是指:

下载最小码率对应的二级索引文件并进行解析。

实施例二

首先简单阐述一下HLS规范的整体策略:

策略一:HLS(HTTP Live Streaming,动态码率自适应技术)规范需要终端设备和流媒体配合,针对一个片源,自适应流媒体内容组织方式如图1所示,内容共由一个自适应流媒体内容一级索引和多个自适应流媒体内容二级索引和自适应流媒体内容分片组成。自适应流媒体一级索引记录多个不同码率的自适应流媒体内容二级索引,自适应流媒体内容二级索引记录对应码率的媒体分片文件。

策略二:在终端播放自适应流媒体内容时,终端先通过原始Url(Uniform Resoure Locator,统一资源定位器)获取自适应流媒体内容的一级索引,终端自适应流媒体内容的一级索引包含着各码率内容带宽信息,以及对应自适应流媒体内容二级索引请求路径。然后终端可以对二级索引发起请求,二级索引中包含对应码率各媒体分片文件信息,例如分片请求路径URL;最后通过索引中分片URL请求相关码率的视频内容。

策略三:终端在播放过程中检测到带宽状况和计算资源的负载情况发生变化时,则从先前获取的索引中重新选择合适的码率内容进行播放。

由于HLS规范采用一级、二级索引文件的方式做具体媒体分片的索引导航。因此在播放开始的起播过程对一级索引二级索引的下载解析过程是一个很大的性能消耗。特别是码率越多需要下载和解析的二级索引文件就越多,性能消耗就越大越耗时。

下面进一步说明本发明的技术方案。

1、首先下载解析自适应流媒体一级所引文件index.m3u8并解析。假设存在五中不同的码率。解析一级索引文件获取到码率从低到高五个不同的二级索引文件请求地址--1.m3u8、2.m3u8、3.m3u8、4.m3u8、5.m3u8,分别对应码率一、码率二、码率三、码率四、码率五。

2、然后请求某一种码率的二级索引文件,如首先下载码率一1.m3u8,下载请求完成后对1.m3u8文件进行解析,获取记录当前码率的各媒体分片地址信息等,如1.ts、2.ts、3.ts。需要说明的是,在其它实施例中还可以先下载其它码率。

3、接下来的常规做法是依次继续对2.m3u8、3.m3u8、4.m3u8、5.m3u8下载解析,然后再对选定码率的第一个起始媒体分片开始下载播放。

而在本发明中,在下载解析完1.m3u8索引文件后,先跳过对2.m3u8、3.m3u8、4.m3u8、5.m3u8的下载解析,直接对码率一的第一个媒体分片1.ts开始请求。起播后,当检测到需要切换码率时,再根据需要对2.m3u8、3.m3u8、4.m3u8、5.m3u8进行下载解析,这样可以实现对二级索引的按需求分阶段下载,避免了集中在播放一开始执行这个耗能操作,达到提高起播速度的优化。例如,1.ts起播后,检测到需要切换到码率二,此时再对2.m3u8进行下载解析,在2.m3u8的各媒体分片播放完毕后还可以再次切换到码率一的2.ts继续播放。

此外,在判断是否需要进行码率切换时,首先统计每个分片的下载速率,通过最新两个分片的下载速率同当前的播放码率比较,然后决定提高码率还是降低码率。在本发明中可以采用以方法:

分片下载速率=下载分片数据接收总长度/数据接收时间;

当将要下载最新分片时,以最近下载两个分片的分片下载速率以及当前播放码率作为衡量指标,是否进行码率切换。倒数第二下载分片的下载速率记为”下载速率一”,倒数第一个下载分片的下载速率记为“下载速率二”。

基本算法用下面两个表达式:

表达式一:

if((当前播放码率>下载速率一)&&(当前播放码率>下载速率二))

{

降低播放码率,直到降为最低码率;

}

表达式二:

If((当前播放码率<下载速率一)&&(当前播放码率<下载速率二))

{

提高播放码率,直到提高到最高码率;

}

下面分别对两个表达式做简单阐述:

针对表达式一,当将要下载最新分片时,当倒数第一和第二个分片的下载速率都小于当前播放码率时,说明当前处于持续低带宽已有一段时间。这时选择降低码率,适应低带宽保证播放流畅度。

针对表达式二,当将要下载最新分片时,当倒数第一第二分片的下载速率都大于当前播放码率时,说明当前处于持续高带宽已有一段时间。这是选择升高码率,高带宽下的视频清晰度。

此码率切换算法通过连续两个分片的下载速率为依据,可以保证时时网络状况的有效性。避免突发的网络影响导致不适当的码率切换。同时选择下载分片速率作为时时带宽的反映依据更加灵活。

上述方案实现了多媒体数据的快速起播,降低的性能消耗。同时可以根据连续两个媒体分片的下载速率进行自适应切换,保证实时网络状况的有效性,避免了突发的网络影响导致不适当的码率切换。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中, 如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/模块可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。

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