【技术实现步骤摘要】
本专利技术涉及音视频播放
,尤其涉及一种基于实时流传输HLS(httplivestream)的音视频的跳转播放方法及装置。
技术介绍
HLS(httplivestream)协议是苹果公司提出的一个时实流传输协议,基本思想就是服务器将同一个音视频分成短时长的若干片段(一般为10秒),其中每一个片段都会对应有若干不同分辨率等级的分片,用以适应不同的网络状况。当网络状况比较好时,播放器可以请求一个较高分辨率的分片,反之则请求一个较低分辨率的分片,从而使音视频的点播能够动态适应网络状况,提高用户体验。接收到一个音视频的点播指示后,之前的启播方式如下:以先下载再播放的方式启播:首先下载准备好一个以上完整的分片,再开始播放;在下载一个高分辨率的分片的过程中,若网络状况变差,就丢弃正在下载的高分辨率的分片,重新请求一个低分辨率的分片。该方式中,不会存在播放卡顿的问题,保证了播放流畅性,但是会存在启播速度慢的问题。为了解决启播速度慢的问题,现有技术中还可以以边下载边播放的方式启播,具体的:不等分片下载完整就通知解码器解码以便开始播放;正在播放的高分辨率的分片没有下载完整的时候,若网络状况变差,应当请求下载一个低分辨率的分片,但是正在下载的高分辨率的分片正在播放过程中,目前该方式中,只能等到当前的高分辨率的分片播放完毕,也就是说,将高分辨率的分片下载完之后,才能申请一个低分辨率的分片,这时,因网络状况变差高分辨率的分片下载超时造成解码器欠载,导致出现播放卡顿问题。因而,该方式中,虽然保证了启播速度,但是播放流畅性变差了。因此,为保证启播速度,现有技术中存在因网络状况 ...
【技术保护点】
一种基于实时流传输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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。