一种TS流媒体定位的方法和装置与流程

文档序号:15062580发布日期:2018-07-31 22:07阅读:390来源:国知局

本发明涉及互联网及信号处理技术领域,尤其是涉及一种ts流媒体定位的方法和装置。



背景技术:

ts即mpeg2-ts,mpeg2-ts格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。由于ts流具备较强的抵抗传输误码的能力,因此目前在传输媒体中进行传输的mpeg-2码流基本上都采用了ts流的包格式。为了向用户提供保证端到端的服务质量,需要通过cdn(contentdeliverynetwork)系统将视频内容从中心源存储分发到靠近用户端的边缘cdn节点,由边缘cdn节点的流媒体服务器为用户提供vod服务。ts内容通过媒资系统注入到cdn系统,cdn系统实现ts内容的存储、分发和缓存,最后将ts内容提供给用户进行播放。从用户播放体验和播放质量考虑,要求cdn系统提供ts内容的定位准确且快速,降低播放延时,提高播放质量。随着高清业务的发展,ts内容越来越大,对ts内容的定位延时要求也越来越高。

现有ts内容的定位技术大致分为以下几类:ts文件直接定位,按字节比例对ts文件进行定位,以及ts文件直接定位和按字节比例对ts文件进行定位相结合的定位方式。

ts文件直接定位的方式存在定位时间长的缺陷,由于ts文件比较大,按照遍历的方式进行定位耗时比较大,导致播放延时,且ts文件越大,定位的延时也越大。按字节比例对ts文件进行定位的方式存在定位不准确的问题,定位的位置并不一定是ts关键帧,影响播放效果。ts文件直接定位和按字节比例对ts文件进行定位相结合的定位方式要求扫描整个ts文件,在cdn系统中,边缘节点不一定存有完整的ts文件,需要从cdn中心节点回源,因而无法通过该定位方法获取到目标位置。

针对以上问题,还未提出有效解决方案。



技术实现要素:

有鉴于此,本发明的目的在于提供一种ts流媒体定位的方法和装置,以解决了现有的流媒体定位技术在对较大的ts内容进行定位时,所需要的定位时间较长的技术问题。

本发明实施例提供了一种ts流媒体定位的方法,该ts流媒体定位的方法应用于cdn系统中,包括:获取用户发送的定位播放请求,所述定位播放请求中包括所请求播放的目标ts内容的内容名称和所述目标ts内容的目标时间位置,所述目标时间位置为所述目标ts内容请求播放时间的时间位置;如果在描述信息缓存池中未查找到包含所述目标时间位置的索引块描述信息,则通过二分查找法查找下载目标索引块,其中,所述目标索引块为包含所述目标时间位置的索引块;基于所述目标索引块确定与所述目标时间位置最近的关键帧字节位置,并根据所述最近的关键帧字节位置查找所述目标ts内容的内容位置。

进一步地,基于所述目标索引块确定与所述目标时间位置最近的关键帧字节位置,并根据所述最近的关键帧字节位置查找所述目标ts内容的内容位置包括:解析所述目标索引块,得到所述目标索引块的索引块描述信息,其中,所述索引块描述信息包括索引起始关键帧时间位置和索引结束关键帧时间位置;基于所述索引块描述信息获取与所述目标时间位置最近的关键帧字节位置,进而根据所述最近的关键帧字节位置查找所述目标ts内容的内容位置。

进一步地,所述索引块描述信息包括以下至少之一:索引起始关键帧时间位置、索引结束关键帧时间位置、索引字节偏移位置和索引块长度。

进一步地,通过二分查找法查找下载目标索引块包括:从所述描述信息缓存池中查找第一索引块描述信息,其中,所述第一索引块描述信息为所述描述信息缓存池中在所述目标时间位置之前且与所述目标时间位置最近的索引块描述信息;如果查找到所述第一索引块描述信息,则所述描述信息缓存池中查找第二索引块描述信息,其中,所述第二索引块描述信息为所述描述信息缓存池中在所述目标时间位置之后且与所述目标时间位置最近的索引块描述信息;如果查找到所述第二索引块描述信息,则获取位于所述第二索引块描述信息和所述第一索引块描述信息正中间的索引块的位置,并将所述正中间的索引块作为所述目标索引块。

