在HLS协议中扩展实现快进快退及精确Seek的方法

文档序号:7801255阅读:3915来源:国知局
在HLS协议中扩展实现快进快退及精确Seek的方法
【专利摘要】本发明公开了一种在HLS协议中扩展实现快进快退及精确Seek的方法,包括如下步骤:获得I帧记录信息步骤;I帧描述信息组织步骤,将媒体分片时存储的每个I帧的记录信息按照一定的格式组织,将一个分片中对应包含的所有I帧的记录信息组织在一起,称为该分片的I帧描述信息;M3U8扩展记录I帧描述信息步骤,为了客户端能获得每个分片的I帧描述信息,将每个分片的I帧描述信息存储在M3U8文件中,客户端在获得M3U8文件时,同时获得每个分片的I帧描述信息;用户端根据M3U8扩展信息精确播放控制步骤。本发明能够解决OTT移动视频服务系统中精确Seek、快进、快退播放等精细控制问题,达到平滑播放、随意播放,提升数字媒体生活体验。
【专利说明】在HLS协议中扩展实现快进快退及精确Seek的方法
【技术领域】
[0001]本发明涉及流媒体通信【技术领域】,特别是涉及到一种基于开放互联网的移动视频服务系统,及其在直播、点播以及时移时快进、快推以及精细Seek操作的控制方法,是属于数字媒体生活【技术领域】。
【背景技术】
[0002]基于开放互联网的OTT移动视频服务是将来满足直播(Live)、点播(OnDemand)以及时移(TimeShift)等诸多应用需求的最佳解决方案之一。OTTTV是“OverTheTopTV”的缩写,是指基于开放互联网的视频服务,终端可以是电视机、电脑、机顶盒、PAD、智能手机等等。意指在网络之上提供服务,强调服务与物理网络的无关性。目前通常的做法是根据HLS (HttpLiveStream)协议,按照一定的时间间隔、不同的媒体编码格式和码率大小将媒体数据分割打包成不同的单个文件,称之为分片,然后把所有的分片存储在服务端,每个分片及其时间长度等信息存储在一个M3U8格式文件中;播放时,服务端将该格式文件传输给客户端,由客户端根据当前播放的时间位置或用户操作要求(如Seek操作)从服务端请求指定的分片文件并播放。根据上述HLS协议规范,能实现基于OTT的移动视频服务,包括直播、点播、时移播放以及基于分片的Seek操作。专利201310449988.5 (申请号,下同)、201310450166.9,201210012762.4以及201310395518.5等都是上述协议的一种实现。在此基础上,针对分片文件个数规模大所带来的存储问题,专利201110148260.X提供了一种时移数据的存储改进方法;针对多场景媒体流同步自适应播放需求,专利201310253436.7提供了一种屏幕媒体流和视频媒体流的同步自适应直播方法。但是根据标准HLS协议及根据以上专利改进的OTT移动视频服务系统依然存在以下几个问题:1)虽然能进行Seek操作,但是Seek精度为分片的时长,不能按照单帧或多帧Seek,无法完成精确的播放控制;2)不能实现快进、快退播放,无法实现节目的快速浏览。

【发明内容】

