针对m3u8文件进行帧确定的方法和系统的制作方法

文档序号:9456255阅读:2344来源:国知局
针对m3u8文件进行帧确定的方法和系统的制作方法
【技术领域】
[0001]本发明涉及流媒体通信技术领域,特别涉及视频点播过程中对seek操作的精细控制。更具体地,本发明涉及一种针对m3u8文件进行精确帧确定的方法和系统。
【背景技术】
[0002]基于开放互联网的OTT移动视频服务是将来满足直播(Live)、点播(OnDemand)以及时移(TimeShift)等诸多应用需求的最佳解决方案之一。OTTTV是“OverTheTopina缩写,是指基于开放互联网的视频服务,播放终端可以是电视机、电脑、机顶盒、PAD、智能手机等等。意指在网络之上提供服务,强调服务与物理网络的无关性。目前通常的做法是按照一定的时间间隔、不同的媒体编码格式和码率大小将媒体数据分割打包成不同的单个文件,称之为分段,然后把所有的分段存储在服务端,每个分段及其时间长度等信息存储在一个M3U8格式文件中,M3U8索引文件是HLS协议里规定的一种描述文件,也被称为M3U8描述文件,M3U8文件是指UTF-8编码格式的M3U文件。M3U文件是记录了一个索引纯文本文件,M3U8文件用文本方式对媒体文件进行描述,由一系列标签组成,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放;播放时,月艮务端将该格式文件传输给客户端,由客户端根据当前播放的时间位置或用户操作要求(如Seek操作)从服务端请求指定的分段文件并播放。
[0003]理想情况下,M3U8是一个索引文件,含视频播放时文件为ts流封装格式,纯音频可以为adts封装格式,采用分段方式可以对随机接入直播带来优势。
[0004]但是实际情况中,M3U8文件也可以用来进行点播,当由MP4、FLV等视频格式文件转换而成时,其分段文件可能较大,如一个分段存在20秒,当用户点播过程中进行滑动条拖动时,不能达到精确的时间位置,需要播放相对较长的时间才能达到预定位置,影响用户体验。

【发明内容】