进一步地,如果没有查找到所述第一索引块描述信息,则下载索引文件中的最后一个索引块,并通过二分查找法在所述最后一个索引块和所述正中间的索引块之间查找所述目标索引块,直至查找到所述目标索引块;如果没有查找到所述第二索引块描述信息,则下载索引文件的第一个索引块,并通过二分查找法在所述第一个索引块和所述正中间的索引块之间查找所述目标索引块,直至查找到所述目标索引块。

进一步地,所述正中间的索引块的位置为所述第二索引块描述信息的位置和所述第一索引块描述信息的位置相加再除以二所得到的。

进一步地,所述方法还包括:从所述目标索引块中获取与所述目标时间位置最近的关键帧字节位置;扫描边缘流媒体服务器的本地ts内容,如果所述边缘流媒体服务器的本地ts内容中存在所述目标ts内容,则在所述边缘流媒体服务器的本地ts内容中定位所述最近的关键帧字节位置;将所述边缘流媒体服务器的本地ts内容中与所述最近的关键帧字节位置相对应的位置作为所述目标ts内容位置,并将所述目标ts内容位置对应的所述目标ts内容发送给终端。

进一步地,所述方法还包括:如果所述边缘流媒体服务器的本地ts内容中不存在所述目标ts内容,则从cdn中心源内容存储装置中查找并下载与所述最近的关键帧字节位置相对应的ts内容;扫描下载的所述ts内容,从所述ts内容中查找与所述目标ts内容位置相对应的目标ts内容;将所述相对应的目标ts内容发送给终端。

根据本发明实施例,还提供了一种ts流媒体定位的装置,所述ts流媒体定位的装置包括:获取单元,用于获取用户发送的定位播放请求,所述定位播放请求中包括所请求播放的目标ts内容的内容名称和所述目标ts内容的目标时间位置,所述目标时间位置为所述目标ts内容请求播放时间的时间位置;查找下载单元,用于如果在描述信息缓存池中未查找到包含所述目标时间位置的索引块描述信息,则通过二分查找法查找下载目标索引块,其中,所述目标索引块为包含所述目标时间位置的索引块;查找定位单元,用于基于所述目标索引块确定与所述目标时间位置最近的关键帧字节位置,并根据所述最近的关键帧字节位置查找所述目标ts内容的内容位置。

进一步地,所述查找定位单元包括:解析模块,用于解析所述目标索引块,得到所述目标索引块的索引块描述信息,其中,所述索引块描述信息包括起始关键帧时间位置和结束关键帧时间位置;查找定位模块,用于基于所述索引块描述信息获取与所述目标时间位置最近的关键帧字节位置,进而根据所述最近的关键帧字节位置查找所述目标ts内容的内容位置。

在本发明实施例中,首先,获取用户发送的定位播放请求,然后,如果在描述信息缓存池中未查找到包含目标时间位置的索引块描述信息,则通过二分查找法查找下载目标索引块,最后,基于目标索引块确定与目标时间位置最近的关键帧字节位置,并根据最近的关键帧字节位置查找目标ts内容的内容位置。在本发明实施例中,通过该增量分段式下载ts内容索引的方法,达到了能够快速并准确的定位ts内容的目的,进而解决了现有的流媒体定位技术在对较大的ts内容进行定位时,所需要的定位时间较长的技术问题,从而实现了既能准确定位ts内容的目标位置,又能快速定位ts内容的目标位置的技术效果。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例提供的一种ts流媒体定位的方法流程图;

图2是根据本发明实施例提供的一种cdn系统的结构示意图;

图3是根据本发明实施例提供的一种索引块描述信息的结构图;

图4是根据本发明实施例提供的一种通过二分查找法查找下载目标索引块的方法流程图;

图5是根据本发明实施例提供的一种通过目标时间位置获取索引关键帧字节位置的定位流程的流程图;

图6是根据本发明实施例提供的一种通过目标时间位置获取索引关键帧字节位置的实施案例的示意图;

图7是根据本发明实施例提供的一种基于目标ts内容的内容位置查找目标ts内容的流程图;

图8是根据本发明实施例提供的一种ts流媒体定位的装置的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一:

图1是根据本发明实施例提供的一种ts流媒体定位的方法流程图,该ts流媒体定位的方法应用于cdn系统中,如图1所示,包括:

步骤s102,获取用户发送的定位播放请求,其中,定位播放请求中包括所请求播放的目标ts内容的内容名称和所述目标ts内容的目标时间位置,该目标时间位置为目标ts内容请求播放时间的时间位置。

步骤s104,如果在描述信息缓存池中未查找到包含目标时间位置的索引块描述信息,则通过二分查找法查找下载目标索引块,其中,目标索引块为包含目标时间位置的索引块。

