一种基于HLS协议的音视频的跳转播放方法及装置制造方法及图纸

技术编号:14444901 阅读:127 留言:0更新日期:2017-01-15 10:12
本发明专利技术实施例公开了一种基于HLS协议的音视频的跳转播放方法及装置。该方案中,由于在源音视频的当前分片文件下载过程中,若当前的网络带宽小于预设值,即网络状况变差时,并非一直等待源音视频的当前分片文件下载,而是去下载相应的低分辨率的目标音视频的分片文件,并且基于时间标准,从源音视频的当前分片文件中对应的待解码的连接视频PES包和连接音频PES包结束播放源音视频,从目标音视频的分片文件对应的跳转视频PES包和跳转音频PES包开始播放目标音视频,这样,实现了从一个音视频分片的内部到另一个音视频分片的内部的跳转播放,从而避免了一直等待源音视频的当前分片文件下载导致的播放卡顿问题,保证了播放流畅性。

【技术实现步骤摘要】

本专利技术涉及音视频播放
,尤其涉及一种基于实时流传输HLS(httplivestream)的音视频的跳转播放方法及装置。
技术介绍
HLS(httplivestream)协议是苹果公司提出的一个时实流传输协议,基本思想就是服务器将同一个音视频分成短时长的若干片段(一般为10秒),其中每一个片段都会对应有若干不同分辨率等级的分片,用以适应不同的网络状况。当网络状况比较好时,播放器可以请求一个较高分辨率的分片,反之则请求一个较低分辨率的分片,从而使音视频的点播能够动态适应网络状况,提高用户体验。接收到一个音视频的点播指示后,之前的启播方式如下:以先下载再播放的方式启播:首先下载准备好一个以上完整的分片,再开始播放;在下载一个高分辨率的分片的过程中,若网络状况变差,就丢弃正在下载的高分辨率的分片,重新请求一个低分辨率的分片。该方式中,不会存在播放卡顿的问题,保证了播放流畅性,但是会存在启播速度慢的问题。为了解决启播速度慢的问题,现有技术中还可以以边下载边播放的方式启播,具体的:不等分片下载完整就通知解码器解码以便开始播放;正在播放的高分辨率的分片没有下载完整的时候,若网络状况变差,应当请求下载一个低分辨率的分片,但是正在下载的高分辨率的分片正在播放过程中,目前该方式中,只能等到当前的高分辨率的分片播放完毕,也就是说,将高分辨率的分片下载完之后,才能申请一个低分辨率的分片,这时,因网络状况变差高分辨率的分片下载超时造成解码器欠载,导致出现播放卡顿问题。因而,该方式中,虽然保证了启播速度,但是播放流畅性变差了。因此,为保证启播速度,现有技术中存在因网络状况变差导致的音视频的播放流畅性变差的问题。
技术实现思路
本专利技术实施例的目的是提供一种基于HLS协议的音视频的跳转播放方法及装置,用于解决现有技术中存在的因网络状况变差导致的音视频的播放流畅性变差的问题。本专利技术实施例的目的是通过以下技术方案实现的:一种基于实时流传输HLS协议的音视频的跳转播放方法,该方法包括:在源音视频的当前分片文件下载过程中,若检测到当前的网络带宽小于预设值,则下载与所述源音频的当前分片文件相应的目标音视频的分片文件,所述目标音视频的分片文件对应的分辨率低于所述源音视频的分片文件对应的分辨率;基于所述源音视频的当前分片文件,确定一个待解码的源视频分组基本码流PES包作为连接视频PES包和在时间上最接近所述连接视频PES包的待解码的源音频PES包作为连接音频PES包;以及基于所述目标音视频的分片文件,确定在时间上最接近所述连接视频PES包且为视频帧中关键帧的开头的目标视频PES包作为跳转视频PES包和在时间上最接近所述跳转视频PES包且为音频帧的开头的目标音频PES包作为跳转音频PES包;从所述连接视频PES包和所述连接音频PES包结束解码源音视频的当前分片文件,并从所述跳转视频PES包和所述跳转音频PES包开始解码并播放目标音视频的分片文件。一种基于HLS协议的音视频的跳转播放装置,该装置包括:音视频下载模块,用于:在源音视频的当前分片文件下载过程中,若检测到当前的网络带宽小于预设值,则下载与所述源音频的当前分片文件相应的目标音视频的分片文件,所述目标音视频的分片文件对应的分辨率低于所述源音视频的分片文件对应的分辨率;连接包和跳转包确定模块,用于:基于所述源音视频的当前分片文件,确定一个待解码的源视频PES包作为连接视频PES包和在时间上最接近所述连接视频PES包的待解码的源音频PES包作为连接音频PES包;以及基于所述目标音视频的分片文件,确定在时间上最接近所述连接视频PES包且为视频帧中关键帧的开头的目标视频PES包作为跳转视频PES包和在时间上最接近所述跳转视频PES包且为音频帧的开头的目标音频PES包作为跳转音频PES包;解码播放模块,用于:从所述连接视频PES包和所述连接音频PES包结束解码所述源音视频的当前分片文件,并从所述跳转视频PES包和所述跳转音频PES包开始解码并播放所述目标音视频的分片文件。本专利技术实施例的有益效果如下:本专利技术实施例提供的一种基于HLS协议的音视频的播放方法及装置中,由于在源音视频的当前分片文件下载过程中,若当前的网络带宽小于预设值,即网络状况变差时,并非一直等待源音视频的当前分片文件下载,而是去下载相应的低分辨率的目标音视频的分片文件,并且基于时间标准,从源音视频的当前分片文件中对应的待解码的连接视频PES包和连接音频PES包结束播放源音视频,从目标音视频的分片文件对应的跳转视频PES包和跳转音频PES包开始播放目标音视频,这样,实现了从一个音视频分片的内部到另一个音视频分片的内部的跳转播放,从而避免了一直等待源音视频的当前分片文件下载导致的播放卡顿问题,保证了播放流畅性。又由于跳转视频PES包是关键帧的开头,跳转音频PES包是音频帧的开头,可保证目标音视频的分片文件正常解码,避免产生马赛克,也保证了播放流畅性。附图说明图1为本专利技术实施例提供的一种基于HLS协议的音视频的播放方法流程图之一;图2为本专利技术实施例提供的一种查找跳转视频PES包和跳转音频PES包的方法流程图;图3为本专利技术实施例提供的一种连接音频PES包的方法流程图;图4为本专利技术实施例提供的一种重新查找连接视频PES包和连接音频PES包的方法流程图;图5为本专利技术实施例提供的一种基于HLS协议的音视频的播放方法流程图之二;图6为本专利技术实施例提供的一种基于HLS协议的音视频的播放装置示意图。具体实施方式下面结合附图和实施例对本专利技术提供的一种基于HLS协议的音视频的播放方法及装置进行更详细地说明。本专利技术实施例提供一种基于HLS协议的音视频的跳转播放方法,如图1所示,该方法至少包括如下步骤:步骤110、在源音视频的当前分片文件下载过程中,若检测到当前的网络带宽小于预设值,则下载与源音频的当前分片文件相应的目标音视频的分片文件,目标音视频的分片文件对应的分辨率低于源音视频的分片文件对应的分辨率。其中,源音视频的当前分片文件与目标音视频的分片文件对应于音视频的同一片段。由于音视频的码流为一个个传送(TransportStream,TS)包文件组成的码流,因而本专利技术实施例中,音视频的分片文件就是分片对应的一个个TS包文件。其中,一个TS包文件由包头以及分组基本码流PES(PacketElementaryStream,PES)打包得到。其中,一个PES包由包头和基本码流ES(ElementaryStream,ES)打包得到。其中,源音视频是跳转播放之前的音视频;相应的,源音视频的分片文件对应的视频PES包称为源视频PES包,对应的音频PES包称为源音频PES包。其中,目标音视频是跳转播放之后的音视频;相应的,目标音视频的分片文件对应的视频PES包称为目标视频PES包,对应的音频PES包称为目标音频PES包。步骤120、基于源音视频的当前分片文件,确定一个待解码的源视频PES包作为连接视频PES包和在时间上最接近连接视频PES包的待解码的源音频PES包作为连接音频PES包;以及基于目标音视频的分片文件,确定在时间上最接近连接视频PES包且为视频帧中关键帧的开头的目标视频PES包作为跳转视频PES包和在时间上最接近跳转视频PES包且为音频帧的开头的目本文档来自技高网
...
一种基于HLS协议的音视频的跳转播放方法及装置

【技术保护点】
一种基于实时流传输HLS协议的音视频的跳转播放方法,其特征在于,该方法包括:在源音视频的当前分片文件下载过程中,若检测到当前的网络带宽小于预设值,则下载与所述源音频的当前分片文件相应的目标音视频的分片文件,所述目标音视频的分片文件对应的分辨率低于所述源音视频的分片文件对应的分辨率;基于所述源音视频的当前分片文件,确定一个待解码的源视频分组基本码流PES包作为连接视频PES包和在时间上最接近所述连接视频PES包的待解码的源音频PES包作为连接音频PES包;以及基于所述目标音视频的分片文件,确定在时间上最接近所述连接视频PES包且为视频帧中关键帧的开头的目标视频PES包作为跳转视频PES包和在时间上最接近所述跳转视频PES包且为音频帧的开头的目标音频PES包作为跳转音频PES包;从所述连接视频PES包和所述连接音频PES包结束解码所述源音视频的当前分片文件,并从所述跳转视频PES包和所述跳转音频PES包开始解码并播放所述目标音视频的分片文件。

【技术特征摘要】
1.一种基于实时流传输HLS协议的音视频的跳转播放方法,其特征在于,该方法包括:在源音视频的当前分片文件下载过程中,若检测到当前的网络带宽小于预设值,则下载与所述源音频的当前分片文件相应的目标音视频的分片文件,所述目标音视频的分片文件对应的分辨率低于所述源音视频的分片文件对应的分辨率;基于所述源音视频的当前分片文件,确定一个待解码的源视频分组基本码流PES包作为连接视频PES包和在时间上最接近所述连接视频PES包的待解码的源音频PES包作为连接音频PES包;以及基于所述目标音视频的分片文件,确定在时间上最接近所述连接视频PES包且为视频帧中关键帧的开头的目标视频PES包作为跳转视频PES包和在时间上最接近所述跳转视频PES包且为音频帧的开头的目标音频PES包作为跳转音频PES包;从所述连接视频PES包和所述连接音频PES包结束解码所述源音视频的当前分片文件,并从所述跳转视频PES包和所述跳转音频PES包开始解码并播放所述目标音视频的分片文件。2.根据权利要求1所述的方法,其特征在于,基于所述目标音视频的分片文件,确定在时间上最接近所述连接视频PES包且为视频帧中关键帧的开头的目标视频PES包作为跳转视频PES包和在时间上最接近所述跳转视频PES包且为音频帧的开头的目标音频PES包作为跳转音频PES包之后,从所述连接视频PES包和所述连接音频PES包结束解码所述源音视频的当前分片文件,并从所述跳转视频PES包和所述跳转音频PES包开始解码并播放所述目标音视频的分片文件之前,该方法还包括:判断所述连接视频PES包和所述跳转视频PES包之间的时间差是否小于预设阈值;如果不小于,基于所述源音视频的分片文件,重新查找与所述跳转视频PES包之间的时间差小于所述预设阈值的源视频PES包作为所述连接视频PES包和在时间上最接近重新查找到的所述连接视频PES包的源音频PES包作为连接音频PES包。3.根据权利要求2所述的方法,其特征在于,基于所述源音视频的当前分片文件,确定一个待解码的源视频PES包作为连接视频PES包之前,该方法还包括:对下载的所述源音视频的当前分片文件进行解析,得到按时间先后顺序排列的源视频PES包队列和源音频PES包队列,从所述源视频PES包队列中获取预定数量的待解码的源视频PES包加入到视频PES包解码队列以便解码,以及从所述源音频PES包队列中获取预定数量的待解码的源音频PES包加入到音频PES包解码队列以便解码;基于所述源音视频的当前分片文件,确定一个待解码的源视频PES包作为连接视频PES包,包括:从所述视频PES包解码队列中,选择一个源视频PES包,作为连接视频PES包。4.根据权利要求3所述的方法,其特征在于,基于所述目标音视频的分片文件,确定在时间上最接近所述连接视频PES包且为视频帧中关键帧的开头的目标视频PES包作为跳转视频PES包和在时间上最接近所述跳转视频PES包且为音频帧的开头的目标音频PES包作为跳转音频PES包之前,该方法还包括:对下载的所述目标音视频的分片文件进行解析,得到按时间先后顺序排列的目标视频PES包队列和目标音频PES包队列;基于所述目标音视频的分片文件,确定在时间上最接近所述连接视频PES包且为视频帧中关键帧的开头的目标视频PES包作为跳转视频PES包和在时间上最接近所述跳转视频PES包且为音频帧的开头的目标音频PES包作为跳转音频PES包,包括:获取所述连接PES包的包头中的时间标签;从所述目标视频PES包队列中查找出为关键帧的开头的各目标视频PES包,并获取各目标视频PES包的包头中的时间标签;根据所述连接PES包的包头中的时间标签指示的时间,以及获取的各目标视频PES包的包头中的时间标签指示的时间,查找所述跳转视频PES包;所述跳转视频PES包的包头中的时间标签指示的时间最接近且晚于所述连接PES包的包头中的时间标签指示的时间;从所述目标音频PES包队列中查找出为音频帧的开头的各目标音频PES包,并获取各目标音频PES包的包头中的时间标签;根据所述跳转视频PES包的包头中的时间标签指示的时间,以及获取的各目标音频PES包的包头中的时间标签指示的时间,查找所述跳转音频PES包;所述跳转音频PES包的包头中的时间标签指示的时间最接近所述跳转视频PES包的包头中的时间标签指示的时间。5.根据权利要求4所述的方法,其特征在于,从所述目标视频PES包队列中查找出为关键帧的开头的各目标视频PES包,并获取各目标视频PES包的包头中的时间标签,包括:依次判断所述目标视频PES包队列中的各目标视频PES包是否为关键帧的开头;如果是,将该目标视频PES包的包头中的时间标签按时间先后顺序加入到关键帧索引队列;根据所述连接PES包的包头中的时间标签指示...

【专利技术属性】
技术研发人员:刘庆彬
申请(专利权)人:青岛海信宽带多媒体技术有限公司
类型:发明
国别省市:山东;37

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

1