[0005]有鉴于此,本申请所要解决的技术问题是提供了一种针对m3u8文件进行帧确定的方法及系统,其能够解决用户视频点播过程中进行滑动条拖动时,不能达到精确的时间位置,需要播放相对较长的时间才能达到预定位置的问题,本发明旨在解决此类问题,拖动过程能迅速到达理想位置,无需用户等待,改善用户体验。
[0006]为了解决上述技术问题,本申请有如下技术方案:
[0007]—种针对m3u8文件进行帧确定的方法,包括如下步骤:
[0008]根据m3u8文件的分段方式,确定seek点所在分段;
[0009]从seek点所在分段内的视频的起始关键帧开始解复用,找出与seek点最接近的如后关键帧,保存与所述seek点最近的如后关键帧为起始的码流段洛;
[0010]从所保存的码流段落的起始关键帧开始进行解码,将未达到seek点的解帧码丢弃,直到达到seek点的解帧码则保留以用于视频渲染。[0011 ] 优选地,其中,所述从seek点所在分段内的视频的起始关键帧开始解复用,找出与seek点最接近的如后关键帧,保存与所述seek点最近的如后关键帧所在的以关键帧为起始的码流段落包括:
[0012]从seek点所在分段内的第一关键帧开始解复用,保存第一关键帧和第二关键帧之间的码流段落;
[0013]检测出当遇到第二关键帧发现未达到seek点时,丢弃第一关键帧和第二关键帧之间的码流段落,从第二关键帧开始解复用,保存第二关键帧和第三关键帧之间的码流段落,
[0014]继续检测遇到后续的关键帧是否发现达到seek点及是否丢丢弃相应的码流段落,直到发现达到seek点,确认最后保存的码流段落的前后关键帧为与所述seek点最近的如后关键帧。
[0015]优选地,其中,还包括如下步骤:
[0016]从seek点所在分段内的音频的起始帧开始解复用,将未达到seek点的音频码流丢弃,直到达到seek点的音频码流则保留用于音频解码渲染。
[0017]本发明还公开了一种针对m3u8文件进行帧确定的系统,其特征在于,包括:
[0018]计算模块,配置以根据m3u8文件的分段方式,确定seek点所在分段;
[0019]解复用检测模块,配置以从所确定的seek点所在分段内的视频的起始关键帧开始解复用,找出与seek点最接近的前后关键帧;
[0020]存储模块,配置以保存与所述seek点最近的前后关键帧为起始的码流段落;
[0021]解码模块,配置以从所保存的码流段落的起始关键帧开始进行解码,将未达到seek点的解帧码丢弃,直到达到seek点的解帧码则保留用于视频渲染。
[0022]优选地,其中,所述解复用检测模块和所述存储模块配置成:所述解复用模块从第一关键帧开始解复用,所述存储模块预保存第一关键帧和第二关键帧之间的码流段落,所述解复用检测模块检测出遇到第二关键帧发现未达到seek点时,所述存储模块丢弃第一关键帧和第二关键帧之间的码流段落,所述解复用检测模块从第二关键帧开始解复用,所述存储模块保存第二关键帧和第三关键帧之间的码流段落,所述解复用检测模块继续检测遇到的后续的关键帧是否发现达到seek点及存储模块是否丢丢弃相应的码流段落,直到发现达到seek点,确认存储模块最后保存的码流段落的前后关键帧为与所述seek点最近的如后关键帧。
[0023]优选地,其中,
[0024]所述解复用检测模块还配置以从seek点所在分段内的音频的起始帧开始解复用,将未达到seek点的音频码流丢弃,直到达到seek点的音频码流则保留用于音频解码渲染;所述解码模块还配置以解码seek点的音频码流。
[0025]与现有技术相比,本申请所述的方法和系统,达到了如下效果:
[0026]解决了现有技术中无法通过m3u8精确到视频的具体的精准帧的问题。由于每小段ts流文件较小,采用本发明的方法局部解复用和解码的时间基本可以忽略,用户很容易拖动滚动(滑动)条到达理想点,查找到想要的视频内容。
【附图说明】
[0027]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0028]图1示出了根据本发明一实施例的针对m3u8文件进行帧确定的方法的流程图;
[0029]图2示出了图1中的方法中的步骤S102的一种【具体实施方式】的详细执行图;
[0030]图3示出了根据本发明另一实施例的针对m3u8文件进行帧确定的方法的流程图;
[0031]图4示出了针对含有纯音频的m3u8文件进行帧确定的方法的流程图;
[0032]图5示出了一具体实施例的m3u8文件应用本发明的方法的示意图;
[0033]图6示出了根据本发明的针对m3u8文件进行帧确定的系统。
【具体实施方式】
[0034]如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包括”为一开放式用语,故应解释成“包括但不限定于”。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求书所界定者为准。
[0035]如图1所示,为根据本发明一实施例的针对m3u8文件进行帧确定的方法,该方法尤其适用于视频文件,此方法包括如下步骤:
[0036]SlOl:根据m3u8文件的分段方式,确定seek点所在分段。
[0037]结合图5的示例举例来说,m3u8文件具有3个分段,每个分段的时长为20秒,则(O, 19),(20,39),(40,59)分别为3个分段,如果用户播放视频过程中想拖到53秒处,则根据分段方式,可以确定53秒的seek点在第3分段。
[0038]S102:从seek点所在分段内的视频的起始关键帧开始解复用,找出与seek点最接近的如后关键帧,保存与所述seek点最近的如后关键帧所在的以关键帧为起始的码流段落。
[0039]参照图5,在第3分段中,40,45,50,55的小旗帜分别代表关键帧所在的位置,具体素材中关键帧的位置是随机的,本例仅作为参考。从第3分段的各关键帧40,45,50,55中的关键帧40开始解复用,找出与53最接近的前后关键帧50,55,保存GOP (50,54)。
[0040]S103:从所保存的码流段落的起始关键帧开始进行解码,将未达到seek点的解帧码丢弃,直到达到seek点的解帧码则保留以用于视频渲染。
[0041 ] 结合图5的示例,视频解码从GOP (50,54)的50秒的关键帧开始解码,将未达到53秒的解码帧丢弃,当达到53秒则开始视频渲染。
[0042]继续参照图2,关于步骤S102的执行,可以包括如下子步骤:
[0043]S1021:从seek点所在分段内的第一关键帧开始解复用,保存第一关键帧和第二关键帧之间的码流段落;
[0044]S1022:检测出当遇到第二关键帧发现未达到seek点时,丢弃第一关键帧和第二关键帧之间的码流段落,从第二关键帧开始解复用,保存第二关键帧和第三关键帧之间的码流段落;
[0045]S1023:继续检测遇到后续的关键帧是否发现达到seek点及是否丢丢弃相应的码流段落,直到发现达到seek点,确认最后保存的码流段落的前后关键帧为与所述seek点最近的如后关键帧。
[0046]结合图5的示例来说,步骤S1021?S023例如表现为:
[0047]首先,从第3分段的40秒开始解复用,保存G0P(40,44),从,当遇到45秒后发现仍未到53秒的seek点位置,则丢弃G0P(40,44),从45秒开始解复用,保存以45秒起始的GOP(45, 49),当遇到50秒后发现,仍未到53秒的
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1