步骤s106,基于目标索引块确定与目标时间位置最近的关键帧字节位置,并根据最近的关键帧字节位置查找目标ts内容的内容位置。

在本发明实施例中,用户终端向cdn系统发送定位播放ts视频内容请求的定位播放请求,该定位播放请求中携带了待播放ts视频内容的目标时间位置。其中,cdn系统包括cdn中心源内容存储装置和cdn边缘流媒体服务器。cdn中心源内容存储装置可提供ts源内容的存储以及ts索引的生成;cdn边缘流媒体服务器可提供ts内容的下载、缓存、定位以及推流,为终端用户提供流媒体服务。图2即为根据本发明实施例提供的一种cdn系统的结构示意图。

在本发明实施例中,首先,获取用户发送的定位播放请求,然后,如果在描述信息缓存池中未查找到包含目标时间位置的索引块描述信息,则通过二分查找法查找下载目标索引块,最后,基于目标索引块确定与目标时间位置最近的关键帧字节位置,并根据最近的关键帧字节位置查找目标ts内容的内容位置。在本发明实施例中,通过该增量分段式下载ts内容索引的方法,达到了能够快速并准确的定位ts内容的目的,进而解决了现有的流媒体定位技术在对较大的ts内容进行定位时,所需要的定位时间较长的技术问题,从而实现了既能准确定位ts内容的目标位置,又能快速定位ts内容的目标位置的技术效果。

在一个可选的实施例中,基于目标索引块确定与目标时间位置最近的关键帧字节位置,并根据最近的关键帧字节位置查找目标ts内容的内容位置包括:

解析目标索引块,得到目标索引块的索引块描述信息,其中,索引块描述信息包括索引起始关键帧时间位置和索引结束关键帧时间位置;

基于索引块描述信息获取与目标时间位置最近的关键帧字节位置,进而根据最近的关键帧字节位置查找目标ts内容的内容位置。

具体地,索引块描述信息包括以下至少之一:索引起始关键帧时间位置、索引结束关键帧时间位置、索引字节偏移位置和索引块长度。

图3是根据本发明实施例提供的一种索引块描述信息的结构图。在本发明实施例中,如图3所示,索引块描述信息结构包括索引字节偏移位置、索引起始关键帧时间位置、索引结束关键帧时间位置和索引块长度,其中,索引字节偏移位置,是指索引块相对索引文件起始位置的字节偏移位置,是索引块固定大小的整数倍;索引起始关键帧时间位置,是索引块内第一个关键帧的pts(presentationtimestamp,显示时间戳)时间差信息,相对索引文件第一个索引块第一个关键帧的pts的差值;索引结束关键帧时间位置,是索引块内最后一个关键帧的pts时间差信息,相对索引文件第一个索引块第一个关键帧的pts的差值。

在本发明实施例中,通过该增量分段式下载ts内容索引的方法,达到了能够快速并准确的定位ts内容的目的,进而解决了现有的流媒体定位技术在对较大的ts内容进行定位时,所需要的定位时间较长的技术问题,从而实现了既能准确定位ts内容的目标位置,又能快速定位ts内容的目标位置的技术效果。

图4是根据本发明实施例提供的一种通过二分查找法查找下载目标索引块的方法流程图。

在一个可选的实施例中,如图4所示,通过二分查找法查找下载目标索引块包括如下步骤:

步骤s401,从描述信息缓存池中查找第一索引块描述信息,其中,第一索引块描述信息为描述信息缓存池中在目标时间位置之前且与目标时间位置最近的索引块描述信息。

在本发明实施例中,cdn边缘流媒体服务器中的索引定位单元将索引文件分成固定大小的n个块,即上述索引块,并采用一个缓存池记录已经被缓存单元缓存的索引块的描述信息,该缓存池即上述描述信息缓存池。

步骤s402,如果查找到所第一索引块描述信息,则从描述信息缓存池中查找第二索引块描述信息,其中,第二索引块描述信息为描述信息缓存池中在目标时间位置之后且与目标时间位置最近的索引块描述信息。

步骤s403,如果查找到第二索引块描述信息,则获取位于第二索引块描述信息和第一索引块描述信息正中间的索引块的位置,并将正中间的索引块作为目标索引块。

步骤s404,如果没有查找到第一索引块描述信息,则下载索引文件中的最后一个索引块,并通过二分查找法在最后一个索引块和正中间的索引块之间查找目标索引块,直至查找到目标索引块;

