一种基于hls协议的视频精确定位装置及方法

文档序号:9203008阅读:529来源:国知局
一种基于hls协议的视频精确定位装置及方法
【技术领域】
[0001]本发明涉及流媒体播放领域,具体来讲是指一种基于HLS协议的视频精确定位装置及方法。
【背景技术】
[0002]随着数字技术和互联网技术的发展,互联网多媒体的应用日益兴旺,HLS(HTTPLive Streaming,Apple的动态码率自适应技术)的规范在互联网多媒体中应用越来越广泛。HLS协议特点是将容量巨大的连续媒体数据进行分段,分割为数量众多的TSCTransportStream)分片进行传递,机顶盒不断的请求下载TS分片实现流畅的播放。在HLS协议规范中,每个TS分片都有#EXTINF字段标识分片的时长,并且每个分片都有一个序列号与之相对应,因此,HLS支持直播和点播的同时,也支持点播的定位操作。由于每个TS分片具有序列号和时长的信息,所以机顶盒可以根据定位的时间去计算需要播放的TS分片,根据计算结果选择需要播放的TS分片进行播放,这样就达到了定位的效果。
[0003]目前大多数HLS应用中的定位时间单位是秒,小于一个TS分片的时长,当定位的时间在一个TS分片中间的时候,机顶盒就需要下载该分片播放,并没有精确到定位时间附近的I帧进行播放;但是如果不从I帧开始播放,播放会有花屏,播放效果不好,给用户的感觉是定位不够精确,用户体验效果差。

【发明内容】

[0004]针对现有技术中存在的缺陷,本发明的目的在于提供一种基于HLS协议的视频精确定位装置及方法,在播放中实现精准定位,避免花屏,播放效果好,提高用户体验。
[0005]为达到以上目的,本发明采取一种基于HLS协议的视频精确定位装置,设置于机顶盒,包括控制模块,以及分别与控制模块相连的播放模块、循环缓存模块、I帧检索模块和HLS模块,循环缓存模块还分别连接I帧检索模块和HLS模块;其中,HLS模块用于与HLS服务器交互,循环缓存模块用于对TS分片循环下载并管理,I帧检索模块用于对循环缓存模块中下载的TS分片进行查找并建立I帧索引列表,播放模块用于从循环缓存模块中取TS分片进行播放,控制模块用于控制上述所有模块。
[0006]在上述技术方案的基础上,HLS模块中设有播放列表,播放列表的表项包括TS分片长度以及对应的分片序列号。
[0007]本发明还提供一种基于HLS协议的视频精确定位方法,机顶盒收到HLS点播播放命令,HLS模块下载对应的M3U8文件并解析,生成TS分片索引,循环缓存模块下载TS分片,播放模块播放循环缓存模块已下载的TS分片,I帧检索模块对循环缓存中每一个下载的TS分片进行检索,并建立I帧索引列表;当机顶盒收到定位播放命令后,控制模块根据定位时间计算需要播放的TS分片信息,从循环缓存模块中寻找需要播放的TS分片信息,再根据定位时间和I帧索引列表计算出循环缓存模块中存储该定位时间视频内容的I帧地址信息,播放模块根据循环缓存模块中I帧地址信息,提取对应的音视频数据进行播放。
[0008]在上述技术方案的基础上,HLS模块下载对应的M3U8文件并解析的具体步骤为:S201.HLS模块根据接收到的播放URL,向服务器请求一级M3U8文件;S202.对获取到的一级M3U8文件进行解析并生成二级M3U8文件请求URL ;S203.HLS模块向服务器请求二级M3U8文件;S204.HLS模块对获取到的二级M3U8文件进行解析并生成TS分片索引。
[0009]在上述技术方案的基础上,循环缓存模块根据TS分片索引依次下载需要播放的TS分片。
[0010]在上述技术方案的基础上,循环缓存模块下载TS分片过程中,实时判断循环缓存模块内部空余大小,若内部空余不足时,停止下载TS分片,只有在内部空余足够时,继续下载新的TS分片。
[0011]在上述技术方案的基础上,I帧检索模块建立I帧索引列表的流程为:S301.对下载到循环缓存模块中的TS分片进行节目关联表解析;S302.根据解析到的节目关联表,对节目映射表进行解析;S303.根据解析到的节目映射表,对视频标志码传输包进行解析;
5304.根据解析到的视频标志码传输包,在TS分片中找到视频标志码传输包的PES包头;
5305.根据找到的PES包头,判断是否为I帧的PES包头数据,若是,进入S306;若否,进入S304 ;S306.根据找到的I帧PES包头数据建立I帧索引列表,进入S301。
[0012]在上述技术方案的基础上,机顶盒从循环缓存模块中寻找需要播放的TS分片信息,如果此时循环缓存模块中没有需要播放的TS分片信息,则循环换缓存模块由网络中下载该TS分片,下载完成后,再进行I帧检索,建立I帧索引列表。
[0013]本发明的有益效果在于:针对TS分片的I帧信息进行检索并建立I帧索引列表,在定位操作时,根据定位的时间信息计算出需要播放的I帧,机顶盒从计算出来的I帧开始播放,解决了不能定位到TS分片中间的问题,能够在不修改HLS协议的基础上,在机顶盒侧就能实现HLS协议的视频精确定位,播放效果好,提高用户体验。
【附图说明】
[0014]图1为本发明实施例基于HLS协议的视频精确定位装置不意图;
[0015]图2为本发明实施例基于HLS协议的视频精确定位方法的流程图;
[0016]图3为本发明实施例HLS模块下载对应的M3U8文件并解析的流程图;
[0017]图4为本发明实施例建立I帧索引列表的流程图。
[0018]附图标记:
[0019]1-控制模块,2-播放模块,3-循环缓存模块、4-1帧检索模块,5-HLS模块。
【具体实施方式】
[0020]以下结合附图及实施例对本发明作进一步详细说明。
[0021]如图1所示,本发明基于HLS协议的视频精确定位装置,设置于机顶盒,包括控制模块1,以及分别与控制模块I相连的播放模块2、循环缓存模块3、I帧检索模块4和HLS模块5,循环缓存模块3还分别连接播放模块2、I帧检索模块4和HLS模块5,HLS模块中设有播放列表,播放列表的表项包括TS分片长度以及对应的分片序列号。其中,HLS模块5用于与HLS服务器交互,完成HLS协议的实现;循环缓存模块3用于对TS分片循环下载并管理帧检索模块4用于对循环缓存模块3中下载的TS分片进行查找并建立I帧索引列表;播放模块2用于从循环缓存模块3中取TS分片进行播放;控制模块I用于控制播放模块2、循环缓存模块3、I帧检索模块4和HLS模块5协同工作,完成HLS播放以及基于HLS的精确定位。
[0022]如图2所示,本发明实施例基于HLS协议的视频精确定位方法的详细步骤如下:
[0023]S1.机顶盒接收到HLS点播播放命令。
[0024]S2.控制模块I根据收到的HLS点播播放命令以及播放URL (Uniform ResourceLocator,统一资源定位符),控制HLS模块5下载对应的M3U8文件并解析,生成TS分片索引。
[0025]S3.循环缓存模块3根据网络情况选择合适码率,根据TS分片索引依次下载需要播放的TS分片。同时,播放模块2播放循环缓存模块3中已下载的TS分片,I帧检索模块4对循环缓存模块3中每一个下载的TS分片进行检索,并建立I帧索引列表。在循环缓存模块3下载TS分片过程中,循环缓存模块3实时判断循环缓存模块内部空余大小,若内部空余不足时,停止下载TS分片,只有在内部空余足够时,继续下载新的TS分片。
[0026]S4.控制模块
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1