多编码格式节目流的自适应切换方法及系统的制作方法

文档序号:8447731阅读:579来源:国知局
多编码格式节目流的自适应切换方法及系统的制作方法
【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种多编码格式节目流的自适应切换方法及系统。
【背景技术】
[0002]随着电视广播业务的不断发展以及网络带宽的不断提升,已经实现自适应收看高标清节目。目前的自适应切换高标清节目流的方案都是以音视频编码格式为一致的基础上实现的。而对于不同音视频编码格式节目流自适应切换,涉及到解码器的切换问题,这样就会导致解码器重置使音视频解码中断,那么自适应切换不同音视频编码格式的节目流时就会导致播放不连贯、跳帧或者视频画面停顿等现象发生,大大影响高标清节目流的切换,给用户观看带来极大的不便,降低用户的体验。
[0003]同时,由于不同节目流带宽不同,带宽从低宽带突变到高宽带时会发生下载不及时而导致卡顿的问题,也会大大影响用户观看和体验。

【发明内容】

[0004]有鉴于此,有必要针对上述不同编码格式节目流自适应切换发生不连贯、跳帧等问题,提供一种多编码格式节目流的自适应切换方法及系统。
[0005]本发明提供的一种多编码格式节目流的自适应切换方法,包括如下步骤:
[0006]SlO:将节目流按照带宽大小分成多个组,每个组的音视频编码格式都不同;
[0007]S20:下载每个组中节目流的TS片段并进行解析,获取每个组TS片段的大小以及每个组对应的音视频编码格式,并且采用最小TS片段的大小值,将其他组TS片段分割成多段,使其他组TS片段能够分段下载;
[0008]S30:提供两个解码器,分别为第一解码器和第二解码器,创建两个线程,分别为第一线程和第二线程;
[0009]S40:由第一线程采用带宽最小组的音视频编码格式对第一解码器进行初始化,并下载带宽最小组中的TS片段并注入第一解码器,将第一解码器绑定的显存窗口设置为顶层进行播放;
[0010]S50:由第一线程实时获取当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第一解码器当前带宽不符,则第一线程停止下载TS片段且记录下载位置,并通知第二线程;
[0011]S60:由第二线程采用所适配带宽对应组的音视频编码格式对第二解码器进行初始化,由记录的下载位置继续下载所适配带宽对应组中的TS片段并注入第二解码器,并在第一解码器缓存为空时将第二解码器绑定的显存窗口设置为顶层进行播放;
[0012]S70:由第二线程继续实时获取当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第二解码器当前带宽不符,则第二线程停止下载TS片段且记录下载位置,并通知第一线程;
[0013]S80:由第一线程采用所适配带宽对应组的音视频编码格式对第一解码器进行初始化,由记录的下载位置继续下载所适配带宽对应组中的TS片段并注入第一解码器,并在第二解码器缓存为空时将第一解码器绑定的显存窗口设置为顶层进行播放。
[0014]本发明还提供一种多编码格式节目流的自适应切换系统,包括:
[0015]节目流分组单元,将节目流按照带宽大小分成多个组,每个组的音视频编码格式都不同;
[0016]编码格式获取单元,下载每个组中节目流的TS片段并进行解析,获取每个组TS片段的大小以及每个组对应的音视频编码格式,并且采用最小TS片段的大小值,将其他组TS片段分割成多段,使其他组TS片段能够分段下载;
[0017]线程创建单元,提供两个解码器,分别为第一解码器和第二解码器,创建两个线程,分别为第一线程和第二线程;
[0018]第一解码器设置单元,控制由第一线程采用带宽最小组的音视频编码格式对第一解码器进行初始化,并下载带宽最小组中的TS片段并注入第一解码器,将第一解码器绑定的显存窗口设置为顶层进行播放;
[0019]第二线程通知单元,控制由第一线程实时获取当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第一解码器当前带宽不符,则第一线程停止下载TS片段且记录下载位置,并通知第二线程;
[0020]第二解码器设置单元,控制由第二线程采用所适配带宽对应组的音视频编码格式对第二解码器进行初始化,由记录的下载位置继续下载所适配带宽对应组中的TS片段并注入第二解码器,并在第一解码器缓存为空时将第二解码器绑定的显存窗口设置为顶层进行播放;
[0021]第一线程通知单元,控制由第二线程继续实时获取当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第二解码器当前带宽不符,则第二线程停止下载TS片段且记录下载位置,并通知第一线程;第一解码器设置单元控制由第一线程采用所适配带宽对应组的音视频编码格式对第一解码器进行初始化,由记录的下载位置继续下载所适配带宽对应组中的TS片段并注入第一解码器,并在第二解码器缓存为空时将第一解码器绑定的显存窗口设置为顶层进行播放。
[0022]本发明多编码格式节目流的自适应切换方法及系统,将节目流按照带宽和编码格式进行分组,提供两个解码器同时创建双线程,根据网络速度确定适配的带宽进行切换,在编码格式不同需要切换时,由未播放的一组进行切换播放,在使用的一组不需要进行重置,这样就实现了自适应的无缝切换,从而避免导致播放不连贯、跳帧或者视频画面停顿等现象的发生,大大保证了高标清节目流的切换,给用户观看带来极大便利,提高用户的体验。
[0023]同时,对于带宽大的分组中的TS流分段下载,进一步避免了发生卡顿的问题,给用户观看带来进一步的便利,更加提高用户的体验。
【附图说明】
[0024]图1是一个实施例中的多编码格式节目流的自适应切换方法的流程图。
【具体实施方式】
[0025]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0026]图1是一个实施例中的多编码格式节目流的自适应切换方法的流程图,如图1所示,该方法包括如下步骤:
[0027]S10:将节目流按照带宽大小分成多个组,每个组的音视频编码格式都不同。
[0028]由于目前同一个节目存在多种音视频编码格式的节目流,且不同音视频编码格式的节目流的带宽也不相同,多种编码格式和带宽的节目流是穿插着进行传输的,这样编码格式会不时发生改变,解码器要不断的进行重置使音视频解码中断,就会导致播放不连贯、跳帧或者视频画面停顿等现象发生。故在该实施例中,首先将节目流按照编码格式和带宽分成多个组,每个组对应一种编码格式和带宽,使节目流能够按组进行区分。例如,将节目流分成三个组,分组为Al、A2、A3,对应的带宽分别为B1、B2、B3 (B1<B2<B3),三个分组的音视频编码格式都不相同。
[0029]在进一步的实施方式中,该步骤具体为:获取播放的URL(HLS协议的),根据URL下载节目流描述文件,并根据节目流描述文件获取节目流的带宽,将节目流按照带宽大小分成多个组。
[0030]S20:下载每个组中节目流的TS (传输流)片段并进行解析,获取每个组TS片段的大小以及每个组对应的音视频编码格式,并且采用最小TS片段的大小值,将其他组TS片段分割成多段,使其他组TS片段能够分段下载。
[0031]在对节目流分组之后,需要获取每个组对应的编码格式,由于每个组的TS片段中包含有编码格式和带宽的描述,则下载每个组中节目流的TS(传输流)片段并进行解析,获取每个组TS片段的大小以及每个组对应的音视频编码格式。
[0032]在进一步的实施方式中
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1