步骤s405,如果没有查找到第二索引块描述信息,则下载索引文件的第一个索引块,并通过二分查找法在第一个索引块和正中间的索引块之间查找目标索引块,直至查找到目标索引块。

具体地,正中间的索引块的位置为第二索引块描述信息的位置和第一索引块描述信息的位置相加再除以二所得到的。

在本发明实施例中,通过该增量分段式下载ts内容索引的方法,达到了能够快速并准确的定位ts内容的目的,进而解决了现有的流媒体定位技术在对较大的ts内容进行定位时,所需要的定位时间较长的技术问题,从而实现了既能准确定位ts内容的目标位置,又能快速定位ts内容的目标位置的技术效果。

下面以一个具体的例子来说明上述通过目标时间位置获取索引关键帧字节位置的定位流程。

图5是根据本发明实施例提供的一种通过目标时间位置获取索引关键帧字节位置的定位流程的流程图。

如图5所示,通过目标时间位置获取索引关键帧字节位置的定位流程包括如下步骤:

步骤s501,接收到客户端目标时间位置seek_npt,其中,seek_npt位置为时间偏移位置。

步骤s502,判断索引块描述信息缓存池中是否包含seek_npt位置,查找索引块描述信息缓存池,找到索引起始关键帧时间位置小于seek_npt以及索引结束关键帧时间位置大于seek_npt的索引块描述信息。

步骤s503,如果能找到该索引块描述信息,则结束查找,进入ts位置定位流程。

步骤s504,如果没有找到包含seek_npt位置的索引块描述信息,则通过二分查找法查找,步骤s5041至步骤s5045即为二分查找法的流程。

步骤s5041,从索引块描述信息缓存池中找离seek_npt位置左边最近的索引块描述信息min_block(即,上述图4中的第一索引块描述信息),根据索引块描述信息中的结束关键帧时间位置和seek_npt进行比较。

步骤s5042,如果seek_npt左边没有找到索引块描述信息,则获取索引文件的第一个索引块作为待下载的索引块,进而继续步骤s505。

具体来说,第一个索引块的块编号为0,索引块起始字节偏移位置为0,下载的长度即为索引块的大小,交给索引下载单元下载索引块。

步骤s5043,如果seek_npt左边找到最近索引块描述信息,则从索引块描述信息缓存池中找离seek_npt位置右边最近的索引块描述信息max_block(即,上述图4中的第二索引块描述信息),根据索引块描述信息中的起始关键帧时间位置和seek_npt进行比较。

步骤s5044,如果seek_npt右边没有找到索引块描述信息,则获取索引文件的最后一个索引块作为待下载的索引块,进而继续步骤ss505。

具体来说,最后一个索引块的起始字节偏移位置为块编号*块固定大小,下载的长度即为最后一个索引块的长度(最后一个索引块的长度可能不够一个索引块固定大小),交给索引下载单元下载索引块。

步骤s5045,如果seek_npt右边找到最近索引块描述信息,则获取max_block和min_block正中间索引块的位置(即,上述图4中位于第二索引块描述信息和第一索引块描述信息正中间的索引块的位置),进而继续步骤s505。

其中,首先计算中间索引块块编号,mid_block块编号=(max_block的块编号+min_block块编号)/2,mid_block起始字节偏移位置为mid_block块编号*块固定大小,下载的长度即为索引块长度,交给索引下载单元下载索引块。

步骤s505,下载索引块,获取索引块起始字节偏移位置作为下载起始位置,获取下载长度,从cdn中心源内容装置下载索引内容。

步骤s506,解析索引块,由cdn边缘流媒体服务器索引解析单元完成,解析完成后将解析的索引内容交给缓存单元进行缓存。

步骤s507,缓存索引块描述信息,解析出索引块的第一个关键帧时间位置,作为起始关键帧位置,索引块的最后一个关键帧时间位置,作为结束关键帧位置,索引块编号*索引块固定大小作为索引块起始下载位置,将索引块的三个参数描述信息保存在缓存中。

返回执行步骤s502,即继续判断索引块描述信息缓存池中是否包含seek_npt位置,循环执行,直到定位到索引关键帧字节位置seek_offset为止,退出定位流程。

图6是根据本发明实施例提供的一种通过目标时间位置获取索引关键帧字节位置的实施案例的示意图。

