CN105528348B - 媒体文件的处理方法及装置 - Google Patents
媒体文件的处理方法及装置 Download PDFInfo
- Publication number
- CN105528348B CN105528348B CN201410510781.9A CN201410510781A CN105528348B CN 105528348 B CN105528348 B CN 105528348B CN 201410510781 A CN201410510781 A CN 201410510781A CN 105528348 B CN105528348 B CN 105528348B
- Authority
- CN
- China
- Prior art keywords
- target
- media file
- cluster
- media
- determining
- 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.)
- Active
Links
Images
Abstract
本申请公开了媒体文件的处理方法及装置,其中,所述方法包括:将多个待存储媒体文件进行合并,生成组合媒体文件,其中,在所述组合媒体文件中,各个待存储媒体文件对应该组合媒体文件中的多份媒体内容;确定各份媒体内容在所述组合媒体文件中的物理位置信息,以及各份媒体内容对应的标识信息;根据各份媒体内容对应的物理位置信息以及所述标识信息生成附加信息,添加到所述组合媒体文件的数据中,生成目标媒体文件;将所述目标媒体文件保存到预置的存储设备中;其中,所述附加信息用于,在所述目标媒体文件被播放设备访问的过程中,确定当前正在被访问的媒体内容对应的信息。通过本申请,可以使得存储设备可以更完整的感知播放设备的访问操作。
Description
技术领域
本申请涉及媒体信息处理技术领域,特别是涉及媒体文件的处理方法及装置。
背景技术
在当今的信息化时代,人们获取信息的途径也日渐丰富。例如,在商场、品牌店、地铁、飞机场等公共场所内,大屏幕播放设备比比皆是,这种大屏幕播放设备一般采用离线的方式进行媒体信息的播放,其中往往承载着丰富的媒体内容。
从设备配置上,一种离线媒体播放实现方式为:自带播放器的显示设备(这种显示设备可以称为播放设备)加存储设备,存储设备相对于播放设备,一般是可插拔的,例如U盘、SD卡等,这样,可以通过PC机等设备向存储设备中存入一些媒体文件,然后插到播放设备上,由播放设备播放该存储设备上的媒体文件。当然,存储设备也可以内置于播放设备中。
在实际应用中可能具有如下需求:在播放设备对存储设备中的媒体信息进行播放的过程中,存储设备可能需要确定媒体文件的被播放进度等信息;或者,存储设备可能需要向其他终端设备等提供关于当前正在播放的媒体内容的一些信息(如其中包含的商品的名称等、商品信息相关页面的网络地址等),等等。总之,存储设备可能需要感知媒体文件被播放设备播放的情况。
但是,存储设备感知播放设备对媒体文件的播放情况的前提是,播放设备在播放媒体文件时,都是从存储设备中读取相关的数据,然后再进行播放。然而,在实际应用中,大屏幕设备中播放媒体内容时,一般会采用轮播的形式,例如,有媒体内容A、B、C,将这三段内容循环播放。而在轮播的过程中,可能会或多或少的将存储设备中的内容缓存到播放设备侧的内存中,等到轮播的第二轮时,如果媒体文件过小,如其中的media1.avi仅有几兆大小,则有可能播放器就不需要再对存储设备中的Media1.avi进行访问,直接从缓存中进行加载即可;如其中Media2.mp4稍大,例如有几十兆大小,则仍有可能将该文件的很多数据被播放器缓存。这样,就会导致只有第一次播放时,存储设备能感知播放设备的访问,其他时候可能会出现无法感知或者不完整等现象。
因此,如何使得存储设备能够更完整的感知播放设备对媒体文件的播放情况,是迫切需要本领域技术人员解决的技术问题。
发明内容
本申请提供了媒体文件的处理方法及装置,使得存储设备能够更完整的感知播放设备的访问操作。
本申请提供了如下方案:
一种媒体文件的处理方法,包括:
将多个待存储媒体文件进行合并,生成组合媒体文件,其中,在所述组合媒体文件中,各个待存储媒体文件对应该组合媒体文件中的多份媒体内容;
确定各份媒体内容在所述组合媒体文件中的物理位置信息,以及各份媒体内容对应的标识信息;
根据各份媒体内容对应的物理位置信息以及所述标识信息生成附加信息,添加到所述组合媒体文件的数据中,生成目标媒体文件;
将所述目标媒体文件保存到预置的存储设备中;
其中,所述附加信息用于,在所述目标媒体文件被播放设备访问的过程中,确定当前正在被访问的媒体内容对应的信息。
一种提供媒体内容信息的方法,应用于存储设备中,所述存储设备设有无线通讯模块,所述存储设备中保存有目标媒体文件,通过播放设备进行播放,所述目标媒体文件是通过将多个待存储媒体文件进行合并,并在数据中添加附加信息后生成的,其中,在所述目标媒体文件中,各个待存储媒体文件对应该目标媒体文件中的多份媒体内容,所述附加信息包括各份媒体内容在所述目标媒体文件中的物理位置信息,以及各份媒体内容对应的标识信息;所述方法包括:
在所述目标媒体文件被读取的过程中,根据所述存储设备数据区的被读取情况,确定在预置的采样时间点正在被读取的媒体内容对应的标识信息;
根据所述播放设备从读取到播放之间的时间差,确定在所述采样时间点正在被读取的媒体内容被播放的时间;
通过所述无线通讯模块接收到终端设备发送的信息获取请求时,根据所述采用时间点正在被读取的媒体内容被播放的时间,确定当前正在播放的媒体内容对应的标识信息;所述信息获取请求用于获取所述播放设备中当前播放的媒体内容对应的目标标识信息;
通过所述无线通讯模块将所述目标标识信息返回。
一种媒体文件的处理装置,包括:
文件合并单元,用于将多个待存储媒体文件进行合并,生成组合媒体文件,其中,在所述组合媒体文件中,各个待存储媒体文件对应该组合媒体文件中的多份媒体内容;
信息确定单元,用于确定各份媒体内容在所述组合媒体文件中的物理位置信息,以及各份媒体内容对应的标识信息;
目标媒体文件生成单元,用于根据各份媒体内容对应的物理位置信息以及所述标识信息生成附加信息,添加到所述组合媒体文件的数据中,生成目标媒体文件;
保存单元,用于将所述目标媒体文件保存到预置的存储设备中;
其中,所述附加信息用于,在所述目标媒体文件被播放设备访问的过程中,确定当前正在被访问的媒体内容对应的信息。
一种提供媒体内容信息的装置,应用于存储设备中,所述存储设备设有无线通讯模块,所述存储设备中保存有目标媒体文件,通过播放设备进行播放,所述目标媒体文件是通过将多个待存储媒体文件进行合并,并在数据中添加附加信息后生成的,其中,在所述目标媒体文件中,各个待存储媒体文件对应该目标媒体文件中的多份媒体内容,所述附加信息包括各份媒体内容在所述目标媒体文件中的物理位置信息,以及各份媒体内容对应的标识信息;所述装置包括:
读取信息确定单元,用于在所述目标媒体文件被读取的过程中,根据所述存储设备数据区的被读取情况,确定在预置的采样时间点正在被读取的媒体内容对应的标识信息;
播放时间确定单元,用于根据所述播放设备从读取到播放之间的时间差,确定在所述采样时间点正在被读取的媒体内容被播放的时间;
目标标识信息确定单元,用于通过所述无线通讯模块接收到终端设备发送的信息获取请求时,根据所述采用时间点正在被读取的媒体内容被播放的时间,确定当前正在播放的媒体内容对应的标识信息;所述信息获取请求用于获取所述播放设备中当前播放的媒体内容对应的目标标识信息;
目标标识信息返回单元,用于通过所述无线通讯模块将所述目标标识信息返回。
根据本申请提供的具体实施例,本申请公开了以下技术效果:
通过本申请实施例,可以将一些小的待播放媒体文件合并成大尺寸的组合媒体文件,并在其中添加附件信息,该附加信息可以描述各份媒体内容在组合媒体文件中的物理位置信息以及对应的标识信息,这样,由于组合后的媒体文件尺寸比较大,因此,在播放器不可能去缓存整个文件,只能缓存当前播放到的部分或者视频文件的头部信息,这部分被缓存的数据仅是该大文件中的一小部分,因此,可以使得存储设备能够更完整的感知播放设备的访问操作。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的方法的流程图;
图2是本申请实施例提供的另一方法的流程图;
图3是本申请实施例提供的装置的示意图;
图4是本申请实施例提供的另一装置的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中,为了使得存储设备能够尽可能的感知到媒体文件被播放的情况,可以对存储设备中保存的媒体文件进行改造,使其足够大。这样,播放器不可能去缓存整个文件,只能缓存当前播放到的部分或者视频文件的头部信息,这部分被缓存的数据仅是该大文件中的一小部分,因此,可以使得绝大部分时间,存储设备都是能够感知到播放设备的访问操作。下面对具体的实现方式进行详细介绍。
实施例一
参见图1,本申请实施例一首先提供了一种媒体文件的处理方法,该方法可以包括以下步骤:
S101:将多个待存储媒体文件进行合并,生成组合媒体文件,其中,在所述组合媒体文件中,各个待存储媒体文件对应该组合媒体文件中的多份媒体内容;
可以合并多个希望循环播放的视频文件的视轨和音轨,生成一个大的组合媒体文件。此时,各个待存储媒体文件对应该组合媒体文件中的多份媒体内容。也就是说,可以通过同一个媒体文件来承载多份媒体内容。各份媒体内容在该媒体文件内容仍然可以按顺序进行播放,只不过在播放器看来,这些媒体内容属于同一个媒体文件。
当然,在通过上述方式得到组合文件之后,还可以确定出组合媒体文件的大小,如此时合并之后的组合媒体文件(记为1.avi)尺寸还比较小,则还可以通过迭加的方式将组合媒体文件进行进一步的合成,得到更大尺寸的组合媒体文件。例如,复制1.avi为2.avi等,并继续对生成之后的1.avi,2.avi…进行合并,以此进行迭加的操作,直到生成足够大尺寸的文件(如1G大的文件),这样,最后合并迭加后的文件为“A B C A B C A B C…”这样的媒体内容组成的循环序列,每个媒体片段作为媒体文件中的一份媒体内容存在。
S102:确定各份媒体内容在所述组合媒体文件中的物理位置信息,以及各份媒体内容对应的标识信息;
在得到上述组合媒体文件之后,由于目的是要让存储设备能够感知具体被播放的媒体内容,因此,在本申请实施例中,还可以向组合媒体文件的数据中添加附加信息,这种附加信息可以用于描述各份媒体内容在组合媒体文件中的物理位置信息,以及各份媒体内容对应的标识信息。因此,可以首先确定出这两方面的信息。
其中,关于各份媒体内容在组合媒体文件中的物理位置信息,可以通过各份媒体内容之间的顺序以及各自所占的数据量来确定。例如,第一份媒体内容为2M,则就可以将该份媒体内容的位置信息确定为第0到第2M,第二份媒体内容为5M,则就可以将该份媒体内容的位置信息确定为第2M到第7M,等等。
关于各份媒体内容对应的标识信息,可以根据媒体内容各自的名称等来确定。或者,在一些具体的应用中,存储设备需要确定的可能不是媒体内容本身的一些信息,还可能是与媒体内容关联的其他内容的信息。例如,媒体内容可能是关于某商品的广告,但是,存储设备需要确定的是关于该商品的详细信息、销售信息等等。因此,媒体内容对应的标识信息可以是指,媒体内容对应的关联内容的标识信息。其中,这种关联内容的标识信息可以是关联内容的网络地址(例如URL)。或者,为了便于存储设备通过预设的无线通讯模块将这种标识信息提供给其他的终端设备,媒体文件数据中写入的标识信息还可以是关联内容的ID,同时在服务器端保存ID与网络地址之间的关联关系,这样,当存储设备将这种ID信息提供给其他终端设备之后,其他终端设备可以通过与服务器的交互,获取到该ID信息对应的网络地址,进而,就可以通过加载该网络地址对应的页面,获取到对应的关联内容。
具体的,关联内容的网络地址可以根据预置指定的方式确定的,当然也可以通过其他方式确定。关于关联内容的ID,可以由服务器端来统一分配。例如,可以将各份媒体内容的名称清单上传到服务器,由服务器为各份媒体内容分配ID之后返回,这样,就可以将这种ID确定为媒体内容对应的标识信息。当然,在这种情况下,还可以将各个关联内容的网络地址提交到服务器,由服务器保存ID与网络地址之间的关联关系。
S103:根据各份媒体内容对应的物理位置信息以及所述标识信息生成附加信息,添加到所述组合媒体文件的数据中,生成目标媒体文件;
在进行文件的合并,并确定出各份媒体内容对应的物理位置信息以及所述标识信息之后,可以生成附加信息,并可以在合并后的文件尾部等处添加前述附加信息。例如,可以定义一个叫XMD(X Media Description)的格式来描述一个大的组合媒体文件中包含的各个子部分。因此,XMD的定义可以如下:
媒体内容1
媒体内容1的标识信息
媒体内容1在文件整体中的起始位置
媒体内容1在文件整体中的结束位置
媒体内容2
媒体内容2的标识信息
媒体内容2在文件整体中的起始位置
媒体内容2在文件整体中的结束位置
……
其中,在实际应用中,附加信息中除了前述各份媒体内容的物理位置信息以及对应的标识信息之外,还可以包括各个媒体内容在文件中的起始时间等信息。因此,XMD的定义可以如下:
媒体内容1
媒体内容1的标识信息
媒体内容1在文件整体中的起始位置
媒体内容1在文件整体中的结束位置
媒体内容1在文件中的起始时间
媒体内容2
媒体内容2的标识信息
媒体内容2在文件整体中的起始位置
媒体内容2在文件整体中的结束位置
媒体内容2在文件中的起始时间
……
利用上述媒体内容在文件中的起始时间,可以获取到一些信息。例如,播放设备对存储设备中的媒体文件进行播放时,一般可能会先将数据读取到缓存中,然后再进行播放,而有些情况下,存储设备需要获知数据从被读取到被播放之间的时间差。此时,就可以利用上述媒体内容在文件中的起始时间来获取该时间差。例如,根据相邻媒体内容实际被开始读取的时间,以及在媒体文件中的起始时间,确定出由于播放设备的缓存引起的媒体内容从被读取到被播放之间的时间差。具体的,可以检测第一媒体内容开始被读取时的第一绝对时间点,以及该片段相邻的第二媒体内容被读取时的第二绝对时间点,计算这两个绝对时间点之间的第一差值;然后再从媒体文件的描述信息中,读取出该第一媒体内容的第一起始时间,以及第二媒体内容的第二起始时间,计算出这两个起始时间之间的第二差值,之后,再用第二差值减去第一差值,即可得到由于缓存引起的从读取到播放之间的时间差。
例如,假设A和B是媒体文件中相邻的两个媒体内容,Time1为检测到媒体内容A被读取时的绝对时间点,Time1_1为在XMD描述中关于媒体内容A起始的时间点;Time2为检测到媒体内容B被读取时的绝对时间点,Time2_2为在XMD描述中关于媒体内容B起始的时间点。则由于缓存引起的时间差可以描述为:
(Time2_2–Time1_1)–(Time2–Time1)
S104:将所述目标媒体文件保存到预置的存储设备中。
在组合媒体文件中添加了上述附加信息之后,就可以生成目标媒体文件,并保存到存储设备中。具体应用时,可以将该存储设备插接到播放设备上,播放设备可以对这种目标媒体文件进行播放。
总之,通过本申请实施例,可以将一些小的待播放媒体文件合并成大尺寸的组合媒体文件,并在其中添加附件信息,该附加信息可以描述各份媒体内容在组合媒体文件中的物理位置信息以及对应的标识信息,这样,由于组合后的媒体文件尺寸比较大,因此,在播放器不可能去缓存整个文件,只能缓存当前播放到的部分或者视频文件的头部信息,这部分被缓存的数据仅是该大文件中的一小部分,因此,可以使得绝大部分时间,存储设备都是能够感知到播放设备的访问操作。
实施例二
如前文所述,实施例一中生成的目标媒体文件被存入存储设备之后,可以通过播放设备对存储设备中的目标媒体文件进行播放,并且,存储设备可以感知该目标媒体文件中的哪个媒体内容正在被读取,进而可以确定出正在被读取的媒体内容实际被播放的时间,这样,如果某时刻接收到某终端设备的信息获取请求,就可以确定出该时刻正在被播放的媒体内容对应的标识信息,并返回给终端设备。为此,该实施例二还提供了一种提供媒体内容信息的方法,该方法应用于存储设备中,其中,所述存储设备设有无线通讯模块(例如蓝牙模块、BLE4.0等),存储设备中保存有目标媒体文件,目标媒体文件是通过将多个待存储媒体文件进行合并,并在数据中添加附加信息后生成的,其中,在所述目标媒体文件中,各个待存储媒体文件对应该目标媒体文件中的多份媒体内容,附加信息包括各份媒体内容在所述目标媒体文件中的物理位置信息,以及各份媒体内容对应的标识信息;参见图2,该方法可以包括以下步骤:
S201:在所述目标媒体文件被读取的过程中,根据所述存储设备数据区的被读取情况,确定在预置的采样时间点正在被读取的媒体内容对应的标识信息;
对于存储设备侧,在一个媒体文件被读取时,由于被读取的数据存储在该存储设备上,因此,存储设备可以感知到当前被读取数据单元所在的第一目标簇标识。也就是说,在某簇中的数据单元被读取时,存储设备侧可以首先获知该簇的标识。
由于播放设备一般会预先读取缓存接下去要播放的内容,有时候可达几十兆内容之多,因此,可能出现的情况是,在片段1还没有结束播放的时候片段2就已经被读取。可见,如果仅依靠检测片段2起始内容被读取的时间作为片段2起始播放的时间会存在较大的误差。因此,在确定出某时刻正在被读取的媒体内容的标识信息之后,还需要根据播放设备从读取到播放之间的时间差,才能确定该时刻正在被读取的媒体内容实际被播放的时间。
也就是说,在实际应用中,在某时刻确定出某媒体内容正在被读取之后,还可能需要向后延迟一定的时间,才是该媒体内容实际被播放的时间。因此,如果需要确定的是当前正在播放的媒体内容对应的标识信息,则可提前确定出该媒体内容被读取的时间。为此,在本申请实施例中,可以预置一些采样时间点,例如,从整个媒体文件开始播放时起,每隔5S作为一个采样时间点,在每个采样点确定出正在被读取的媒体内容对应的标识信息。具体的,就可以首先确定出在采样时间点被读取数据单元所在的第一目标簇标识。
也就是说,可以首先根据存储设备数据区的被读取情况,确定在各采样时间点正在被读取的媒体内容对应的标识信息,然后根据所述播放设备从读取到播放之间的时间差,确定当前正在播放的媒体内容对应的关联内容的目标标识信息。
其中,具体在确定某采样时间点正在被读取的媒体内容对应的关联内容的标识信息时,可以如下方法:
步骤一:确定数据区中在所述采样时间点被读取数据单元所在的第一目标簇标识;在播放媒体文件的过程中,在主机侧(也即播放设备)的操作系统层面上面对的是文件系统相关的概念,如文件句柄/定位/读写操作等,但在到达存储设备时,会被翻译成对数据区块的操作,这样,在存储设备侧,面对的是针对块信息的读写操作。也就是说,播放设备的访问请求在到达存储设备时,虽然存储设备能够感知到该访问请求,但是,此时存储设备只能获知播放设备请求访问的是哪个数据区块中的数据,而不能准确知道当前播放的是哪个文件,因此,不能准确地确定需要进行互动的标识信息,该需要进行互动的标识信息与正在播放的内容相关联。其中,在存储设备的数据区,一般是以簇为单位进行数据的存储,则存储设备在接收到播放设备的访问请求时,可以获知到请求访问的第一目标簇的标识(例如,簇的编号,简称簇号)。后续可以根据这种簇的标识来获取具体的关联内容的标识信息。
步骤二:根据文件系统的文件分配表,确定所述第一目标簇标识对应的第二目标簇标识,其中,所述第一目标簇中的数据单元与所述第二目标簇的数据单元属于同一目标媒体文件,所述第二目标簇中保存有该目标媒体文件中所述预置序号的数据单元;
存储设备无法直接根据该簇号为用户终端设备提供有效信息。因此,当存储设备检测到主机侧访问某一个簇的内容时,如何能够反向查找到这个簇相关的文件的信息,即感知到主机侧对文件的访问信息,是需要解决的问题。例如,某media.avi文件,其在存储设备(一般为FAT32格式)上占用了{C(4),(C(7),C(8)....C(n))的簇,当存储设备检测到C(m)被访问时,需要推算出该簇中保存的数据所属媒体文件的相关信息。
为了便于理解,下面首先对存储设备中的数据存储原理进行简单的介绍。
在存储设备中,数据是存储在磁盘的分区中,其中,一个分区会分成同等大小的簇,也就是连续空间的小块。簇的大小随着FAT文件系统的类型以及分区大小而不同,典型的簇大小介于2KB到32KB之间。每个媒体文件根据它的大小可能占有一个或者多个簇;这样,一个文件就由这些簇链(称为单链表)所表示。然而,这些链并不一定一个接着一个在磁盘上存储,它们经常是在整个数据区域零散的储存。但是,在分配簇的过程中,还会生成文件分配表(例如FAT表),其为映射到分区每个簇的条目列表。其中,在将某文件的数据分配到某些簇中的同时,可以在FAT表中记录该文件的簇链信息。其中,文件的第一个数据单元所在簇的编号会写入到FAT表的根目录条目中,后续各数据单元所在簇的编号信息会分别被写入FAT的其他具体条目中,并且这些具体条目中总是保存一个簇链中下一个簇的地址。其中,FAT表中记录的簇的编号相对于实际簇的实际编号会有一个偏移量,一般为2。
例如,假设某文件的数据被分配到第1号、第2号、第3号、第5号、第8号、第9号以及第24号簇中,则在向FAT中写入该簇链的信息时,第一个数据单元被分配到了1号簇这一信息会写入到FAT表的根目录中。之后,由于第一个数据单元被分配到了第1号簇,在加上偏移量2之后,得到的数字是3,因此,会从FAT表的第3号条目开始写入该簇链中下一个簇的地址,也即,在该FAT表的第3号条目中,记录的是下一个数据单元所在簇的编号,如前述例子中,第二个数据单元被分配到第2号簇,则在加上偏移量2之后,得到的数字是4,因此,在FAT表中,写入3号条目的信息就是数字4。同时,可以在FAT表的4号条目中记录第三个数据单元所在簇的地址,由于第三个数据单元在第3号簇,加上2之后得到的数字是5,因此,在FAT表的4号条目中记录的信息是数字5。以此类推,该文件的簇链信息会分别被写入FAT表的第3、4、5、7、10、11及26号条目。其中,在第3、4、5、7、10、11号条目中记录的数字分别为4、5、7、10、11、26,第26号条目记录的信息是一个结尾标志,代表该文件的最后一个数据单元。这样,通过该FAT表中记录的上述信息,即可获知该文件的第一个数据单元记录在1号簇中,第二个数据单元记录在2号簇中,……,最后一个数据单元记录在24号簇中。
例如,FAT表的结构可以如下:
表1
0xF8FFFF0F | 0xFFFFFFFF | 根目录 | 4 | 5 | 7 | 0 |
10 | 0 | 0 | 11 | 26 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0x0FFFFFFF | 0 |
其中,表1中的每个单元格都对应着FAT表的一个条目,各个条目从0开始进行编号,例如,“0xF8FFFF0F”所在的条目为0号,“0xFFFFFFFF”所在条目的编号为1,“根目录”所在条目的编号为2,“4”所在条目的编号为3,以此类推。
通过上述介绍可见,在存储设备感知到播放设备正在读取的数据单元的簇号之后,实际上是可以通过FAT表中记录的分配信息,定位到该数据单元所在文件的第一个数据单元、最后一个数据单元等分别位于哪个簇中,并且,如前文所述,由于已经在每个媒体文件的头部或者尾部写入了媒体内容对应的标识信息,因此,就可以通过读取预置序号的数据单元所在的簇,来确定与当前正在被读取的媒体内容对应的标识信息,进而就可以将这种标识信息提供给其他外部终端设备等请求方。
为此,在本申请实施例中,可以首先确定出数据区中当前被读取数据单元所在的第一目标簇标识,后续就可以根据文件分配表,确定出预置序号(例如第一个、最后一个等)的数据单元所在的第二目标簇。
其中,在已知当前正在被读取的第一目标簇标识(例如簇号)的情况下,定位该簇号对应的数据单元所属媒体文件中预置序号的数据单元所在簇时,可以有多种方式。例如,在一种方式下,可以通过遍历FAT表的方式来进行定位查找。如,可以将FAT表项以每一个簇为单位读进内存进行分析,在内存中记录下一个链表中的各个项,如有检测到c(m)(当前正在被读取数据所在的簇号),则获得c(1),继续往下遍历直到文件结尾c(n)。在C(1)→C(m)的查找过程中,由于不确定遍历序列中能否找到C(m),需要在内存中存放所有文件的序列,故这个算法内存消耗会非常大,在低内存要求情况下基本上不可行。如果不把遍历结果放入内存,又面临找到C(m)之后的回溯IO问题,性能会非常差。
为了实现在低内存要求下,进行根据当前被读取的数据所在的簇号定位到所属文件的第一个以及最后一个数据单元所在的簇号,在本申请的优选实施例中,可以通过以下方式来实现:可以在存储设备中生成一与FAT表对应的快速索引表,并保存。进一步地,为了避免该快速索引表被误删,可以在存储设备中建立一隐藏分区,将该快速索引表保存在该隐藏分区中。
其中,该快速索引表可以是通过遍历FAT表来建立的,当前该遍历FAT表的过程在存储设备每次加电后执行一次即可,后续每次发现某簇的数据被读取时,就可以通过查询该快速索引表的方式,来确定该簇中保存的数据所属文件的第一个、最后一个数据单元所在的簇地址等信息。因此,该快速数据表的各个条目中可以保存有各个簇标识对应的目标簇标识,其中,同一条目中,各个簇标识对应的数据单元属于同一媒体文件,且目标簇中保存有该媒体文件中预置序号的数据单元(也即媒体内容对应的标识信息所在的数据单元)。例如,数据区中各个簇对应媒体文件的第一个数据单元所在的簇地址,最后一个数据单元所在的簇地址,等等。当然,在有些特殊情况下,在可能还需要获知当前访问的数据单元在对应的媒体文件中的位置(例如,某AVI文件有10M,则确定出的当前访问的数据在该文件的位置可能是位于第5M至第6M,等等)等信息,为此,还可以在快速索引表中记录以下信息:各个簇标识在对应媒体文件中的序号,也即每个簇对应媒体文件中的第几个数据单元。例如,假设标识信息所在的位置为媒体文件的最后一个数据单元,则对应于表1中的FAT表,生成的快速索引表可以如以下表2所示:
表2
可见,在得知当前正在访问的数据所在的簇号(例如,5号)的情况下,直接通过查询上述快速索引表即可确定出对应数据所属文件的第一个数据单元所在的簇号为1号,最后一个数据单元所在的簇号为24号,并且该5号簇中保存的数据为所属文件中的第4个数据单元。
需要说明的是,在表2中,每个簇号都对应有所属媒体文件的第一个数据单元所在的簇号,但是,只有第一个数据单元所在的簇号才对应有最后一个数据单元所在的簇号。这是因为,在对FAT表进行遍历的过程中,只有在检测到了文件末尾才获得最后一个数据单元所在的簇号,如果为每个簇号都对应写入最后一个数据单元所在的簇号,则需要重新进行回溯,而回溯的过程则需要花费很长的时间。为此,在本申请的优选实施例中,最后一个数据单元的簇号信息只需回写到第一个数据单元的簇号这一行。同一文件的其他簇号的数据被读取时,可以首先从该簇号所在行,确定出第一个数据单元的簇号,然后从第一个数据单元的簇号所在的行中,确定出最后一个数据单元的簇号即可。在这种情况下,具体在生成上述快速索引表时,针对各个簇号,可以首先通过遍历FAT表,确定出各自对应的数据所属文件的第一个数据单元所在的簇号,在检测到该所属文件的最后一个数据单元所在的簇号之后,再将其作为结束簇号,写入到该所属文件的第一个数据单元的簇号所在的行即可。
也就是说,在优选的实施方式中,在建立快速索引表时,可以首先遍历文件分配表,确定数据区内各个簇标识中保存的数据单元所属媒体文件的起始簇标识(起始簇用于保存该所属媒体文件的第一个数据单元);然后,可以在各个簇标识所在快速索引表条目的第一字段中记录所述所属媒体文件的起始簇标识;之后,如果在遍历的过程中,确定出某簇标识为所属媒体文件的结束簇(用于保存所述所属媒体文件的最后一个数据单元),则将该簇标识记录在该媒体文件的起始簇所在快速索引表条目的第二字段中。这样,具体在根据预先建立的快速索引表,确定目标簇中保存的数据单元所属媒体文件中预置序号的数据单元所在的簇的标识时,可以如下进行:确定所述第一目标簇标识所在的第一目标条目;从该第一目标条目的所述第一字段中确定出该第一目标簇对应媒体文件的起始簇标识;确定该起始簇标识所在的第二目标条目;从该第二目标条目的所述第二字段中确定出该第一目标簇对应媒体文件的结束簇标识,将该结束簇标识确定为所述第二目标簇标识,也即目标位置处的数据单元所在的簇标识。
步骤三:根据所述第二目标簇中保存的数据单元,确定在所述采样时间点正在被读取的媒体内容对应的标识信息。
通过前述方式可以定位到记录有附加信息的数据单元所在的簇,进而从该簇中找到对应的附加信息。但是,在本申请实施例中,一个媒体文件中包含多份媒体内容,而实际需要获知的其实是采样时间点正在读取的是具体哪份媒体内容。也就是说,在这种情况下,就不仅需要感知当前正在播放的媒体文件,还需要感知到当前正在播放的具体是哪个媒体内容。为此,在感知到采样时间点正在访问的簇的簇号之后,除了可以定位该簇中对应的媒体文件中特定簇的簇号,还可以确定出该正在被访问的第一目标簇中保存的数据单元在对应媒体文件中的目标物理位置信息。这样,在根据第二目标簇中保存的数据单元,确定采样时间点正在被读取的媒体内容对应的标识信息时,可以首先根据第二目标簇中的数据单元,确定该媒体文件中各份媒体内容分别所在的物理位置信息以及各自对应的标识信息,然后将目标物理位置信息与各份媒体内容分别所在的物理位置信息进行匹配运算,将匹配成功的媒体内容对应的标识信息,确定为在采样时间点正在被读取的媒体内容对应的标识信息。
例如,如果需要获知在采样时间点被读取的数据在所属文件中的位置,则可以直接根据第一目标簇对应的数据单元在所属文件中的序号进行估算。例如,假设每个簇的数据容量为4K,且假设第一目标簇对应的数据单元在所属文件中的序号为4,则可以估算出在采样时间点读取的可能是其所属媒体文件的第12K到第16K之间。进而,就可以根据第二目标簇的数据中保存的描述信息,确定出第12K到第16K之间的数据是属于哪份媒体内容的数据。
具体实现时,为了提高效率,可以在快速索引表中保存以下信息:各个簇标识中保存的数据单元在所属媒体文件中的序号(如表2中的第三列所示)。这样,具体为了获得当前正在播放的媒体内容的关联内容的标识信息,可以如下进行:
首先根据快速索引表,确定出第一目标簇中保存的数据单元在所属媒体文件中的目标序号,然后根据该目标序号以及每个簇的数据容量,确定该第一目标簇中保存的数据单元在所属媒体文件中物理位置信息;同时,还可以从第二目标簇中读取数据并进行解析,确定出媒体文件中各份媒体内容分别所在的物理位置信息以及各自对应的标识信息,然后将第一目标簇中保存的数据单元在所属媒体文件中物理位置信息,与各份媒体内容分别所在的物理位置信息进行匹配运算,将匹配成功的媒体内容对应的标识信息确定为在采样时间点正在读取的媒体内容的关联内容的标识信息。
S202:根据所述播放设备从读取到播放之间的时间差,确定在所述采样时间点正在被读取的媒体内容被播放的时间;
在确定出采样时间点正在被读取的媒体内容的标识信息之后,就可以根据播放设备从读取到播放之间的时间差,确定出采样时间点正在被读取的媒体内容实际被播放的时间。这样,就可以在该实际被播放的时间到来时,确定出当前正在播放的媒体内容的标识信息。
其中,关于播放设备从读取到播放之间的时间差,可以通过多种方式进行确定。例如,可以根据经验值进行确定。当然,由于不同的播放器预取内容的尺寸不一样,因此,对于不同的播放器而言,因此,从数据被读取到被播放所经历的时间长度可能是不同的,因此,如果用统一的经验值进行确定,则难免会产生误差。因此,在具体实现时,可以针对当前的播放设备,来对这种时间差进行测试。
具体的,可以利用前述包含多份媒体内容的媒体文件,来实现这种测试。具体实现时,媒体文件的数据中除了包括多份媒体内容的数据以及各份媒体内容分别对应的标识信息之外,还可以包括各份媒体内容在媒体文件中的起始时间信息。这样,具体实现时,可以对相邻两份媒体内容的被读取情况进行监控,获得第一媒体内容开始被读取的第一绝对时间点,以及第二媒体内容开始被读取的第二绝对时间点,计算这两个绝对时间点之间的第一差值;然后再从第二目标簇的数据单元中确定该第一媒体内容的第一起始时间,以及第二媒体内容的第二起始时间,再计算出这两个起始时间之间的第二差值,之后,就可以将第二差值与第一差值之间的差值,确定为当前的播放设备从读取到播放之间的时间差。
例如,假设A和B是媒体文件中相邻的两份媒体内容,Time1为检测到媒体内容A被读取时的绝对时间点,Time1_1为在数据中记录的媒体内容A起始的时间点;Time2为检测到媒体内容B被读取时的绝对时间点,Time2_2为在数据记录的媒体内容B起始的时间点。则由于缓存引起的时间差可以描述为:
(Time2_2–Time1_1)–(Time2–Time1)
也即,媒体内容B实际开始播放的时间应等于(Time2+时间差),其他各媒体内容的实际开始播放的时间也可以按此进行修正。
例如,假设媒体内容A开始被读取时的绝对时间点Time1为10:00,媒体内容B开始被读取时的绝对时间点Time2为10:02;媒体文件的描述信息中记载,媒体内容A起始的时间点为第2分钟,媒体内容B的起始时间点为第4分10秒,也即证明该媒体内容A的实际时间长度为2分10秒,而媒体内容A与媒体内容B开始被读取的绝对时间相差为2分钟整,因此,可以计算出由于缓存引起的时间差为10秒钟。这样,后续再检测到某媒体内容开始被读取时,在该时刻基础上向后延迟10秒,再确认该媒体内容开始被播放。
其中,在存在轮播的情况下,由于媒体文件被反复轮播,误差值可取平均值达到更好效果,并且这个方法可以自适应于不同的播放器。
S203:通过所述无线通讯模块接收到终端设备发送的信息获取请求时,根据所述采用时间点正在被读取的媒体内容被播放的时间,确定当前正在播放的媒体内容对应的标识信息;所述信息获取请求用于获取所述播放设备中当前播放的媒体内容对应的目标标识信息;
由于存储设备中设有无线通讯模块,因此,可以通过该无线通讯模块来接收终端设备发送的信息获取请求。具体实现时,可以基于蓝牙等无线通信技术来实现。考虑到配对操作、功耗等原因,在优选的实施例中,可以是基于低功耗蓝牙(BLE4.0)技术来实现。这样,由于BLE4.0支持广播,并且数据传输双方之间不需要进行配对等操作,因此,更适合在地铁站、飞机场等人员密集的场所使用。具体的,在使用具有广播功能且不需要进行认证连接的无线通讯模块实现时,可以首先通过无线通讯模块广播其地址(例如MAC地址等),这样,在终端设备收听到广播的消息之后,就可以向存储设备发出信息获取请求。当然,在实际应用中,这种请求的发送还可以是由用户触发的,例如,在收听到广播消息的情况下,可以提示用户采用摇晃其终端设备等方式发出相关的指令,相应的,终端设备就可以向收听到的MAC地址发送信息获取请求。
S204:通过所述无线通讯模块将所述目标标识信息返回。
在确定出当前正在播放的媒体内容对应的关联内容的标识信息之后,就可以通过无线通讯模块返回给终端设备,这样,终端设备就可以利用目标标识信息,获取到与当前正在播放的媒体内容相关的信息。例如,可以是当前正在播放的媒体内容对应的关联内容。具体的,如果目标标识信息是关联内容的URL,则可以直接访问该URL,获得具体的关联内容。如果目标标识信息是关联内容的ID,则终端设备可以首先将该ID发送给服务器,根据服务器返回的URL获得具体的关联内容。
总之,通过前述实施例二,可以通过文件分配表对存储设备数据区的数据读写情况进行感知,并且由于媒体文件是经过合并得到的,尺寸比较大,因此,即使播放器对该媒体文件进行缓存,被缓存的部分也只占到该媒体文件很小的比例,这样,可以使得存储设备在大多数情况下都能感知到媒体文件被读取的情况,进而可以利用感知到的信息,为终端设备提供当前正在播放的媒体内容对应的标识信息等,实现与该终端设备之间的多屏互动。
与本申请实施例一提供的媒体文件的处理方法相对应,本申请实施例还提供了一种媒体文件的处理装置,参见图3,该装置具体可以包括:
文件合并单元301,用于将多个待存储媒体文件进行合并,生成组合媒体文件,其中,在所述组合媒体文件中,各个待存储媒体文件对应该组合媒体文件中的多份媒体内容;
信息确定单元302,用于确定各份媒体内容在所述组合媒体文件中的物理位置信息,以及各份媒体内容对应的标识信息;
目标媒体文件生成单元303,用于根据各份媒体内容对应的物理位置信息以及所述标识信息生成附加信息,添加到所述组合媒体文件的数据中,生成目标媒体文件;
保存单元304,用于将所述目标媒体文件保存到预置的存储设备中;
其中,所述附加信息用于,在所述目标媒体文件被播放设备访问的过程中,确定当前正在被访问的媒体内容对应的信息。
其中,该装置还可以包括:
起始时间信息确定单元,用于确定各份媒体内容在所述组合媒体文件中的起始时间信息;
所述目标媒体文件生成单元具体用于:
根据各份媒体内容对应的物理位置信息、所述标识信息以及所述起始时间信息,生成附加信息,其中,所述起始时间信息用于:根据相邻媒体内容实际被开始读取的时间,以及在媒体文件中的起始时间,确定出由于播放设备的缓存引起的媒体内容从被读取到被播放之间的时间差。
另外,该装置还可以包括:
大小确定单元,用于确定所述组合媒体文件的大小;
复制单元,用于如果所述组合媒体文件小于预置的阈值,则将所述组合媒体文件复制为多份,并进行合成。
与本申请实施例二提供的提供媒体内容信息的方法相对应,本申请实施例还提供了一种提供媒体内容信息的装置,该装置应用于存储设备中,所述存储设备设有无线通讯模块,所述存储设备中保存有目标媒体文件,通过播放设备进行播放,所述目标媒体文件是通过将多个待存储媒体文件进行合并,并在数据中添加附加信息后生成的,其中,在所述目标媒体文件中,各个待存储媒体文件对应该目标媒体文件中的多份媒体内容,所述附加信息包括各份媒体内容在所述目标媒体文件中的物理位置信息,以及各份媒体内容对应的标识信息;参见图4,该装置可以包括:
读取信息确定单元401,用于在所述目标媒体文件被读取的过程中,根据所述存储设备数据区的被读取情况,确定在预置的采样时间点正在被读取的媒体内容对应的标识信息;
播放时间确定单元402,用于根据所述播放设备从读取到播放之间的时间差,确定在所述采样时间点正在被读取的媒体内容被播放的时间;
目标标识信息确定单元403,用于通过所述无线通讯模块接收到终端设备发送的信息获取请求时,根据所述采用时间点正在被读取的媒体内容被播放的时间,确定当前正在播放的媒体内容对应的标识信息;所述信息获取请求用于获取所述播放设备中当前播放的媒体内容对应的目标标识信息;
目标标识信息返回单元404,用于通过所述无线通讯模块将所述目标标识信息返回。
具体实现时,所述存储设备包括多个簇,所述目标媒体文件的数据包括多个数据单元,每个数据单元按照在目标媒体文件中的先后顺序进行编号,并保存到存储设备数据区的多个簇中,所述附加信息记录在预置序号的数据单元中;所述读取信息确定单元401具体可以包括:
第一簇标识确定子单元,用于在所述目标媒体文件被读取的过程中,确定数据区中在所述采样时间点被读取数据单元所在的第一目标簇标识;
第二簇标识确定子单元,用于根据文件系统的文件分配表,确定所述第一目标簇标识对应的第二目标簇标识,以及所述第一目标簇中保存的数据单元在所述目标媒体文件中的位置信息;其中,所述第一目标簇中的数据单元与所述第二目标簇的数据单元属于同一目标媒体文件,所述第二目标簇中保存有该目标媒体文件中所述预置序号的数据单元;
读取信息确定子单元,用于根据所述第二目标簇中保存的数据单元,确定在采样时间点正在被读取的媒体内容对应的标识信息。
为了更便于进行读取信息的确定,该装置还可以包括:
快速索引表创建单元,用于预先根据所述文件分配表,建立快速索引表,其中,所述快速索引表的各个条目中保存有各个簇标识对应的指定簇标识,以及各个簇标识中的数据单元在对应媒体文件中的序号;其中,同一条目中,各个簇标识对应的数据单元属于同一媒体文件,且所述指定簇中保存有该媒体文件中所述预置序号的数据单元;
所述第二簇标识确定子单元具体用于:
根据所述预先建立的快速索引表,确定所述第一目标簇标识对应的第二目标簇标识,以及所述第一目标簇中保存的数据单元在所述目标媒体文件中的位置信息。
具体的,所述附加信息在媒体文件的最后一个数据单元中保存,则所述快速索引表创建单元,包括:
遍历子单元,用于遍历所述文件分配表,确定各个簇标识对应媒体文件的起始簇标识;其中,所述起始簇用于保存媒体文件的第一个数据单元;
起始簇记录子单元,用于在各个簇标识所在条目的第一字段中记录各自对应媒体文件的起始簇标识;
结束簇记录子单元,用于如果在遍历的过程中确定出某簇标识为对应媒体文件的结束簇,则将该簇标识记录在该媒体文件的起始簇所在条目的第二字段中;其中,所述结束簇用于保存对应媒体文件的最后一个数据单元;
所述第二簇标识确定子单元,包括:
第一条目确定子单元,用于确定所述第一目标簇标识所在的第一目标条目;
起始簇确定子单元,用于从该第一目标条目的所述第一字段中确定出该第一目标簇对应媒体文件的起始簇标识;
第二条目确定子单元,用于确定该起始簇标识所在的第二目标条目;
结束簇确定子单元,用于从该第二目标条目的所述第二字段中确定出该第一目标簇对应媒体文件的结束簇标识,将该结束簇标识确定为所述第二目标簇标识。
具体实现时,所述读取信息确定单元可以包括:
序号确定子单元,用于根据所述快速索引表,确定所述第一目标簇中的数据单元在对应媒体文件中的目标序号;
目标位置确定子单元,用于根据所述目标序号以及单个簇的数据容量,确定该第一目标簇中保存的数据单元在对应媒体文件中的目标物理位置信息;
媒体内容描述信息确定子单元,用于根据所述第二目标簇中的数据单元,确定该媒体文件中各份媒体内容分别所在的物理位置信息以及各自对应的标识信息;
匹配运算单元,用于将所述目标物理位置信息与各份媒体内容分别所在的物理位置信息进行匹配运算;
确定子单元,用于将匹配成功的媒体内容对应的标识信息,确定为在所述采样时间点正在被读取的媒体内容对应的标识信息。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的媒体文件的处理方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (17)
1.一种媒体文件的处理方法,其特征在于,包括:
将多个待存储媒体文件进行合并,生成组合媒体文件,其中,在所述组合媒体文件中,各个待存储媒体文件对应该组合媒体文件中的多份媒体内容;
确定各份媒体内容在所述组合媒体文件中的物理位置信息,以及各份媒体内容对应的标识信息;
根据各份媒体内容对应的物理位置信息以及所述标识信息生成附加信息,添加到所述组合媒体文件的数据中,生成目标媒体文件;
将所述目标媒体文件保存到预置的存储设备中;
其中,所述附加信息用于,在所述目标媒体文件被播放设备访问的过程中,确定当前正在被访问的媒体内容对应的信息;
还包括:
确定所述组合媒体文件的大小;
如果所述组合媒体文件小于预置的阈值,则将所述组合媒体文件进行合成。
2.根据权利要求1所述的方法,其特征在于,还包括:
确定各份媒体内容在所述组合媒体文件中的起始时间信息;
所述根据各份媒体内容对应的物理位置信息以及所述标识信息生成附加信息,包括:
根据各份媒体内容对应的物理位置信息、所述标识信息以及所述起始时间信息,生成附加信息,其中,所述起始时间信息用于:根据相邻媒体内容实际被开始读取的时间,以及在媒体文件中的起始时间,确定出由于播放设备的缓存引起的媒体内容从被读取到被播放之间的时间差。
3.根据权利要求1所述的方法,其特征在于,所述媒体内容对应的标识信息包括:媒体内容对应的关联内容的标识信息。
4.根据权利要求3所述的方法,其特征在于,所述关联内容的标识信息包括预先为媒体内容指定的关联内容的网络地址,以便通过访问所述网络地址,获取所述关联内容。
5.根据权利要求3所述的方法,其特征在于,所述关联内容的标识信息为预先为所述媒体内容分配的ID信息,并预先在服务器保存ID与关联内容网络地址之间的关联关系,以便利用所述ID信息,从服务器获取所述关联内容的网络地址,并通过访问所述网络地址获取对应的关联内容。
6.一种提供媒体内容信息的方法,其特征在于,应用于存储设备中,所述存储设备设有无线通讯模块,所述存储设备中保存有目标媒体文件,通过播放设备进行播放,所述目标媒体文件是通过将多个待存储媒体文件进行合并,并在数据中添加附加信息后生成的,其中,在所述目标媒体文件中,各个待存储媒体文件对应该目标媒体文件中的多份媒体内容,所述附加信息包括各份媒体内容在所述目标媒体文件中的物理位置信息,以及各份媒体内容对应的标识信息;所述方法包括:
在所述目标媒体文件被读取的过程中,根据所述存储设备数据区的被读取情况,确定在预置的采样时间点正在被读取的媒体内容对应的标识信息;
根据所述播放设备从读取到播放之间的时间差,确定在所述采样时间点正在被读取的媒体内容被播放的时间;
通过所述无线通讯模块接收到终端设备发送的信息获取请求时,根据所述采样时间点正在被读取的媒体内容被播放的时间,确定当前正在播放的媒体内容对应的目标标识信息;所述信息获取请求用于获取所述播放设备中当前播放的媒体内容对应的目标标识信息;
通过所述无线通讯模块将所述目标标识信息返回。
7.根据权利要求6所述的方法,其特征在于,所述存储设备包括多个簇,所述目标媒体文件的数据包括多个数据单元,每个数据单元按照在目标媒体文件中的先后顺序进行编号,并保存到存储设备数据区的多个簇中,所述附加信息记录在预置序号的数据单元中;所述根据所述存储设备数据区的被读取情况,确定在预置的采样时间点正在被读取的媒体内容对应的标识信息,包括:
在所述目标媒体文件被读取的过程中,确定数据区中在所述采样时间点被读取数据单元所在的第一目标簇标识;
根据文件系统的文件分配表,确定所述第一目标簇标识对应的第二目标簇标识,以及所述第一目标簇中保存的数据单元在所述目标媒体文件中的位置信息;其中,所述第一目标簇中的数据单元与所述第二目标簇的数据单元属于同一目标媒体文件,所述第二目标簇中保存有该目标媒体文件中所述预置序号的数据单元;
根据所述第二目标簇中保存的数据单元,确定在所述采样时间点正在被读取的媒体内容对应的标识信息。
8.根据权利要求7所述的方法,其特征在于,还包括:
预先根据所述文件分配表,建立快速索引表,其中,所述快速索引表的各个条目中保存有各个簇标识对应的指定簇标识,以及各个簇标识中的数据单元在对应媒体文件中的序号;其中,同一条目中,各个簇标识对应的数据单元属于同一媒体文件,且所述指定簇中保存有该对应媒体文件中所述预置序号的数据单元;
所述根据文件系统的文件分配表,确定所述第一目标簇标识对应的第二目标簇标识,以及所述第一目标簇中保存的数据单元在所述目标媒体文件中的位置信息,包括:
根据所述快速索引表,确定所述第一目标簇标识对应的第二目标簇标识,以及所述第一目标簇中保存的数据单元在所述目标媒体文件中的位置信息。
9.根据权利要求8所述的方法,其特征在于,所述附加信息在媒体文件的最后一个数据单元中保存,则所述预先根据所述文件分配表,建立快速索引表,包括:
遍历所述文件分配表,确定各个簇标识对应媒体文件的起始簇标识;其中,所述起始簇用于保存媒体文件的第一个数据单元;
在各个簇标识所在条目的第一字段中记录各自对应媒体文件的起始簇标识;
如果在遍历的过程中确定出某簇标识为对应媒体文件的结束簇的簇标识,则将该某簇标识记录在该对应媒体文件的起始簇所在条目的第二字段中;其中,所述结束簇用于保存对应媒体文件的最后一个数据单元;
所述根据所述快速索引表,确定所述第一目标簇标识对应的第二目标簇标识,包括:
确定所述第一目标簇标识所在的第一目标条目;
从该第一目标条目的所述第一字段中确定出该第一目标簇对应媒体文件的起始簇标识;
确定该第一目标簇对应媒体文件的起始簇标识所在的第二目标条目;
从该第二目标条目的所述第二字段中确定出该第一目标簇对应媒体文件的结束簇标识,将该第一目标簇对应媒体文件的结束簇标识确定为所述第二目标簇标识。
10.根据权利要求8所述的方法,其特征在于,所述根据所述第二目标簇中保存的数据单元,确定在所述采样时间点正在被读取的媒体内容对应的标识信息,包括:
根据所述快速索引表,确定所述第一目标簇中的数据单元在对应媒体文件中的目标序号;
根据所述目标序号以及单个簇的数据容量,确定该第一目标簇中保存的数据单元在对应媒体文件中的目标物理位置信息;
根据所述第二目标簇中的数据单元,确定该对应媒体文件中各份媒体内容分别所在的物理位置信息以及各自对应的标识信息;
将所述目标物理位置信息与各份媒体内容分别所在的物理位置信息进行匹配运算;
将匹配成功的媒体内容对应的标识信息,确定为在所述采样时间点正在被读取的媒体内容对应的标识信息。
11.一种媒体文件的处理装置,其特征在于,包括:
文件合并单元,用于将多个待存储媒体文件进行合并,生成组合媒体文件,其中,在所述组合媒体文件中,各个待存储媒体文件对应该组合媒体文件中的多份媒体内容;
信息确定单元,用于确定各份媒体内容在所述组合媒体文件中的物理位置信息,以及各份媒体内容对应的标识信息;
目标媒体文件生成单元,用于根据各份媒体内容对应的物理位置信息以及所述标识信息生成附加信息,添加到所述组合媒体文件的数据中,生成目标媒体文件;
保存单元,用于将所述目标媒体文件保存到预置的存储设备中;
其中,所述附加信息用于,在所述目标媒体文件被播放设备访问的过程中,确定当前正在被访问的媒体内容对应的信息;
还包括:
大小确定单元,用于确定所述组合媒体文件的大小;
复制单元,用于如果所述组合媒体文件小于预置的阈值,则将所述组合媒体文件复制为多份,并进行合成。
12.根据权利要求11所述的装置,其特征在于,还包括:
起始时间信息确定单元,用于确定各份媒体内容在所述组合媒体文件中的起始时间信息;
所述目标媒体文件生成单元具体用于:
根据各份媒体内容对应的物理位置信息、所述标识信息以及所述起始时间信息,生成附加信息,其中,所述起始时间信息用于:根据相邻媒体内容实际被开始读取的时间,以及在媒体文件中的起始时间,确定出由于播放设备的缓存引起的媒体内容从被读取到被播放之间的时间差。
13.一种提供媒体内容信息的装置,其特征在于,应用于存储设备中,所述存储设备设有无线通讯模块,所述存储设备中保存有目标媒体文件,通过播放设备进行播放,所述目标媒体文件是通过将多个待存储媒体文件进行合并,并在数据中添加附加信息后生成的,其中,在所述目标媒体文件中,各个待存储媒体文件对应该目标媒体文件中的多份媒体内容,所述附加信息包括各份媒体内容在所述目标媒体文件中的物理位置信息,以及各份媒体内容对应的标识信息;所述装置包括:
读取信息确定单元,用于在所述目标媒体文件被读取的过程中,根据所述存储设备数据区的被读取情况,确定在预置的采样时间点正在被读取的媒体内容对应的标识信息;
播放时间确定单元,用于根据所述播放设备从读取到播放之间的时间差,确定在所述采样时间点正在被读取的媒体内容被播放的时间;
目标标识信息确定单元,用于通过所述无线通讯模块接收到终端设备发送的信息获取请求时,根据所述采样时间点正在被读取的媒体内容被播放的时间,确定当前正在播放的媒体内容对应的目标标识信息;所述信息获取请求用于获取所述播放设备中当前播放的媒体内容对应的目标标识信息;
目标标识信息返回单元,用于通过所述无线通讯模块将所述目标标识信息返回。
14.根据权利要求13所述的装置,其特征在于,所述存储设备包括多个簇,所述目标媒体文件的数据包括多个数据单元,每个数据单元按照在目标媒体文件中的先后顺序进行编号,并保存到存储设备数据区的多个簇中,所述附加信息记录在预置序号的数据单元中;所述读取信息确定单元,包括:
第一簇标识确定子单元,用于在所述目标媒体文件被读取的过程中,确定数据区中在所述采样时间点被读取数据单元所在的第一目标簇标识;
第二簇标识确定子单元,用于根据文件系统的文件分配表,确定所述第一目标簇标识对应的第二目标簇标识,以及所述第一目标簇中保存的数据单元在所述目标媒体文件中的位置信息;其中,所述第一目标簇中的数据单元与所述第二目标簇的数据单元属于同一目标媒体文件,所述第二目标簇中保存有该目标媒体文件中所述预置序号的数据单元;
读取信息确定子单元,用于根据所述第二目标簇中保存的数据单元,确定在所述采样时间点正在被读取的媒体内容对应的标识信息。
15.根据权利要求14所述的装置,其特征在于,还包括:
快速索引表创建单元,用于预先根据所述文件分配表,建立快速索引表,其中,所述快速索引表的各个条目中保存有各个簇标识对应的指定簇标识,以及各个簇标识中的数据单元在对应媒体文件中的序号;其中,同一条目中,各个簇标识对应的数据单元属于同一媒体文件,且所述指定簇中保存有该对应媒体文件中所述预置序号的数据单元;
所述第二簇标识确定子单元具体用于:
根据所述快速索引表,确定所述第一目标簇标识对应的第二目标簇标识,以及所述第一目标簇中保存的数据单元在所述目标媒体文件中的位置信息。
16.根据权利要求15所述的装置,其特征在于,所述附加信息在媒体文件的最后一个数据单元中保存,则所述快速索引表创建单元,包括:
遍历子单元,用于遍历所述文件分配表,确定各个簇标识对应媒体文件的起始簇标识;其中,所述起始簇用于保存媒体文件的第一个数据单元;
起始簇记录子单元,用于在各个簇标识所在条目的第一字段中记录各自对应媒体文件的起始簇标识;
结束簇记录子单元,用于如果在遍历的过程中确定出某簇标识为对应媒体文件的结束簇的簇标识,则将该某簇标识记录在该对应媒体文件的起始簇所在条目的第二字段中;其中,所述结束簇用于保存对应媒体文件的最后一个数据单元;
所述第二簇标识确定子单元,包括:
第一条目确定子单元,用于确定所述第一目标簇标识所在的第一目标条目;
起始簇确定子单元,用于从该第一目标条目的所述第一字段中确定出该第一目标簇对应媒体文件的起始簇标识;
第二条目确定子单元,用于确定该第一目标簇对应媒体文件的起始簇标识所在的第二目标条目;
结束簇确定子单元,用于从该第二目标条目的所述第二字段中确定出该第一目标簇对应媒体文件的结束簇标识,将该第一目标簇对应媒体文件的结束簇标识确定为所述第二目标簇标识。
17.根据权利要求15所述的装置,其特征在于,所述读取信息确定单元包括:
序号确定子单元,用于根据所述快速索引表,确定所述第一目标簇中的数据单元在对应媒体文件中的目标序号;
目标位置确定子单元,用于根据所述目标序号以及单个簇的数据容量,确定该第一目标簇中保存的数据单元在对应媒体文件中的目标物理位置信息;
媒体内容描述信息确定子单元,用于根据所述第二目标簇中的数据单元,确定该对应媒体文件中各份媒体内容分别所在的物理位置信息以及各自对应的标识信息;
匹配运算单元,用于将所述目标物理位置信息与各份媒体内容分别所在的物理位置信息进行匹配运算;
确定子单元,用于将匹配成功的媒体内容对应的标识信息,确定为在所述采样时间点正在被读取的媒体内容对应的标识信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410510781.9A CN105528348B (zh) | 2014-09-28 | 2014-09-28 | 媒体文件的处理方法及装置 |
HK16110343.5A HK1222240A1 (zh) | 2014-09-28 | 2016-08-31 | 媒體文件的處理方法及裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410510781.9A CN105528348B (zh) | 2014-09-28 | 2014-09-28 | 媒体文件的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105528348A CN105528348A (zh) | 2016-04-27 |
CN105528348B true CN105528348B (zh) | 2020-03-20 |
Family
ID=55770581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410510781.9A Active CN105528348B (zh) | 2014-09-28 | 2014-09-28 | 媒体文件的处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105528348B (zh) |
HK (1) | HK1222240A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107920262A (zh) * | 2016-10-08 | 2018-04-17 | 北京优朋普乐科技有限公司 | 一种媒体文件发布方法及装置 |
CN106528763B (zh) * | 2016-10-28 | 2019-11-01 | 北京海誉动想科技股份有限公司 | 两路及多路文件块合并的方法 |
CN108228673B (zh) * | 2016-12-22 | 2021-09-03 | 上海凯翔信息科技有限公司 | 一种文件快速合并的方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622094A (zh) * | 2004-12-24 | 2005-06-01 | 北京中星微电子有限公司 | 一种合并文件的方法 |
CN101325083A (zh) * | 2008-07-28 | 2008-12-17 | 凌阳科技股份有限公司 | 一种多媒体文件无缝播放的方法 |
CN103517135A (zh) * | 2012-06-28 | 2014-01-15 | Tcl集团股份有限公司 | 一种连续播放mp4格式视频文件的方法、系统及电视 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1585128A4 (en) * | 2002-11-20 | 2008-05-07 | Matsushita Electric Ind Co Ltd | DEVICE AND METHOD FOR INTEGRATION OF INTEGRATED VIDEO DATA FILES AND DEVICE AND METHOD FOR REPRODUCING INTEGRATED VIDEO DATA FILES |
-
2014
- 2014-09-28 CN CN201410510781.9A patent/CN105528348B/zh active Active
-
2016
- 2016-08-31 HK HK16110343.5A patent/HK1222240A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622094A (zh) * | 2004-12-24 | 2005-06-01 | 北京中星微电子有限公司 | 一种合并文件的方法 |
CN101325083A (zh) * | 2008-07-28 | 2008-12-17 | 凌阳科技股份有限公司 | 一种多媒体文件无缝播放的方法 |
CN103517135A (zh) * | 2012-06-28 | 2014-01-15 | Tcl集团股份有限公司 | 一种连续播放mp4格式视频文件的方法、系统及电视 |
Also Published As
Publication number | Publication date |
---|---|
HK1222240A1 (zh) | 2017-06-23 |
CN105528348A (zh) | 2016-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106911780B (zh) | 业务id生成方法、装置及系统 | |
CN101677325B (zh) | 发布媒体描述信息和获取媒体的方法、装置、系统 | |
CN106874348B (zh) | 文件存储和索引方法、装置及读取文件的方法 | |
WO2016086819A1 (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN107436725A (zh) | 一种数据写、读方法、装置及分布式对象存储集群 | |
JP6982121B2 (ja) | 記憶デバイスに記憶されたデータに関連付けられたメディア情報を特定する方法及び装置 | |
CN105426127A (zh) | 一种分布式集群系统的文件存储方法及装置 | |
US10862936B2 (en) | Unified playback position | |
CN103116552A (zh) | 用于在分布式存储系统中分配存储空间的方法和装置 | |
CN103096126B (zh) | 协作式缓存集群中面向视频点播服务的协作式缓存方法及系统 | |
RU2016116538A (ru) | Объединение исходного массива данных для эффективного синхронизированного воспроизведения на множестве устройств | |
CN103425785A (zh) | 数据存储系统及其用户数据存储、读取方法 | |
CN102779180A (zh) | 数据存储系统的操作处理方法,数据存储系统 | |
CN102868922A (zh) | 一种播放广告的方法及系统 | |
US9170712B2 (en) | Presenting content related to current media consumption | |
CN103678523A (zh) | 分布式高速缓存cache数据访问方法和装置 | |
CN102769638A (zh) | 一种下载文件的方法、装置及系统 | |
JP6336624B2 (ja) | マルチメディア表示方法、装置及びデバイス | |
CN105528348B (zh) | 媒体文件的处理方法及装置 | |
CN103607461A (zh) | 一种信息共享方法及云端服务器 | |
CN103399860A (zh) | 内容显示方法和装置 | |
CN103778120B (zh) | 全局文件标识生成方法、生成装置及相应的分布式文件系统 | |
CN102006500B (zh) | 一种应用于缓存服务器的视频拖拽方法及装置 | |
CN103716573A (zh) | 一种视频回放的方法和设备 | |
CN111803917A (zh) | 资源的处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1222240 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |