一种HLS码流切换方法、装置以及设备制造方法及图纸

技术编号:20730257 阅读:49 留言:0更新日期:2019-03-30 19:37
本说明书提供一种HLS码流切换方法、装置以及设备,所述方法包括:当检测到当前码流与当前带宽不匹配时,将当前码流预切换到与当前带宽匹配的指定码流;以所述指定码流下载码流片段;比较切换前后所下载的码流片段是否均包括视频数据和音频数据,并基于比较结果,确定是否将当前码流保持为所述指定码流。当带宽突然变小时,本申请中将码流预切换至纯音频码流,通过检测发现对应的码流片段没有视频数据,则由用户或用户个性设置来确定是否保持切换至所述指定码流。如此,通过预切换以及确认切换两个过程,避免了给用户造成播放异常的假象,提高了用户的体验感。

【技术实现步骤摘要】
一种HLS码流切换方法、装置以及设备
本说明书涉及视频播放的
,尤其涉及一种HLS码流切换方法、装置以及设备。
技术介绍
HLS(HTTPLiveStreaming)是一种动态码率自适应技术。主要用于PC和Apple终端的音视频服务。HLS作为支持码率自适应的流媒体协议,包括m3u(8)的索引文件,TS码流片段(TS文件序列)和key加密串文件。该协议可根据网络带宽(下载网速)选择相适应的码流(也叫码率或码流率,是指视频文件在单位时间内使用的数据流量)进行播放,以达到流畅播放的目的。当网络带宽降低时,则选择与网络带宽对应的低码率的码流进行播放。但在某些网络不普遍的地方,可能发生网络带宽变得极小,使得对应的低码率码流为纯音频码流,若自动切换至纯音频码流后,用户观看播放视频时,发现仅有音频没有视频播放。这种情况下,用户有可能怀疑出现以下了问题:(1)播放器是否出现问题;(2)网速是否突然变差;(3)视频本身的格式出现了问题。然后,用户极可能采取盲目的手段去解决问题,比如:重启播放器设备或暂停播放或去寻找其他视频源来播放该视频。但大多数手段都不能解决该问题,这样就会给用户造成播放异常且难以解决的假象,使得用户体验感极差。
技术实现思路
为克服相关技术中存在的问题,本说明书提供了一种HLS码流切换方法、装置以及设备。根据本说明书实施例的第一方面,提供一种HLS码流切换方法,所述方法包括:当检测到当前码流与当前带宽不匹配时,将当前码流预切换到与当前带宽匹配的指定码流;以所述指定码流下载码流片段;比较切换前后所下载的码流片段是否均包括视频数据和音频数据,并基于比较结果,确定是否将当前码流保持为所述指定码流。根据本说明书实施例的第二方面,提供一种HLS码流切换装置,所述装置包括:预切换单元,用于当检测到当前码流与当前带宽不匹配时,将当前码流预切换到与当前带宽匹配的指定码流;下载单元,用于以所述指定码流下载码流片段;比较判断单元,用于比较切换前后所下载的码流片段是否均包括视频数据和音频数据,并基于比较结果,确定是否将当前码流保持为所述指定码流。根据本说明书实施例的第三方面,提供一种HLS码流切换设备,所述设备包括存储器以及处理器,所述储存器用于存储可执行的计算机指令,所述处理器用于执行所述计算机指令以实现如下方法:当检测到当前码流与当前带宽不匹配时,将当前码流预切换到与当前带宽匹配的指定码流;以所述指定码流下载码流片段;比较切换前后所下载的码流片段是否均包括视频数据和音频数据,并基于比较结果,确定是否将当前码流保持为所述指定码流。本说明书的实施例提供的技术方案可以包括以下有益效果:本说明书实施例中,提出了一种HLS码流切换方法,该切换方法在检测到当前码流与当前带宽不匹配时,并不是直接将当前码流自动切换至与当前带宽匹配的指定码流。而是先通过预切换至所述指定码流来下载对应的码流片段,基于所述码流片段的内容来决定是否认可或保持切换至所述指定码流,若不认可该预切换,则再将当前码流切换至其他码流。当带宽突然变小时,码流先预切换至纯音频码流,通过检测发现对应的码流片段没有视频数据,则由用户或用户个性设置来确定是否保持切换至所述指定码流。如此,通过预切换以及确认切换两个过程,避免了给用户造成播放异常的假象,提高了用户的体验感。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。图1是本说明书根据一示例性实施例示出的一种HLS码流切换方法的流程图。图2是本说明书根据一示例性实施例示出的码流预切换的流程图。图3是相关技术中根据一示例性实施例示出的码流切换方法。图4是本说明书根据一示例性实施例示出的确定所述最小码流的流程图。图5是本说明书根据另一示例性实施例示出的一种HLS码流切换方法的流程图。图6是本说明书根据一示例性实施例示出的一种HLS码流切换装置的框图。图7是本说明书根据一示例性实施例示出的一种HLS码流切换设备的示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。由于用户端播放的是某种固定码率的视频,在网络带宽、屏幕分辨率满足的情况下,用户无法选择更高清晰度的码率,没法为用户提供更好的播放体验。反之,如果网络质量不好,用户也无法切换到更低码率的视频,从而导致播放卡顿。单码率视频无法应对客户端网络带宽环境的变化,提供给客户优质的播放体验,但是HLS多码率自适应特性正好解决了这一问题,并且支持客户端在不同的网络带宽环境下,播放不同码率、分辨率的视频。HLS的实现原理是把整个多媒体文件切成一个个小的基于HTTP的资源(MPEG-2TransportStream格式的文件),生成一个包含元数据的扩展M3U(M3U8)Playlist文件,每次只下载列表中的一些资源,客户端根据带宽环境可以选择不同的的资源。M3U8是一种播放多媒体列表的文件格式,可以指定一个或多个多媒体资源的位置,并且M3U8Playlist中可以包含多个子M3U8文件。M3U8文件其实就是以UTF-8编码的M3U文件,该文件本身不能播放,只是用于存放待播放视频流的基本信息。HLS有两级索引:(a)第一级索引存放的是不同码率的HLS源的M3U8地址,也就是二级索引文件的地址;(b)第二级索引则记录了同一码率下TS码流片段的下载地址。客户端获取一级索引(M3U8)文件后,根据自己的网络带宽,去下载相应码率的二级索引文件,然后再按二级索引文件的切片顺序下载并播放TS码流片段(下文中“码流片段”都是指的是“TS码流片段”)。接下来对本说明书实施例进行详细说明。如图1所示,图1是本说明书根据一示例性实施例示出的一种HLS码流切换方法的流程图,所述方法包括以下步骤:步骤102、当检测到当前码流与当前带宽不匹配时,将当前码流预切换到与当前带宽匹配的指定码流。HLS使用后缀为.m3u8的索引文件,播放器在播放HLS视频时,会进行网络带宽判断以及相应的码流切换,举一个例子,通过一个.m3u8的索引文件来说明码流切换的过程:m3u8索引文件本文档来自技高网...