如图6所示,首先,下载编号为0的索引块(即,上述图5中步骤s5042中的第一个索引块),解析索引块,获取索引头,其中,索引头都在第1个索引块中,解析索引头,获取索引文件当前大小,假如索引文件大小为2592kbytes,根据索引文件当前大小对索引进行切块,如每个索引块固定大小64kbytes,切分成41个块,最后一个编号为40的块(即,上述图5中步骤s5044中的块编号*块的索引块)大小不够64kbytes,只有32kbytes大小,seek_npt为用户第一次目标时间位置,now为当前ts内容结束时间位置。

通过图5所示的索引关键帧定位方法,依次下载的索引块编号为0,40,20(即,上述图5中描述的正中间的索引块),图6中所示的编号为0、20、40的索引块即为需要下载的块,编号为20的索引块包含目标时间位置,获取到关键帧字节位置seek_offset。

在本发明实施例中,索引结构用于描述索引文件,包括索引头和索引记录信息,其中,索引头包含ts码率、倍速、时长、大小等信息;索引记录信息包含ts各视频帧(i帧、p帧、b帧)、pcr等索引记录信息,该记录信息中还包括ts字节偏移位置、解码时间戳dts(decodingtimestamp)、显示时间戳pts(presentationtimestamp)、节目时钟参考pcr(programclockreference)等信息。

在本发明实施例中,通过该增量分段式下载ts内容索引的方法,达到了能够快速并准确的定位ts内容的目的,进而解决了现有的流媒体定位技术在对较大的ts内容进行定位时,所需要的定位时间较长的技术问题,从而实现了既能准确定位ts内容的目标位置,又能快速定位ts内容的目标位置的技术效果。

图7是根据本发明实施例提供的一种基于目标ts内容的内容位置查找目标ts内容的流程图。

在一个可选的实施例中,如图7所示,查找目标ts内容的流程包括如下步骤:

步骤s701,从目标索引块中获取与目标时间位置最近的关键帧字节位置。

步骤s702,扫描边缘流媒体服务器的本地ts内容。

步骤s703,判断边缘流媒体服务器的本地ts内容是否存在目标ts内容。

步骤s704,如果判断出是,则在边缘流媒体服务器的本地ts内容中定位该最近的关键帧字节位置。

步骤s705,将边缘流媒体服务器的本地ts内容中与最近的关键帧字节位置相对应的位置作为目标ts内容位置,进而继续执行步骤s708。

步骤s706,如果判断出否,则从cdn中心源内容存储装置中查找并下载与最近的关键帧字节位置相对应的ts内容;

步骤s707,扫描该下载的ts内容,从该ts内容中查找与目标ts内容位置相对应的目标ts内容;

步骤s708,将与目标ts内容位置相对应的ts内容发送给终端。

在本发明实施例中,首先从目标索引块中获取与目标时间位置最近的关键帧字节位置,然后扫描边缘流媒体服务器的本地ts内容,如果边缘流媒体服务器的本地ts内容中存在目标ts内容,则在边缘流媒体服务器的本地ts内容中定位该最近的关键帧字节位置,进而从该位置将目标ts内容发送给终端;如果边缘流媒体服务器的本地ts内容中不存在目标ts内容,则从cdn中心源内容存储装置中查找并下载与最近的关键帧字节位置相对应的ts内容,扫描该下载的ts内容,从该ts内容中查找与目标ts内容位置相对应的目标ts内容,进而将该目标ts内容发送给终端。

在本发明实施例中,cdn中心源内容存储装置包括:ts文件注入单元、索引生成单元和推流单元,其中,ts文件注入单元用于接收媒资系统ts内容的注入,将ts内容存储到本地,并对内容进行管理,ts内容包括实时内容和非实时内容,实时内容提供直播、时移、回看业务,非实时内容提供点播业务;索引生成单元用于为ts内容生成索引文件,索引文件描述了ts内容的时长、大小、编码类型以及ts各视频帧在ts文件中的偏移位置等信息;推流单元用于接收cdn边缘流媒体服务器的下载ts或索引请求,将ts内容或索引推送到边缘流媒体服务器。

在本发明实施例中,cdn边缘流媒体服务器包括:ts/索引下载单元、ts/索引缓存单元、索引解析单元、索引定位单元、ts定位单元和推流单元。

ts/索引下载单元,用于支持ts下载和索引下载,ts下载即从中心源内容存储装置下载ts内容,并将ts内容切片缓存到缓存单元;索引下载即从中心源内容存储装置下载索引内容,并将索引内容交给索引解析单元进行解析。