[0003]本发明的目的是提供一种方法,解决OTT移动视频服务系统中精确Seek、快进、快退播放等精细控制问题,达到平滑播放、随意播放,提升数字媒体生活体验。
[0004]为了实现上述目的,本发明提供的技术方案为:本发明基于HLS协议规范,包括三个部分的扩展:
[0005]在媒体分片存储时,同时记录每个I帧的位置信息、长度信息,该信息称之为I帧的记录信息。
[0006]其中,所述的I帧一般指IDR的I帧,根据本发明方案,可以扩展到其它I帧信息。
[0007]根据HLS协议规范,需要将媒体按照指定的时间长度、码率、编码格式等分割后码成一连串的小文件,每个小文件称之为一个分片,该操作称之为切片。切片时,切片参数信息,包括时间长度、码率、编码等由用户设置。,在切片操作中,同时根据码流信息,自动记录所有I帧的记录信息,减少2次索引查找I帧带来的时间开销。所述信息的记录方法不能影响媒体的分片处理,I帧的记录信息格式包括,但不限于格式文本、数据结构、数据库等,该记录信息的格式由该系统的实现确定,不存在互通和兼容问题,一种简单可行的办法是和下面第2部分的I帧描述信息保持一致。
[0008]所述的记录信息可以是绝对信息,也可以是相对信息;所述的记录信息如果是绝对息,则必须都是绝对?目息;如果是相对?目息必须都是相对?目息。
[0009]特别的,针对已经完成切片的媒体信息,可以增加一个2次I帧索引部件,并将获得的每个分片I帧记录信息直接根据下面第2部分方法形成I帧描述信息并扩展存储在M3U8文件中。
[0010]所述的2次I帧索引部件完成多媒体信息的扫描,其基本方法和规范确定的切片过程基本相同。
[0011]在组织M3U8文件时,将媒体分片时存储的每个I帧的记录信息按照一定的格式组织,将一个分片中对应包含的所有I帧的记录信息组织在一起,称为该分片的I帧描述信息。
[0012]根据HLS协议规范,标准的M3U8文件记录了每个分片的时间长度(一般精确到毫秒)、每个分片对应的文件名以及码率、编码格式等其它媒体信息。
[0013]在M3U8文件,每个分片对应用一个“#EXTINF”字段进行记录,本发明所述技术方案是,在“#EXTINF”字段后,增加一个扩展字段记录该分片的I帧描述信息。
[0014]其中,分片的I帧描述信息的组织可以在生成M3U8文件时同时生成。
[0015]其中,所述描述信息的组织格式可以但不限于格式化字符串,如XML或其它自定义文本格式。
[0016]客户端播放时,根据所获取的M3U8文件扩展字段,提取所需要的I帧描述信息,并根据I帧描述信息在用户操作界面显示Seek进度或在快近/快退操作时自动顺序Seek对应的I帧进行播放。
[0017]其中,用户快进或快退播放播放可以只播放I帧,也可以播放I帧或其相连的几帧;也可以播放I帧或其相连的几秒;具体播放方式根据参数确定,其中参数通过用户界面输入。
[0018]特别的,对不支持本发明扩展的客户端播放依据本发明扩展的M3U8描述切片流,根据HLS协议规范,在解析包含I帧描述信息的扩展M3U8文件时,客户端可以自动丢弃不识别的M3U8字段,因此客户端可以正常播放带扩展M3U8描述的切片流。
[0019]特别的,对支持本发明扩展的客户端播放标准M3U8描述切片流,则不能实现本发明的精确控制,但依然可以按照标准程序完成流的播放。
[0020]与现有技术相比,本发明具有的效果:采用本发明所述方法的系统,通过在媒体分片时就记录每个I帧的信息,并将所记录的信息存储在M3U8文件的扩展字段中,客户端不需要额外的I帧检索就可以实现精确Seek、快进、快退播放等精细控制,且这种扩展不破坏HLS协议规范的完整性,不识别该扩展的终端和服务器可以正常忽略这种扩展而继续使用,具有很好的协议兼容性。
[0021]通过以下的描述并结合附图,本发明将变得更加清晰,这些附图用于解释本发明的实施例。【专利附图】