【技术保护点】
1.一种HLS码流切换方法,其特征在于,所述方法包括:当检测到当前码流与当前带宽不匹配时,将当前码流预切换到与当前带宽匹配的指定码流;以所述指定码流下载码流片段;比较切换前后所下载的码流片段是否均包括视频数据和音频数据,并基于比较结果,确定是否将当前码流保持为所述指定码流。

【技术特征摘要】
1.一种HLS码流切换方法,其特征在于,所述方法包括:当检测到当前码流与当前带宽不匹配时,将当前码流预切换到与当前带宽匹配的指定码流;以所述指定码流下载码流片段;比较切换前后所下载的码流片段是否均包括视频数据和音频数据,并基于比较结果,确定是否将当前码流保持为所述指定码流。2.根据权利要求1所述的一种HLS码流切换方法,其特征在于,所述确定是否将当前码流保持为所述指定码流包括:若切换后所下载的码流片段包括视频数据,则将当前码流保持为指定码流;否则,基于切换前所下载的码流片段是否包括视频数据,来确定是否将当前码流切换为其他码流。3.根据权利要求2所述的一种HLS码流切换方法,其特征在于,所述确定是否将当前码流切换为其他码流包括:若切换前所下载的码流片段包括视频数据,提示用户确认是否播放纯音频,在用户确认播放时,将当前码流保持为所述指定码流;否则,将当前码流切换为用于播放视频数据的其他码流。4.根据权利要求3所述的一种HLS码流切换方法,其特征在于,所述将当前码流切换为用于播放视频数据的其他码流包括:将当前码流切换为用于播放视频数据的最小码流。5.根据权利要求4所述的一种HLS码流切换方法,其特征在于,确定所述最小码流的步骤为:在索引文件中查找与用于播放视频数据的码流对应的带宽字段,从所述带宽字段中获取大于当前带宽的最小带宽,所述最小码流是与所述...

【专利技术属性】
技术研发人员:李斌朱宗花
申请(专利权)人:青岛海信电器股份有限公司
类型:发明
国别省市:山东,37

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

1