索引缓存单元,用于缓存索引解析单元解析索引后的索引内容。

索引解析单元,用于接收索引下载单元的下载内容,按照索引结构解析索引,并将解析后的索引内容通过缓存单元进行缓存,解析后的索引内容包括索引头和索引记录信息,索引记录信息中包括ts关键帧的信息。

索引定位单元,用于接收ts定位单元的查找关键帧位置的请求,索引定位单元通过目标时间位置在索引块描述信息缓存池中查找是否有包含请求目标时间的索引块描述信息,如包含,则索引定位单元直接从缓存单元找到请求目标时间最近的关键帧字节位置,如不包含,则通过二分查找算法,查找到需要下载的索引块,得到索引块的索引字节偏移位置、索引块长度,通过索引下载单元下载该索引块,解析索引块的索引,并将解析后的内容通过缓存单元进行缓存,且将索引块描述信息记录到索引块描述信息缓存池中,索引定位单元继续通过请求目标时间从索引块描述信息缓存池中定位包含请求目标时间的索引块,重复多次执行,直到找到关键帧字节位置。

ts定位单元,用于接收终端用户的定位播放请求,获取到目标时间位置,从索引中定位目标时间位置附近的关键帧字节位置,再通过关键帧字节位置从本地查找目标ts文件,即最终目标字节位置。若本地边缘节点没有,则通过ts下载单元向cdn中心节点下载关键帧字节位置。

推流单元,用于从ts定位单元定位到的ts关键帧位置开始发送ts数据给终端用户,提供终端用户播放服务。

在本发明实施例中,首先,获取用户发送的定位播放请求,然后,如果在描述信息缓存池中未查找到包含目标时间位置的索引块描述信息,则通过二分查找法查找下载目标索引块,最后,基于目标索引块确定与目标时间位置最近的关键帧字节位置,并根据最近的关键帧字节位置查找目标ts内容的内容位置。在本发明实施例中,通过该增量分段式下载ts内容索引的方法,达到了能够快速并准确的定位ts内容的目的,进而解决了现有的流媒体定位技术在对较大的ts内容进行定位时,所需要的定位时间较长的技术问题,从而实现了既能准确定位ts内容的目标位置,又能快速定位ts内容的目标位置的技术效果。

实施例二:

本发明实施例还提供了一种ts流媒体定位的装置,该ts流媒体定位装置主要用于执行本发明实施例上述内容所提供的ts流媒体定位的方法,以下对本发明实施例提供的ts流媒体定位的装置做具体介绍。

图8是根据本发明实施例提供的一种ts流媒体定位的装置的示意图,如图8所示,该ts流媒体定位装置主要包括获取单元10,查找下载单元20,查找定位单元30,其中:

获取单元10,用于获取用户发送的定位播放请求,定位播放请求中包括所请求播放的目标ts内容的内容名称和所述目标ts内容的目标时间位置,目标时间位置为目标ts内容请求播放时间的时间位置;

查找下载单元20,用于如果在描述信息缓存池中未查找到包含目标时间位置的索引块描述信息,则通过二分查找法查找下载目标索引块,其中,目标索引块为包含目标时间位置的索引块;

查找定位单元30,用于基于目标索引块确定与目标时间位置最近的关键帧字节位置,并根据最近的关键帧字节位置查找目标ts内容的内容位置。

可选地,查找定位单元包括:解析模块,用于解析目标索引块,得到目标索引块的索引块描述信息,其中,索引块描述信息包括起始关键帧时间位置和结束关键帧时间位置;查找定位模块,用于基于索引块描述信息获取与目标时间位置最近的关键帧字节位置,进而根据最近的关键帧字节位置查找目标ts内容的内容位置。

在本发明实施例中,首先,获取用户发送的定位播放请求,然后,如果在描述信息缓存池中未查找到包含目标时间位置的索引块描述信息,则通过二分查找法查找下载目标索引块,最后,基于目标索引块确定与目标时间位置最近的关键帧字节位置,并根据最近的关键帧字节位置查找目标ts内容的内容位置。在本发明实施例中,通过该增量分段式下载ts内容索引的方法,达到了能够快速并准确的定位ts内容的目的,进而解决了现有的流媒体定位技术在对较大的ts内容进行定位时,所需要的定位时间较长的技术问题,从而实现了既能准确定位ts内容的目标位置,又能快速定位ts内容的目标位置的技术效果。

本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1