【附图说明】
[0022]图1是本发明实施例扩展的基本流程图。
【具体实施方式】
[0023]现在参考附图描述本发明的实施例,附图中类似的元件标号代表类似的元件。如上所述,如图1所示,本发明实现了 OTT移动视频服务系统中精确Seek、快进、快退播放等精细控制方法,达到平滑播放、随意播放,且兼容不支持本发明的系统,主要应用于个人计算机、机顶盒、智能电视、移动电话等智能设备上进行交互视频服务。
[0024]本发明HLS协议扩展的具体流程如图1所示,包括:
[0025]步骤101:获得I帧记录信息。媒体是经过编码的,为了实现对媒体播放过程的精确控制,根据多媒体编码协议,需要从I帧开始才能正常解码播放,因此在媒体分片时,需要记录I帧息,以便精确控制时能定位到正确的位置开始播放。
[0026]根据精确控制时的定位需要,在媒体切片时,需要的媒体I帧记录信息包括媒体中所有I帧的开始时间、偏移大小及 其长度,具体包括:
[0027](I)用户输入切片参数,切片系统根据切片参数开始切片;
[0028](2)切片时,记录每个分片的开始时间和开始位置;
[0029](3)切片时,记录每个I帧的开始时间和开始位置;
[0030](4)切片时,记录每个I帧的结束位置;
[0031](5)计算得到I帧的相对开始时间IStartTime=I帧的开始时间-分片的开始时间;
[0032](6)计算得到I帧的相对开始位置IStartPos=I帧的开始位置-分片的开始位置;
[0033](7)计算得到I帧的长度IFrameLength=I帧的结束位置-1帧的开始位置。
[0034]其中,IStartTime、IStartPos和IFrameLength为I帧记录信息。特别的,若切片已经完成,则可按如下步骤获得I帧记录信息,包括:
[0035](I)指定切片存储的根目录,根据目录地址扫描每一个分片文件;
[0036](2)检测分片中每个I帧的开始时间IStartTime和开始位置IStartPos ;
[0037](3)检测分片中每个I帧的结束位置;
[0038](4)同样可以计算到I帧的长度IFrameLength=I帧的结束位置-1StartPos。
[0039]其中,检测的每个I帧的开始时间、开始位置、结束位置信息都是相对信息。
[0040]特别的,I帧记录信息按照步骤102的I帧描述信息格式保存。
[0041]步骤102:组织分片的I帧描述信息。每个分片可能包含多个I帧,需要将该分片的所有I帧按照一定的格式组织在一起,具体包括:
[0042](I)根据I帧记录信息,IStartTime表示I帧相对开始时间,IStartPos表示I中贞相对开始位置,IFrameLength表示I帧长度,将每个I帧记录信息按照三元组“StartTime,StartPos, IFrameLength的形式组织;
[0043](2)将每个分片的所有I帧三元组信息以“ I I ”作为分割符按照先后顺序连接在一起,并以“[]”包含,组织成一个字符串,即表示为“[三元组1| I三元组2| I三元组3| I……
I三元组η]”的形式,所形成的字符串即为该分片的I帧描述信息。
[0044]其中,I帧记录信息的三元组排列可以更换成其它顺序。[0045]其中,I帧描述信息的分割符和组织形式可以更换成其它形式,如XML等。
[0046]特别的,生成多种类型的分片时,其处理方法是一致的。特别的,作为一种改进,为了检索的方便,可以对I帧描述信息进行扩展,如增加该分片的I帧个数信息等。
[0047]步骤103:M3U8扩展记录I帧描述信息。为了客户端能获得每个分片的I帧描述信息,需要将每个分片的I帧描述信息存储在M3U8文件中,客户端在获得M3U8文件时,同时就获得了每个分片的I帧描述信息,具体方法是:
[0048](I)在标准M3U8文件的每个分片描述字段“#EXTINF”后面,增加一个扩展字段“#EXT_3RDVENT0R_IFRAMEINF0”,用以存储该分片的I帧描述信息;
[0049](2)将分片的I帧描述信息作为扩展字段的参数存储在M3U8文件中,形式是:“#EXT_3RDVENT0R_IFRAMEINF0:1 帧描述信息”。
[0050]步骤104:客户端根据M3U8扩展信息精确播放控制。在客户端播放时,根据M3U8文件记录的扩展信息,自动计算并响应用户精确Seek、快进、快退播放操作,实现用户平滑播放、随意播放控制。
[0051]客户端播放时,根据当前播放的分片信息进行如下扩展处理:
[0052](I)根据当前播放的分片序号,从M3U8文件对应分片的扩展字段获取该分片的I帧描述信息,得到该分片中所有I帧的三元组信息;
[0053](2)根据I帧描述信息,在客户端播放界面显示播放位置刻度;其中每个位置代表I个可开始播放的I帧,用户在精确播放控制时,可根据该位置信息跳转到分片的对应位置开始播放;
[0054](3)用户Seek操作时,分三种情况:(a)在当前分片内Seek时,根据位置刻度直接跳转到该分片的对应位置播放;(b) Seek到上一个分片时,获得上一个分片的I帧描述信息,并同时依据第(a)种情况处理;(c) Seek到下一个分片时,获得下一个分片的I巾贞描述信息,并同时依据第(a)种情况处理;
[0055](4)获取用户设置的快进或快退播放参数,包括播放I帧及相连几秒的时间参数;
[0056](5)用户快进或快退播放操作时,根据I帧描述信息,自动按照顺序逐一 Seek到下一个/上一个I帧进行播放,即上述扩展(3)的自动执行过程。其中,Seek到另一个分片时,播放界面的刻度要根据新分片的I帧描述信
[0057]息重新刷新显示。
[0058]特别的,当M3U8文件没有包含扩展的I帧描述信息时,则不能进行精确的Seek跳转播放,此时客户端播放界面不能显示播放位置刻度,但依然可以按照分片播放。
[0059]应用时,切片系统在切片是自动记录分片的I帧记录信息,或者针对已经完成切片的媒体分片,通过顺序扫描检测获得每个分片的I帧记录信息,然后将获得的每个分片I帧记录信息按照格式组织成分片的I帧描述信息,并同时存储在M3U8的扩展字段中;客户端在播放时,通过M3U8的扩展字段获得分片的I帧描述信息,并解析出每个I帧的位置然后以刻度的形式显示在客户端的播放界面上,以根据用户的操作或自动跳转到分片的对应位置开始播放,从而实现分片的Seek和快进/快退等精确播放控制。
[0060]以上所揭露的仅为本发明的优选实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明申请专利范围所作的等同变化,仍属本发明所涵盖的范围。
【权利要求】
1.一种在HLS协议中扩展实现快进快退及精确Seek的方法,其特征在于,包括如下步骤: 获得I帧记录信息步骤,在媒体分片存储时,同时记录每个I帧的位置信息、长度信息,该信息称之为I帧的记录信息; I帧描述信息组织步骤,将媒体分片时存储的每个I帧的记录信息按照一定的格式组织,将一个分片中对应包含的所有I帧的记录信息组织在一起,称为该分片的I帧描述信息; M3U8扩展记录I帧描述信息步骤,为了客户端能获得每个分片的I帧描述信息,将每个分片的I帧描述信息存储在M3U8文件中,客户端在获得M3U8文件时,同时获得每个分片的I帧描述信息; 用户端根据M3U8扩展信息精确播放控制步骤,根据所获取的M3U8文件扩展字段,提取所需要的I帧描述信息,并根据I帧描述信息在用户操作界面显示Seek进度或在快进/快退操作时自动顺序Seek对应的I帧进行播放。
2.如权利要 求1所述的方法,其特征在于,根据HLS协议规范,需要将媒体按照指定的时间长度、码率、编码格式分割后码成一连串的小文件,每个小文件称之为一个分片,该操作称之为切片,切片时,切片参数信息,包括时间长度、码率、编码等由用户设置。
3.如权利要求2所述的方法,其特征在于,在切片操作中,同时根据码流信息,自动记录所有I帧的记录信息,减少2次索引查找I帧带来的时间开销。
4.如权利要求3所述的方法,其特征在于,I帧的记录信息格式包括,格式文本、数据结构、数据库,该记录信息的格式由该系统的实现确定,不存在互通和兼容问题。
5.如权利要求2所述的方法,其特征在于,针对已经完成切片的媒体信息,可以增加一个2次I帧索引部件,并将获得的每个分片I帧记录信息直接根据下面第2部分方法形成I帧描述信息并扩展存储在M3U8文件中,所述的2次I帧索引部件完成多媒体信息的扫描,其方法和规范确定的切片过程相同。
6.如权利要求2所述的方法,其特征在于,所述的记录信息可以是绝对信息,也可以是相对信息;所述的记录信息如果是绝对信息,则必须都是绝对信息;如果是相对信息必须都是相对息。
7.如权利要求2所述的方法,其特征在于,I帧描述信息组织步骤,根据HLS协议规范,标准的M3U8文件记录了每个分片的时间长度、每个分片对应的文件名以及码率、编码格式等其它媒体信息。
8.如权利要求7所述的方法,其特征在于,在M3U8文件,每个分片对应用一个“#EXTINF”字段进行记录,在“#EXTINF”字段后,增加一个扩展字段记录该分片的I帧描述信息。
9.如权利要求7所述的方法,其特征在于,分片的I帧描述信息的组织在生成M3U8文件时同时生成;所述描述信息的组织格式为格式化字符串。
10.如权利要求1所述的方法,其特征在于,用户端根据M3U8扩展信息精确播放控制步骤,用户快进或快退播放可以只播放I帧,也可以播放I帧或其相连的几帧;也可以播放I帧或其相连的几秒;具体播放方式根据参数确定,其中参数通过用户界面输入。
11.如权利要求10所述的方法,其特征在于,根据HLS协议规范,在解析包含I帧描述信息的扩展M3U8文件时,客户端可以自动丢弃不识别的M3U8字段。
【文档编号】H04N21/858GK103986978SQ201410148230
【公开日】2014年8月13日 申请日期:2014年4月14日 优先权日:2014年4月14日
【发明者】范正海, 周宝忠, 郑仁圳 申请人:曦威胜科技开发(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1