CN105451098A - 一种提供多媒体文件的方法与装置 - Google Patents
一种提供多媒体文件的方法与装置 Download PDFInfo
- Publication number
- CN105451098A CN105451098A CN201410403347.0A CN201410403347A CN105451098A CN 105451098 A CN105451098 A CN 105451098A CN 201410403347 A CN201410403347 A CN 201410403347A CN 105451098 A CN105451098 A CN 105451098A
- Authority
- CN
- China
- Prior art keywords
- logic section
- multimedia file
- data
- logic
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明的目的是提供一种提供多媒体文件的方法与装置。其中,本发明通过接收用户对多媒体文件的获取请求,并根据该获取请求来获取并向用户提供该多媒体文件的逻辑分段的属性信息,以供用户在至少接收到一个逻辑分段时可进行播放,其中,每个逻辑分段由该多媒体文件映射获得且包括该多媒体文件的一部分头部数据和与该部分头部数据对应的内容数据。根据本发明的方案,一方面,其通过提供多媒体文件的逻辑分段,减小了多媒体文件进入可播放状态所需传输的数据量,进而减少了缓冲时间;另一方面,由于每个逻辑分段中包括多媒体文件的一部分头部数据和该部分头部数据所对应的内容数据,使得用户在接收到一个逻辑分段时即可进行播放。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种提供多媒体文件的技术。
背景技术
当前,存在一些格式的多媒体文件,这些格式的多媒体文件包含头部数据和内容数据,如MP4文件等非流媒体格式的文件。MP4是一种视频文件格式,在视频领域,尤其是在线视频播放应用中,有着举足轻重的地位。其中,头部数据包含编解码信息,每一帧的大小、解码时间戳(DecodingTimeStamp,DTS)、显示时间戳(PresentationTimeStamp,PTS),内容数据包含所有音频和视频的帧数据。在对多媒体文件进行解析时,用户设备需要先获得文件的头部数据,再根据头部数据来解析内容数据,以实现播放。
现有技术中,服务器一般向用户设备提供多媒体文件中完整的头部数据以及内容数据,接着,用户设备根据所获取的完整的头部数据,来解析内容数据,进而播放多媒体文件。然而,这种提供多媒体文件的方式,由于完整的头部数据较大,缓冲时间长,不利于用户的观看体验。例如,如果多媒体文件中完整的头部数据大小为5MB,用户下载的速率为200KB/秒,用户设备需25秒来获取多媒体文件中完整的头部数据。
发明内容
本发明的目的是提供一种提供多媒体文件的方法与装置。
根据本发明的一个方面,提供了一种提供多媒体文件的方法,该方法包括:
a接收用户对多媒体文件的获取请求;
b根据所述获取请求,获取所述多媒体文件的逻辑分段的属性信息,其中,每个逻辑分段由所述多媒体文件映射获得且包括所述多媒体文件的一部分头部数据和与该部分头部数据对应的内容数据;
c向所述用户提供所述多媒体文件的逻辑分段的属性信息,以供所述用户在接收到至少一个逻辑分段时可进行播放。
根据本发明的另一个方面,还提供了一种提供多媒体文件的装置,该装置包括:
请求接收装置,用于接收用户对多媒体文件的获取请求;
属性获取装置,用于根据所述获取请求,获取所述多媒体文件的逻辑分段的属性信息,其中,每个逻辑分段由所述多媒体文件映射获得且包括所述多媒体文件的一部分头部数据和与该部分头部数据对应的内容数据;
数据提供装置,用于向所述用户提供所述多媒体文件的逻辑分段的属性信息,以供所述用户在接收到至少一个逻辑分段时可进行播放。
与现有技术相比,本发明通过接收用户对多媒体文件的获取请求,并根据该获取请求来获取并向用户提供该多媒体文件的逻辑分段的属性信息,以供用户在至少接收到一个逻辑分段时可进行播放,其中,每个逻辑分段由该多媒体文件映射获得且包括该多媒体文件的一部分头部数据和与该部分头部数据对应的内容数据。根据本发明的方案,一方面,其通过提供多媒体文件的逻辑分段,减小了多媒体文件进入可播放状态所需传输的数据量,进而减少了缓冲时间;另一方面,由于每个逻辑分段中包括多媒体文件的一部分头部数据和该部分头部数据所对应的内容数据,使得用户在接收到一个逻辑分段时即可进行播放。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个实施例的一种提供多媒体文件的方法的流程图;
图2示出根据本发明另一个实施例的一种提供多媒体文件的装置的示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
本发明中多媒体文件的提供通过用户设备、网络设备的交互来实现。具体地,网络设备接收用户对多媒体文件的获取请求;接着,网络设备根据该获取请求,获取该多媒体文件的逻辑分段的属性信息,其中,每个逻辑分段由该多媒体文件映射获得且包括该多媒体文件的一部分头部数据和该部分头部数据所对应的内容数据;随后,网络设备向用户提供该逻辑分段的属性信息,以供用户在至少接收到一个逻辑分段时可进行播放。
在此,所述用户设备包括但不限于任何一种可与用户通过键盘、触摸板、触摸屏以及声控设备等输入设备进行人机交互的电子产品,例如计算机、手机、智能手机、PDA、平板电脑等。
在此,所述网络设备包括但不限于网络主机、单个网络服务器、多个网络服务器集合或多个服务器构成的云。在此,云由基于云计算(CloudComputing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集合组成的一个超级虚拟计算机。
进一步地,本发明中,网络设备可作为整体,或由其中部分网络主机/服务器,甚至装置于一个或多个网络主机/服务器中的特定装置,如逻辑分段提供装置,来与用户设备进行交互并基于逻辑分段提供多媒体文件。如无特别说明,本文中网络设备与逻辑分段提供装置等同使用。
图1为根据本发明一个实施例的方法流程图,示出一种网络设备向用户提供多媒体文件的过程。如图1所示,在步骤S1中,网络设备1接收用户对多媒体文件的获取请求;在步骤S2中,网络设备1根据该获取请求,获取该多媒体文件的逻辑分段的属性信息,其中,每个逻辑分段由该多媒体文件映射获得且包括该多媒体文件的一部分头部数据和与该部分头部数据对应的内容数据;在步骤S3中,网络设备1向该用户提供该多媒体文件的逻辑分段的属性信息,以供该用户在接收到至少一个逻辑分段时可进行播放。
具体地,在步骤S1中,网络设备1接收用户对多媒体文件的获取请求。
其中,所述多媒体文件包括但不限于MP4等格式的多媒体文件,这些格式的文件包括头部数据和内容数据,且需根据头部数据来解析内容数据,以实现播放;其中,头部数据包含编解码信息,每一帧的大小、解码时间戳(DecodingTimeStamp,DTS)、显示时间戳(PresentationTimeStamp,PTS),内容数据包含所有音频和视频的帧数据。。
为简单起见,以下将以MP4文件为例,进行具体实施例的阐述。
多媒体文件的获取请求中包括但不限于MP4文件的标识信息,诸如MP4文件的文件名称、文件ID等。
在步骤S2中,网络设备1根据用户对多媒体文件的获取请求,获取所请求多媒体文件的逻辑分段的属性信息,其中,每个逻辑分段由该多媒体文件映射获得且包括该多媒体文件的一部分头部数据和一部分内容数据,该部分内容数据对应于该部分头部数据。
在此,每个逻辑分段包括MP4文件的一部分头部数据和该部分头部数据所对应的内容数据。每个逻辑分段中的头部数据和内容数据对应于相同部分的帧,例如,头部数据指示这部分帧中每一帧的大小、解码时间戳、显示时间戳,内容数据包含具体的这部分帧。
在此,逻辑分段是对多媒体文件中部分头部数据和内容数据的映射,其通过对多媒体文件的逻辑切分来获得。逻辑切分并非将MP4文件从事实上切分为多个更小的文件来分别地进行存储,而是仅确定每个逻辑分段所各自对应的MP4文件的一部分头部数据和一部分内容数据,因而不会改变所存储的MP4文件。
其中,对MP4文件进行逻辑切分的方式包括但不限于以下2种:
1)按照预定的时长。
例如,MP4文件被按照预定的时长进行逻辑切分,如按照30秒时长来切分一MP4文件以获得其中每个逻辑分段所分别对应的内容数据,进而获得每个逻辑分段的内容数据所对应的头部数据,以将该MP4文件映射为多个逻辑分段。
2)按照预定的数据大小。
例如,MP4文件被按照预定的数据大小进行逻辑切分,如按照数据量1MB来切分一MP4文件以获得其中每个逻辑分段所分别对应的内容数据,进而获得每个逻辑分段的内容数据所对应的头部数据,以将该MP4文件映射为多个逻辑分段。具体如,每个逻辑分段所对应的内容数据大小为1MB,当由网络设备1对一MP4文件进行逻辑切分时,网络设备1可先确定该MP4文件中内容数据的多个待切分位置,其中,两个相邻的待切分位置之间的数据量为1MB;接着,网络设备1确定与其中每个待切分位置的距离最近的IDR帧的位置,以获得多个IDR帧的位置;随后,网络设备1根据这些IDR帧的位置,将该MP4文件的内容数据进行逻辑切分,并获得与逻辑切分后的每段内容数据分别对应的头部数据,从而将该MP4文件映射为多个逻辑分段。
在此,一个多媒体文件的逻辑分段的属性信息例如可以表现为一个逻辑分段列表,该列表中的每条记录对应一个逻辑分段,每条记录中的属性信息包括但不限于以下2项:
1)逻辑分段的起止时间,如逻辑分段1起于0分00秒,止于0分30秒;逻辑分段2起于0分31秒,止于1分00秒;逻辑分段3起于1分01秒,止于1分30秒……以此类推。
2)逻辑分段的大小,如逻辑分段1为986KB,逻辑分段2为1025KB,逻辑分段3为1032KB……以此类推。
在此,网络设备1获得逻辑分段的属性信息的方式包括但不限于以下2种:
1)网络设备1查询一逻辑分段信息库来获得用户所请求多媒体文件的逻辑分段的属性信息。
在此,该逻辑分段信息库中保存有多个多媒体文件的逻辑分段的属性信息。并且,该逻辑分段信息库可以是网络设备1预先建立的,也可以是其他第三方设备建立并可供网络设备1访问的。
例如,当由网络设备1来建立逻辑分段信息库,在步骤S1之前,网络设备1可预先对多个MP4文件进行逻辑切分,以获得其中每个MP4文件的多个逻辑分段,每个逻辑分段包括相应MP4文件的一部分头部数据和该部分头部数据所对应的内容数据,进而根据每个MP4文件的多个逻辑分段,获得其逻辑分段的属性信息,并存储于该逻辑分段信息库。随后,当网络设备1接收到用户对MP4文件的获取请求后,网络设备1根据该MP4文件的标识信息,通过查询该逻辑分段信息库来获取该MP4文件的逻辑分段的属性信息。
2)网络设备1实时地对用户所请求的多媒体文件进行逻辑切分,接着,网络设备1根据切分后的逻辑分段,来获得该多媒体文件的逻辑分段的属性信息。
例如,网络设备1可根据获取请求中MP4文件的标识信息,通过在MP4文件数据库中进行查询,来获取用户所请求的MP4文件。
接着,网络设备1对该MP4文件进行逻辑切分,以获取该MP4文件的多个逻辑分段,其中,每个逻辑分段包括该MP4文件的一部分头部数据和一部分内容数据,该部分头部数据与该部分内容数据相对应。
优选地,网络设备1还可结合用户设备的下载速率,实时地确定每个逻辑分段的切分粒度。当下载速率较低时,网络设备1可采用较小的切分粒度;当下载速率较高时,网络设备1可采用较大的切分粒度。
例如,当下载速率小于200KB/秒时,网络设备1可按照每个逻辑分段15秒、或每个逻辑分段1MB来进行逻辑切分;当下载速率大于500KB/秒时,网络设备1可按照每个逻辑分段30秒、或每个逻辑分段2MB来进行逻辑切分。
随后,网络设备1根据切分所获得的该MP4文件的多个逻辑分段,获得该MP4文件的逻辑分段的属性信息。
在步骤S3中,网络设备1向用户提供其所请求多媒体文件的逻辑分段的属性信息,以供该用户的用户设备2在接收到至少一个逻辑分段时可进行播放。
相应地,用户设备2接收网络设备1发送的该多媒体文件的逻辑分段的属性信息。在网络设备1向用户设备2提供多媒体文件的逻辑分段的属性信息的同时/之后,网络设备1还向用户设备2提供该多媒体文件的各逻辑分段。
在此,根据用户的不同观看需求,网络设备1提供MP4文件的逻辑分段的方式包括但不限于以下3种:
1)网络设备1可顺序地向用户设备2提供MP4文件的各逻辑分段。
例如,当用户正常观看一MP4文件时,网络设备1逐个地向用户设备2提供逻辑分段1、逻辑分段2、逻辑分段3……以此类推,直至用户设备2获得该MP4文件的所有逻辑分段并播放完毕。并且,由于每个逻辑分段中已包含可独立解析的头部数据和内容数据,用户设备2在获取逻辑分段1后,即可播放该MP4文件。
在此,需要说明的是,本领域技术人员应能理解,尽管网络设备顺序地向用户设备提供MP4文件的各逻辑分段,但由于网络传输的原因,这些逻辑分段可能并非顺序到达用户设备,这并不会影响本发明的效果。对于MP4等格式的文件,用户设备通常需要获得完整的文件头部数据后,才能解析文件的内容数据来进行播放,然而,根据本发明的方案,用户设备在获得任一个逻辑分段后均可播放该逻辑分段,从而用户设备在获得逻辑分段1后即可播放相应MP4文件的开始部分,有效减少了开始部分的缓冲时间。并且,当逻辑分段足够小而不会较多地受到网络延迟的影响时,即使各逻辑分段无法顺序到达用户设备,在前n个逻辑分段的播放过程中,用户设备也应已收到顺序相连的m个后续逻辑分段,从而不会造成播放过程的卡顿。
2)网络设备1可根据用户所指定的逻辑分段,来获取并向用户设备2提供该指定逻辑分段。
例如,在一MP4文件的播放过程中,用户可能希望观看该MP4文件尚未播放的内容,如用户拖动播放进度条上的时间指针,从而播放内容跳转到该MP4文件后面部分的内容。对此,当用户拖动时间指针时,用户设备2确定该时间指针停放位置所对应的时间点,并查询逻辑分段的属性信息来确定该时间点所对应的逻辑分段,如用户拖放时间指针至时间点“3分50秒”,而逻辑分段8的起止时间为3分31秒-4分00秒,用户设备2可确定该时间点属于该逻辑分段8。可替代地,用户也可直接向用户设备2输入其希望跳转至的时间点或逻辑分段,从而用户设备2可确定用户所指定跳转的逻辑分段。随后,用户设备2向网络设备1发送该MP4文件的用户所指定逻辑分段的获取请求,如对逻辑分段8的获取请求,相应地,网络设备1接收该获取请求;接着,网络设备1获取该MP4文件的逻辑分段8,并提供给用户设备2。
用户设备2在获取用户指定的该逻辑分段后,即可进行播放。
在此之后,网络设备1可以向用户设备2顺序提供用户指定的该逻辑分段之后的各逻辑分段,以便用户可以从该逻辑分段继续观看。优选地,网络设备1还可继续向用户设备2提供该跳转的逻辑分段之前的尚未发送给用户设备2的其他逻辑分段,以便用户可以获得完整的该MP4文件,并可在用户希望跳转至这些之前的逻辑分段时减少响应时间。
此外,如果用户设备2不能缓存多媒体文件,这有时是出于版权保护的考虑,例如在后的逻辑分段会覆盖已播放的逻辑分段,或者逻辑分段在播放后即被丢弃。用户对播放内容的跳转不仅可以是如前述向在后内容的跳转,也可以是向在前内容的跳转;对于向前跳转,用户设备2仍需确定该跳转所对应的逻辑分段,以重新向网络设备1请求获取相应的逻辑分段。
3)网络设备1可根据用户对一逻辑分段中所指定的时间点,来获取并向用户提供该逻辑分段的部分数据。
在此,网络设备1可以精确地向用户提供其所指定的时间点所属逻辑分段中在该指定时间点之后的部分数据,其包括该逻辑分段中该指定时间点至该逻辑分段的终止时间点的区间所对应的头部数据和内容数据。
例如,与前例类似,当用户在播放过程中具有跳转需求时,如用户拖动播放进度条上的时间指针至一时间点或直接向用户设备2输入其希望跳转至的时间点,用户设备2向网络设备1发送对相应逻辑分段的该指点时间点的获取请求。在此,用户设备2可以根据用户指定的时间点确定其所属的逻辑分段,并将该逻辑分段以及该指定时间点包含在相应的获取请求中发送给网络设备1;或者,用户设备2直接将该指定时间点包含在获取请求中发送给网络设备1,以由网络设备1根据该指定时间点确定其所属的逻辑分段。从而,当网络设备1接收用户设备2对一逻辑分段的指定时间点的获取请求后,网络设备1根据该指定时间点及其所属的逻辑分段获取该逻辑分段中在该指定时间点之后的部分数据,即该指定时间点至该逻辑分段的终止时间点的时间区间所对应的头部数据和内容数据,如指定时间点为3分50秒,其所属的逻辑分段8的起止时间为3分31秒-4分00秒,网络设备1获取该逻辑分段8中3分50秒至4分00秒所对应的头部数据以及内容数据;随后,网络设备1向用户设备2提供该逻辑分段的这部分数据,用户设备2即可对这部分进行播放。
与上述第2)种方式相类似地,在此之后,网络设备1可以向用户设备2顺序提供用户指定的该时间点所属逻辑分段之后的各逻辑分段,以便用户可以从该指定时间点继续观看。优选地,网络设备1还可继续向用户设备2提供该跳转时间点之前的尚未发送给用户设备2的其他逻辑分段,包括该跳转时间点所属逻辑分段中尚未发送的部分数据,以便用户可以获得完整的该MP4文件,并可在用户希望跳转至这些之前的逻辑分段时减少响应时间。
此外,同样地,如果用户设备2不能缓存多媒体文件,这有时是出于版权保护的考虑,例如在后的逻辑分段会覆盖已播放的逻辑分段,或者逻辑分段在播放后即被丢弃。用户对播放内容的跳转不仅可以是如前述向在后内容的跳转,也可以是向在前内容的跳转;对于向前跳转,用户设备2仍需基于该指定的跳转时间点重新向网络设备1请求获取相应逻辑分段在该时间点之后的部分数据。
图2为根据本发明另一个实施例的装置示意图,示出一种在网络设备中向用户提供多媒体文件的装置,也即逻辑分段提供装置10。如图2所示,逻辑分段提供装置10装置于网络设备1中,逻辑分段提供装置10包括请求接收装置11、属性获取装置12和数据提供装置13。
具体地,请求接收装置11接收用户对多媒体文件的获取请求;属性获取装置12根据该获取请求,获取该多媒体文件的逻辑分段的属性信息,其中,每个逻辑分段由该多媒体文件映射获得且包括该多媒体文件的一部分头部数据和与该部分头部数据对应的内容数据;数据提供装置13向该用户提供该多媒体文件的逻辑分段的属性信息,以供该用户在接收到至少一个逻辑分段时可进行播放。
具体地,请求接收装置11接收用户对多媒体文件的获取请求。
其中,所述多媒体文件包括但不限于MP4等格式的多媒体文件,这些格式的文件包括头部数据和内容数据,且需根据头部数据来解析内容数据,以实现播放;其中,头部数据包含编解码信息,每一帧的大小、解码时间戳(DecodingTimeStamp,DTS)、显示时间戳(PresentationTimeStamp,PTS),内容数据包含所有音频和视频的帧数据。。
为简单起见,以下将以MP4文件为例,进行具体实施例的阐述。
多媒体文件的获取请求中包括但不限于MP4文件的标识信息,诸如MP4文件的文件名称、文件ID等。
随后,属性获取装置12根据用户对多媒体文件的获取请求,获取所请求多媒体文件的逻辑分段的属性信息,其中,每个逻辑分段由该多媒体文件映射获得且包括该多媒体文件的一部分头部数据和一部分内容数据,该部分内容数据对应于该部分头部数据。
在此,每个逻辑分段包括MP4文件的一部分头部数据和该部分头部数据所对应的内容数据。每个逻辑分段中的头部数据和内容数据对应于相同部分的帧,例如,头部数据指示这部分帧中每一帧的大小、解码时间戳、显示时间戳,内容数据包含具体的这部分帧。
在此,逻辑分段是对多媒体文件中部分头部数据和内容数据的映射,其通过对多媒体文件的逻辑切分来获得。逻辑切分并非将MP4文件从事实上切分为多个更小的文件来分别地进行存储,而是仅确定每个逻辑分段所各自对应的MP4文件的一部分头部数据和一部分内容数据,因而不会改变所存储的MP4文件。
其中,对MP4文件进行逻辑切分的方式包括但不限于以下2种:
1)按照预定的时长。
例如,MP4文件被按照预定的时长进行逻辑切分,如按照30秒时长来切分一MP4文件以获得其中每个逻辑分段所分别对应的内容数据,进而获得每个逻辑分段的内容数据所对应的头部数据,以将该MP4文件映射为多个逻辑分段。
2)按照预定的数据大小。
例如,MP4文件被按照预定的数据大小进行逻辑切分,如按照数据量1MB来切分一MP4文件以获得其中每个逻辑分段所分别对应的内容数据,进而获得每个逻辑分段的内容数据所对应的头部数据,以将该MP4文件映射为多个逻辑分段。具体如,每个逻辑分段所对应的内容数据大小为1MB,当由属性获取装置12或网络设备1中的其它特定装置对一MP4文件进行逻辑切分时,属性获取装置12或网络设备1中的其它特定装置可先确定该MP4文件中内容数据的多个待切分位置,其中,两个相邻的待切分位置之间的数据量为1MB;接着,属性获取装置12或网络设备1中的其它特定装置确定与其中每个待切分位置的距离最近的IDR帧的位置,以获得多个IDR帧的位置;随后,属性获取装置12或网络设备1中的其它特定装置根据这些IDR帧的位置,将该MP4文件的内容数据进行逻辑切分,并获得与逻辑切分后的每段内容数据分别对应的头部数据,从而将该MP4文件映射为多个逻辑分段。
在此,一个多媒体文件的逻辑分段的属性信息例如可以表现为一个逻辑分段列表,该列表中的每条记录对应一个逻辑分段,每条记录中的属性信息包括但不限于以下2项:
1)逻辑分段的起止时间,如逻辑分段1起于0分00秒,止于0分30秒;逻辑分段2起于0分31秒,止于1分00秒;逻辑分段3起于1分01秒,止于1分30秒……以此类推。
2)逻辑分段的大小,如逻辑分段1为986KB,逻辑分段2为1025KB,逻辑分段3为1032KB……以此类推。
在此,属性获取装置12获得逻辑分段的属性信息的方式包括但不限于以下2种:
1)属性获取装置12查询一逻辑分段信息库来获得用户所请求多媒体文件的逻辑分段的属性信息。
在此,该逻辑分段信息库中保存有多个多媒体文件的逻辑分段的属性信息。并且,该逻辑分段信息库可以是网络设备1预先建立的,也可以是其他第三方设备建立并可供网络设备1访问的。
例如,网络设备1还可以包括分段获取装置(图2中未示出)。当由网络设备1来建立逻辑分段信息库,在请求接收装置11执行其对应操作之前,分段获取装置可预先对多个MP4文件进行逻辑切分,以获得其中每个MP4文件的多个逻辑分段,每个逻辑分段包括相应MP4文件的一部分头部数据和该部分头部数据所对应的内容数据,进而根据每个MP4文件的多个逻辑分段,获得其逻辑分段的属性信息,并存储于该逻辑分段信息库。随后,当请求接收装置11接收到用户对MP4文件的获取请求后,属性获取装置12根据该MP4文件的标识信息,通过查询该逻辑分段信息库来获取该MP4文件的逻辑分段的属性信息。
2)属性获取装置12实时地对用户所请求的多媒体文件进行逻辑切分,接着,属性获取装置12根据切分后的逻辑分段,来获得该多媒体文件的逻辑分段的属性信息。
例如,属性获取装置12可根据获取请求中MP4文件的标识信息,通过在MP4文件数据库中进行查询,来获取用户所请求的MP4文件。
接着,属性获取装置12对该MP4文件进行逻辑切分,以获取该MP4文件的多个逻辑分段,其中,每个逻辑分段包括该MP4文件的一部分头部数据和一部分内容数据,该部分头部数据与该部分内容数据相对应。
优选地,属性获取装置12还可结合用户设备的下载速率,实时地确定每个逻辑分段的切分粒度。当下载速率较低时,属性获取装置12可采用较小的切分粒度;当下载速率较高时,属性获取装置12可采用较大的切分粒度。
例如,当下载速率小于200KB/秒时,属性获取装置12可按照每个逻辑分段15秒、或每个逻辑分段1MB来进行逻辑切分;当下载速率大于500KB/秒时,属性获取装置12可按照每个逻辑分段30秒、或每个逻辑分段2MB来进行逻辑切分。
随后,属性获取装置12根据切分所获得的该MP4文件的多个逻辑分段,获得该MP4文件的逻辑分段的属性信息。
接着,数据提供装置13向用户提供其所请求多媒体文件的逻辑分段的属性信息,以供该用户的用户设备2在接收到至少一个逻辑分段时可进行播放。
相应地,用户设备2接收网络设备1的数据提供装置13发送的该多媒体文件的逻辑分段的属性信息。在数据提供装置13向用户设备2提供多媒体文件的逻辑分段的属性信息的同时/之后,数据提供装置13或网络设备1中的其它特定装置还向用户设备2提供该多媒体文件的各逻辑分段。
在此,根据用户的不同观看需求,MP4文件的逻辑分段可至少以以下3种被提供给用户:
1)数据提供装置13或网络设备1中的其它特定装置可顺序地向用户设备2提供MP4文件的各逻辑分段。
例如,当用户正常观看一MP4文件时,数据提供装置13逐个地向用户设备2提供逻辑分段1、逻辑分段2、逻辑分段3……以此类推,直至用户设备2获得该MP4文件的所有逻辑分段并播放完毕。并且,由于每个逻辑分段中已包含可独立解析的头部数据和内容数据,用户设备2在获取逻辑分段1后,即可播放该MP4文件。
在此,需要说明的是,本领域技术人员应能理解,尽管网络设备顺序地向用户设备提供MP4文件的各逻辑分段,但由于网络传输的原因,这些逻辑分段可能并非顺序到达用户设备,这并不会影响本发明的效果。对于MP4等格式的文件,用户设备通常需要获得完整的文件头部数据后,才能解析文件的内容数据来进行播放,然而,根据本发明的方案,用户设备在获得任一个逻辑分段后均可播放该逻辑分段,从而用户设备在获得逻辑分段1后即可播放相应MP4文件的开始部分,有效减少了开始部分的缓冲时间。并且,当逻辑分段足够小而不会较多地受到网络延迟的影响时,即使各逻辑分段无法顺序到达用户设备,在前n个逻辑分段的播放过程中,用户设备也应已收到顺序相连的m个后续逻辑分段,从而不会造成播放过程的卡顿。
2)网络设备1还可以包括一指定分段提供装置(图2中未示出)。该指定分段提供装置可根据用户所指定的逻辑分段,来获取并向用户设备2提供该指定逻辑分段。
例如,在一MP4文件的播放过程中,用户可能希望观看该MP4文件尚未播放的内容,如用户拖动播放进度条上的时间指针,从而播放内容跳转到该MP4文件后面部分的内容。对此,当用户拖动时间指针时,用户设备2确定该时间指针停放位置所对应的时间点,并查询逻辑分段的属性信息来确定该时间点所对应的逻辑分段,如用户拖放时间指针至时间点“3分50秒”,而逻辑分段8的起止时间为3分31秒-4分00秒,用户设备2可确定该时间点属于该逻辑分段8。可替代地,用户也可直接向用户设备2输入其希望跳转至的时间点或逻辑分段,从而用户设备2可确定用户所指定跳转的逻辑分段。随后,用户设备2向网络设备1发送该MP4文件的用户所指定逻辑分段的获取请求,如对逻辑分段8的获取请求,相应地,网络设备1的请求接收装置11接收该获取请求;接着,网络设备1的指定分段提供装置响应于该获取请求,获取该MP4文件的逻辑分段8,并提供给用户设备2。
用户设备2在获取用户指定的该逻辑分段后,即可进行播放。
在此之后,网络设备1的数据提供装置13可以向用户设备2顺序提供用户指定的该逻辑分段之后的各逻辑分段,以便用户可以从该逻辑分段继续观看。优选地,数据提供装置13还可继续向用户设备2提供该跳转的逻辑分段之前的尚未发送给用户设备2的其他逻辑分段,以便用户可以获得完整的该MP4文件,并可在用户希望跳转至这些之前的逻辑分段时减少响应时间。
优选地,指定分段提供装置可以与数据提供装置13相互独立为两个分离的功能模块,也可以集成在一起。
此外,如果用户设备2不能缓存多媒体文件,这有时是出于版权保护的考虑,例如在后的逻辑分段会覆盖已播放的逻辑分段,或者逻辑分段在播放后即被丢弃。用户对播放内容的跳转不仅可以是如前述向在后内容的跳转,也可以是向在前内容的跳转;对于向前跳转,用户设备2仍需确定该跳转所对应的逻辑分段,以重新向网络设备1请求获取相应的逻辑分段。
3)网络设备1还可以包括部分数据提供装置(图2中未示出)。其中,部分数据提供装置可根据用户对一逻辑分段中所指定的时间点,来获取并向用户提供该逻辑分段的部分数据。
在此,部分数据提供装置可以精确地向用户提供其所指定的时间点所属逻辑分段中在该指定时间点之后的部分数据,其包括该逻辑分段中该指定时间点至该逻辑分段的终止时间点的区间所对应的头部数据和内容数据。
例如,与前例类似,当用户在播放过程中具有跳转需求时,如用户拖动播放进度条上的时间指针至一时间点或直接向用户设备2输入其希望跳转至的时间点,用户设备2向网络设备1发送对相应逻辑分段的该指点时间点的获取请求。在此,用户设备2可以根据用户指定的时间点确定其所属的逻辑分段,并将该逻辑分段以及该指定时间点包含在相应的获取请求中发送给网络设备1;或者,用户设备2直接将该指定时间点包含在获取请求中发送给网络设备1,以由网络设备1根据该指定时间点确定其所属的逻辑分段。从而,当网络设备1的请求接收装置11接收用户设备2对一逻辑分段的指定时间点的获取请求后,部分数据提供装置响应于该获取请求,根据该指定时间点及其所属的逻辑分段获取该逻辑分段中在该指定时间点之后的部分数据,即该指定时间点至该逻辑分段的终止时间点的时间区间所对应的头部数据和内容数据,如指定时间点为3分50秒,其所属的逻辑分段8的起止时间为3分31秒-4分00秒,部分数据提供装置获取该逻辑分段8中3分50秒至4分00秒所对应的头部数据以及内容数据;随后,部分数据提供装置向用户设备2提供该逻辑分段的这部分数据,用户设备2即可对这部分进行播放。
与上述第2)种方式相类似地,在此之后,网络设备1的数据提供装置13可以向用户设备2顺序提供用户指定的该时间点所属逻辑分段之后的各逻辑分段,以便用户可以从该指定时间点继续观看。优选地,数据提供装置13还可继续向用户设备2提供该跳转时间点之前的尚未发送给用户设备2的其他逻辑分段,包括该跳转时间点所属逻辑分段中尚未发送的部分数据,以便用户可以获得完整的该MP4文件,并可在用户希望跳转至这些之前的逻辑分段时减少响应时间。
优选地,部分数据提供装置可以与数据提供装置13相互独立为两个分离的功能模块,也可以集成在一起。此外,同样地,如果用户设备2不能缓存多媒体文件,这有时是出于版权保护的考虑,例如在后的逻辑分段会覆盖已播放的逻辑分段,或者逻辑分段在播放后即被丢弃。用户对播放内容的跳转不仅可以是如前述向在后内容的跳转,也可以是向在前内容的跳转;对于向前跳转,用户设备2仍需基于该指定的跳转时间点重新向网络设备1请求获取相应逻辑分段在该时间点之后的部分数据。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (12)
1.一种提供多媒体文件的方法,其中,该方法包括:
a接收用户对多媒体文件的获取请求;
b根据所述获取请求,获取所述多媒体文件的逻辑分段的属性信息,其中,每个逻辑分段由所述多媒体文件映射获得且包括所述多媒体文件的一部分头部数据和与该部分头部数据对应的内容数据;
c向所述用户提供所述多媒体文件的逻辑分段的属性信息,以供所述用户在接收到至少一个逻辑分段时可进行播放。
2.根据权利要求1所述的方法,其中,在所述步骤a之前,该方法还包括:
-对多个多媒体文件中的每一个进行逻辑切分,以获得其中每个多媒体文件的多个逻辑分段,每个逻辑分段包括所述多媒体文件的一部分头部数据和与该部分头部数据对应的内容数据;
-根据所述每个多媒体文件的多个逻辑分段,获得所述每个多媒体文件的逻辑分段的属性信息。
3.根据权利要求1所述的方法,其中,所述步骤b进一步包括:
-根据所述获取请求,对所述多媒体文件进行逻辑切分,以获得所述多媒体文件的多个逻辑分段,其中,每个逻辑分段包括所述多媒体文件的一部分头部数据和与该部分头部数据对应的内容数据;
-根据所述多媒体文件的多个逻辑分段,获得所述多媒体文件的逻辑分段的属性信息。
4.根据权利要求1至3中任一项所述的方法,其中,该方法还包括:
-响应于所述用户对所述多媒体文件中指定的逻辑分段的获取请求,向所述用户提供所述指定的逻辑分段。
5.根据权利要求1至3中任一项所述的方法,其中,该方法还包括:
-响应于所述用户对所述多媒体文件中一逻辑分段的指定时间点的获取请求,获取该逻辑分段的部分数据并将其提供给所述用户,所述部分数据包括所述指定时间点至该逻辑分段的终止时间点的区间所对应的头部数据和内容数据。
6.根据权利要求1至5中任一项所述的方法,其中,所述逻辑分段的属性信息至少包括:
-逻辑分段的起止时间;以及
-逻辑分段的大小。
7.一种提供多媒体文件的装置,其中,该装置包括:
请求接收装置,用于接收用户对多媒体文件的获取请求;
属性获取装置,用于根据所述获取请求,获取所述多媒体文件的逻辑分段的属性信息,其中,每个逻辑分段由所述多媒体文件映射获得且包括所述多媒体文件的一部分头部数据和与该部分头部数据对应的内容数据;
数据提供装置,用于向所述用户提供所述多媒体文件的逻辑分段的属性信息,以供所述用户在接收到至少一个逻辑分段时可进行播放。
8.根据权利要求7所述的装置,其中,在所述请求接收装置执行操作之前,该装置还包括分段获取装置,所述分段获取装置用于:
-对多个多媒体文件中的每一个进行逻辑切分,以获得其中每个多媒体文件的多个逻辑分段,每个逻辑分段包括所述多媒体文件的一部分头部数据和与该部分头部数据对应的内容数据;
-根据所述每个多媒体文件的多个逻辑分段,获得所述每个多媒体文件的逻辑分段的属性信息。
9.根据权利要求7所述的装置,其中,所述属性获取装置进一步用于:
-根据所述获取请求,对所述多媒体文件进行逻辑切分,以获得所述多媒体文件的多个逻辑分段,其中,每个逻辑分段包括所述多媒体文件的一部分头部数据和与该部分头部数据对应的内容数据;
-根据所述多媒体文件的多个逻辑分段,获得所述多媒体文件的逻辑分段的属性信息。
10.根据权利要求7至9中任一项所述的装置,其中,该装置还包括:
指定分段提供装置,用于响应于所述用户对所述多媒体文件中指定的逻辑分段的获取请求,向所述用户提供所述指定的逻辑分段。
11.根据权利要求7至9中任一项所述的装置,其中,该装置还包括:
部分数据提供装置,用于响应于所述用户对所述多媒体文件中一逻辑分段的指定时间点的获取请求,获取该逻辑分段的部分数据并将其提供给所述用户,所述部分数据包括所述指定时间点至该逻辑分段的终止时间点的区间所对应的头部数据和内容数据。
12.根据权利要求7至11中任一项所述的装置,其中,所述逻辑分段的属性信息至少包括:
-逻辑分段的起止时间;以及
-逻辑分段的大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410403347.0A CN105451098A (zh) | 2014-08-15 | 2014-08-15 | 一种提供多媒体文件的方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410403347.0A CN105451098A (zh) | 2014-08-15 | 2014-08-15 | 一种提供多媒体文件的方法与装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105451098A true CN105451098A (zh) | 2016-03-30 |
Family
ID=55560812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410403347.0A Pending CN105451098A (zh) | 2014-08-15 | 2014-08-15 | 一种提供多媒体文件的方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105451098A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105872807A (zh) * | 2016-05-16 | 2016-08-17 | 乐视控股(北京)有限公司 | 一种视频播放的方法和系统 |
CN107277081A (zh) * | 2016-04-06 | 2017-10-20 | 北京优朋普乐科技有限公司 | 流媒体数据的切片下载方法和装置、流媒体系统 |
CN107911712A (zh) * | 2017-11-30 | 2018-04-13 | 歌尔科技有限公司 | 数据缓冲方法和电子设备 |
CN110545461A (zh) * | 2018-05-29 | 2019-12-06 | 北京字节跳动网络技术有限公司 | 一种媒体文件的分辨率切换方法、装置及存储介质 |
CN110545464A (zh) * | 2018-05-29 | 2019-12-06 | 北京字节跳动网络技术有限公司 | 一种媒体文件分辨率切换方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030061369A1 (en) * | 2001-09-24 | 2003-03-27 | Emre Aksu | Processing of multimedia data |
CN101674373A (zh) * | 2009-09-02 | 2010-03-17 | 优视动景(北京)技术服务有限公司 | 用于移动通讯终端的mp4流媒体播放系统及其应用方法 |
CN102170453A (zh) * | 2011-05-26 | 2011-08-31 | 北京暴风网际科技有限公司 | 音视频编码方法及缩短点播播放前等待时间的播放方法 |
CN105323597A (zh) * | 2014-08-04 | 2016-02-10 | 中国电信股份有限公司 | Mp4文件播放方法、处理方法和装置以及播放系统 |
-
2014
- 2014-08-15 CN CN201410403347.0A patent/CN105451098A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030061369A1 (en) * | 2001-09-24 | 2003-03-27 | Emre Aksu | Processing of multimedia data |
CN101674373A (zh) * | 2009-09-02 | 2010-03-17 | 优视动景(北京)技术服务有限公司 | 用于移动通讯终端的mp4流媒体播放系统及其应用方法 |
CN102170453A (zh) * | 2011-05-26 | 2011-08-31 | 北京暴风网际科技有限公司 | 音视频编码方法及缩短点播播放前等待时间的播放方法 |
CN105323597A (zh) * | 2014-08-04 | 2016-02-10 | 中国电信股份有限公司 | Mp4文件播放方法、处理方法和装置以及播放系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277081A (zh) * | 2016-04-06 | 2017-10-20 | 北京优朋普乐科技有限公司 | 流媒体数据的切片下载方法和装置、流媒体系统 |
CN105872807A (zh) * | 2016-05-16 | 2016-08-17 | 乐视控股(北京)有限公司 | 一种视频播放的方法和系统 |
CN107911712A (zh) * | 2017-11-30 | 2018-04-13 | 歌尔科技有限公司 | 数据缓冲方法和电子设备 |
CN107911712B (zh) * | 2017-11-30 | 2020-10-09 | 歌尔科技有限公司 | 数据缓冲方法和电子设备 |
CN110545461A (zh) * | 2018-05-29 | 2019-12-06 | 北京字节跳动网络技术有限公司 | 一种媒体文件的分辨率切换方法、装置及存储介质 |
CN110545464A (zh) * | 2018-05-29 | 2019-12-06 | 北京字节跳动网络技术有限公司 | 一种媒体文件分辨率切换方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106464945B (zh) | 增强型流媒体回放的方法、系统及计算机可读介质 | |
US11153658B2 (en) | Image display method and generating method, device, storage medium and electronic device | |
CN105451098A (zh) | 一种提供多媒体文件的方法与装置 | |
CN110418186B (zh) | 音视频播放方法、装置、计算机设备和存储介质 | |
CN103517158B (zh) | 一种生成可展示视频批注的视频的方法、装置及系统 | |
JP2013507721A (ja) | クラウドベースのメディアプレーヤ及びオフラインメディアアクセス | |
CN110784750B (zh) | 视频播放方法、装置及计算机设备 | |
CN104871551A (zh) | 自适应比特率视频内容传递中特技播放禁用的实施 | |
CN111512635B (zh) | 用于选择性跳过媒体内容的方法和系统 | |
CN102999492A (zh) | 一种调整媒体文件音量的方法与设备 | |
CN103024587B (zh) | 一种视频点播的信息标注及显示方法及装置 | |
CN104683858B (zh) | 一种流媒体的内容的预览方法及装置 | |
US9116605B2 (en) | System and method for generating event distribution information | |
CN112601127B (zh) | 视频显示方法及装置、电子设备、计算机可读存储介质 | |
CN104994433B (zh) | 视频文件提供方法及装置 | |
JP2022524711A (ja) | ユーザの選択に応答して対話型メディア作品の再生を進めるための手法 | |
KR20160088803A (ko) | 영상 재생 제어 프로그램, 영상 재생 제어 방법, 영상 배신 서버, 송신 프로그램 및 송신 방법 | |
US20170330036A1 (en) | Provide augmented reality content | |
WO2014078029A1 (en) | Dynamic buffer management for a multimedia content delivery system | |
JP2008217059A (ja) | 再生装置と再生装置のためのプログラム | |
KR100989182B1 (ko) | 동영상에 대응되는 투명 레이어를 이용한 부가 서비스 제공방법 및 시스템 | |
CN113923473A (zh) | 影音播放方法、装置、电子设备和存储介质 | |
CN111316661A (zh) | 非线性内容呈现和体验的管理 | |
KR102137327B1 (ko) | 스트리밍 동영상의 라이브 썸네일 제공 시스템 | |
CN104837030A (zh) | 一种http流媒体实现快进快退播放的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160330 |
|
WD01 | Invention patent application deemed withdrawn after publication |