媒体流数据处理方法及其装置的制作方法

文档序号:7753406阅读:259来源:国知局
专利名称:媒体流数据处理方法及其装置的制作方法
技术领域
本发明涉及通信技术领域中的流媒体技术,尤其涉及媒体流数据处理方法及其装置。
背景技术
目前,市场上视频监控产品的生产厂家较多,而不同的厂家都使用自己私有的码 流格式,没有统一的标准,这使得不同厂家的产品难以整合。如果在未知接入厂家码流格式 的情况下,就很难实现媒体数据的统一存储和回放。对于第三方设备,在大多数情况下如果 不能知道其具体的码流格式,只能使用设备本身的本地存储方案来解决。现有的解决方案一般有两种,一种是在已知码流格式的情况下,这是一种最好的 情况,只需要解析对方码流,获取到其中I帧组(即Group of Pictures,简称GOP)的信 息,然后分别写入到具体存储格式的相应结构中;在回放时可以通过分析存储格式中的时 间戳,并利用I帧组信息进行回放的控制,从而达到和原播放码流一样的效果。另一种是在未知码流格式的情况下,由于无法解析对方码流,只能直接把原码流 保存下来。这种情况下,在回放的时候就难以控制发包的大小和发包的速度,无法还原码 流,结果可能导致出现图像跳帧、延时或者无法解析图像。发明人在实现本发明的过程中,发现现有技术至少存在以下问题在未知码流格式的情况下,无法根据回放需要而存储音视频码流,也无法对音视 频码流的回放进行控制,以致无法还原音视频码流。

发明内容
本发明提供了一种媒体流处理方法及其装置,用以解决在未知媒体流格式的情况 下,现有技术无法处理媒体流的问题。本发明提供的一种媒体流处理方法,包括接收媒体流数据包,并记录每个数据包的接收时间和数据包的长度;其中,每当设 定时长到达时,将在该时长内接收到的数据包以及所记录的数据包接收时间信息和数据包 长度信息,作为一个数据单元存储至媒体文件的数据区域。上述方法中,在将数据单元存储至媒体文件的数据区域中时,将数据包接收时间 信息和数据包长度信息设置于相应数据包的头区域,或设置于相应数据包负荷部分的头区 域中。上述方法中,将数据单元存储至媒体文件的数据区域时,还包括将数据单元的总 长度信息设置于数据单元的头区域;或/和,将数据单元中包含的数据包数量信息记录在 所述数据区域中。上述方法中,所述媒体文件还包括索引区域,该方法还包括以所述设定时长的 时间单位作为索引,将每个设定时长内接收到的数据包数量作为索引项设置于所述索引区 域。
上述方法,还包括当需要播放所述媒体文件时,从媒体文件数据区域的数据单元 中获取媒体流数据包,并将获取到的数据包发送至媒体播放装置,其中,按照数据包的接收 时间顺序,在每个所述设定时长内发送从相应数据单元中获取到的媒体流数据包。上述方法中,在一个设定时长内发送从相应数据单元中获取到的媒体流数据包的 步骤,包括根据相应数据单元中每个数据包的接收时间和数据包长度,分别获取所述数据单 元中每个时间单元内接收到的数据包,并在每个时间单元内仅发送该时间单元内接收到的 数据包,所述时间单元的长度小于所述设定时长。上述方法中,其特征在于,所述媒体文件为高级系统格式ASF文件,所述数据单元 为I帧组。本发明提供的媒体流数据处理装置,其特征在于,包括接收单元,用于接收媒体流数据包;记录单元,与所述接收单元连接,用于记录所述接收单元接收到的每个数据包的 接收时间和数据包的长度;存储单元,分别与所述接收单元和所述记录单元连接,用于每当设定时长到达时, 将所述接收单元在该时长内接收到的数据包以及所述记录单元所记录的数据包接收时间 信息和数据包长度信息,作为一个数据单元存储至媒体文件的数据区域。上述装置中,所述存储单元具体用于,在将数据单元存储至媒体文件的数据区域 中时,将数据包接收时间信息和数据包长度信息设置于相应数据包的头区域,或设置于相 应数据包负荷部分的头区域中。上述装置中,所述存储单元具体用于,在将数据单元存储至媒体文件的数据区域 中时,将数据单元中包含的数据包数量信息记录在所述数据区域中;或/和,将数据单元的 总长度信息设置于数据单元的头区域。上述装置中,所述媒体文件还包括索引区域,所述存储单元还用于,以所述设定时 长的时间单位作为索引,将每个设定时长内接收到的数据包数量作为索引项设置于所述索 引区域。上述装置,还包括获取单元,用于当需要播放所述媒体文件时,从媒体文件数据区域的数据单元中 获取媒体流数据包;发送单元,用于将所述获取单元获取到的媒体流数据包发送至媒体流播放装置, 其中,按照数据包的接收时间顺序,在每个所述设定时长内发送从相应数据单元中获取到 的媒体流数据包。上述装置中,所述发送单元在一个设定时长内发送从相应数据单元中获取到的媒 体流数据包时具体用于,根据相应数据单元中每个数据包的接收时间和数据包长度,分别 获取所述数据单元中每个时间单元内接收到的数据包,并在每个时间单元内仅发送该时间 单元内接收到的数据包,所述时间单元的长度小于所述设定时长。本发明的有益技术效果包括通过在接收媒体流数据包时,记录每个数据包的接收时间和数据包长度,并每当 设定时长到达时,将在该时长内接收到的数据包以及所记录的数据包接收时间信息和数据包长度信息,作为一个数据单元存储至媒体文件的数据区域,从而提供了一种通用的数据 存储方式,而不用关心媒体流的数据格式。本发明提供的另一种媒体流处理方法,包括从媒体文件数据区域的数据单元中获取媒体流数据包,其中,按照数据包的接收 时间顺序,每个数据单元中存储的是相应设定时长内接收到的媒体流数据包;将获取到的数据包发送至媒体播放装置,其中,按照数据包的接收时间顺序,在每 个所述设定时长内发送从相应数据单元中获取到的媒体流数据包。上述方法中,在一个设定时长内发送从相应数据单元中获取到的媒体流数据包的 步骤,包括根据相应数据单元中每个数据包的接收时间和数据包长度,分别获取所述数据 单元中每个时间单元内接收到的数据包,并在每个时间单元内仅发送该时间单元内接收到 的数据包,所述时间单元的长度小于所述设定时长。上述方法中,所述媒体文件为ASF文件,所述数据单元为I帧组。本发明提供的另一种媒体流数据处理装置,包括获取单元,用于从媒体文件的数据区域的数据单元中获取媒体流数据包,其中,按 照数据包的接收时间顺序,每个数据单元中存储的是相应设定时长内接收到的媒体流数据 包;发送单元,用于将所述获取单元获取到的媒体流数据包发送给媒体流播放装置, 其中,按照数据包的接收时间顺序,在每个所述设定时长内发送从相应数据单元中获取到 的媒体流数据包。上述装置中,所述发送单元在一个设定时长内发送从相应数据单元中获取到的媒 体流数据包时具体用于,根据相应数据单元中每个数据包的接收时间和数据包长度,分别 获取所述数据单元中每个时间单元内接收到的数据包,并在每个时间单元内仅发送该时间 单元内接收到的数据包,所述时间单元的长度小于所述设定时长。本发明的有益技术效果包括通过从媒体文件数据区域的数据单元获取数据包并发送到媒体播放装置时,按照 数据包的接收时间顺序,在每个设定时长内发送从相应数据单元中获取到的媒体流数据 包,从而提供了 一种通用的媒体流数据回放方式,而不用关心媒体流数据的格式。


图1为现有技术中ASF格式的示意图;图2为本发明实施例提供的ASF格式示意图;图3为本发明实施例提供的数据存储流程示意图;图4为本发明实施例提供的数据回放流程示意图;图5、图6和图7分别为本发明实施例提供的媒体流数据处理装置的结构示意图。
具体实施例方式为了解决现有技术存在的上述问题,本发明实施例通过在接收媒体流数据包时, 记录每个数据包的接收时间和数据包的长度,其中,每当设定时长到达时,将在该时长内接 收到的数据包以及所记录的数据包接收时间信息和数据包长度信息,作为一个数据单元存储至媒体文件的数据区域,从而在未知媒体流格式的情况下,提供了一种通用的存储方式。 当需要播放以上述方式存储的媒体文件时,从媒体文件数据区域的数据单元中获取媒体流 数据包,并将获取到的数据包发送至媒体播放装置,其中,按照数据包的接收时间在每个设 定时长内发送从相应数据单元中获取到的媒体流数据包,从而在未知媒体流格式的情况 下,提供了一种通用的回放方式。为了更清楚的说明本发明实施例的实现过程,下面以ASF(AdVanCed Streaming Format,高级串流格式)作为存储格式进行详细阐述。ASF格式是一种可扩展文件格式,用于存储同步的多媒体数据。它支持通过各种网 络和协议的数据传递,同时适用于本地播放。ASF格式分为三个部分文件头区域、数据区 域、索引区域。每个部分又包括头信息、具体数据两部分,如图1所示。其中文件头区域,记录有整个文件的属性,如播放的时间等;数据区域,存储的是媒体流数据。数据按Data Packet(数据包)来管理,每个Data Packet包含有不同大小的Payload (负荷),Payload用来存储具体的数据。数据部分是以 I帧组(GOP)为单位组织的,每一个存储I帧数据的Payload都有一个标志位,用来说明该 Payload存储的是I帧数据;索引区域,包括索引头和索引项,索引头中指出了索引区域的大小,索引项是以秒 为单位组织的,每秒对应一个索引项,每个索引项中包含了要查找的Data Packet的号码, 以及Data Packet的数量。本发明实施例中,对于未知格式的媒体流数据,依然使用ASF格式的基本结构来 存储,但是对数据区域所存储的内容进行了改进。如图2所示,在本发明实施例所提供的ASF结构中数据区域中,数据以本发明实施 例定义的GOP为单位组织,为区别现有G0P,将本发明实施例定义的GOP称为虚拟G0P。虚 拟GOP内可包含多个Data Packet,一个虚拟GOP由1秒钟(该时长也可根据文件格式的规 定自定义,对于ASF文件格式可定义为1秒)内收到的多个Data Packet组成,在一个虚拟 GOP最前面是当前虚拟GOP的数据长度,在每一个Data Packet前面(即Data Packet头 区域)分别记录有收到Data Packet时的时间戳(Object Time)和该Data Packet的长度 (Object Size)。Data Packet的媒体流数据可存放在Payload中。此外,该媒体流数据存储结构中,文件头区域可存储文件的属性信息;索引区域可 存储索引信息(文件头区域和索引区域未在图2中示出)。基于图2所示的媒体流数据存储结构,图3示出了数据存储流程。当接收到未知格 式的媒体流的实况数据时,将接收到的媒体流数据存储到图2所示的存储结构中的过程, 可包括步骤301、调用媒体流接口,获取媒体流数据。该步骤中,可通过调用第三方实况收流接口(即接收媒体流的接口)来获取媒体 流数据。步骤302、在接收Data Packet时,针对接收到的每个Data Packet记录当前的系 统时间(此处以time (η)表示,即接收第η个Data Packet时的系统时间),该时间可精确 到毫秒,还记录Data Packet的长度(此处以length (η)表示,即第η个Data Packet的长 度),并在缓存中保存接收到的Data Packet和对应于每个接收到的Data Packet所记录的系统时间和包长度。步骤303、是否到达1秒,如果到达1秒,则执行步骤304 ;否则,参照步骤302的描 述继续接收Data Packet以及进行相关记录(步骤305)。该步骤中,由于图2所示的数据存储结构中的索引区域是以秒进行索引的,因此 此处设置为1秒,即每经历1秒钟时执行步骤304。步骤304、将上述1秒钟内接收到的Data Packet以及记录的系统时间和Data Packet的长度从缓存中读出,并写入图2所示的数据存储结构中的一个虚拟GOP。该步骤中,在将缓存的数据写入图2所示的数据存储结构时,可在该虚拟GOP的头 部的Size区域写入上述1秒中内接收到的所有Data Packet的长度,该值可通过每个Data Packet的长度计算得到;并针对上述1秒钟内缓存中保持的每个Data Packet,以第η个 Data Packet为例,执行以下步骤从缓存读出Data Packet η写入一个虚拟GOP的Data Packet区域中的Object Data区域,并在Data Packet η区域头部的Object Time区域 写入Data Packet η的接收时间time (η),在Ob ject Size区域写入Data Packet η长度 length(η)。步骤305、继续参照步骤302接收Data Packet以及进行相关记录。当所有Data Packet接收完成之后,本流程结束。进一步的,还可以在该数据存储结构中的文件头区域写入媒体流的属性信息,如 媒体流的长度和媒体流的时长;流媒体的长度可根据文件头区域的长度、数据区域的长度 和索引区域的长度计算得到,即三个区域长度之和;媒体流的时长即为接收该媒体流所用 的时长。还可以在索引区域写入索引信息,其中,索引区域的索引头可指出该索引区域的长 度,索引项可以是以秒为单位组织的,每秒对应一个索引项,每个索引项中包含了 1秒钟内 接收到的Data Packet的数量。经过以上流程后,接收到的媒体流数据将以图2所示的数据存储结构存储,该数 据存储结构基本与ASF文件结构相同,即以ASF文件格式方式存储接收到的媒体流数据,但 数据区域是以虚拟GOP组织的,即以1秒钟内接收到的Data Packet进行组织,Data Packet 对应的Object Time是接收到该Data Packet的系统时间。需要说明的是,在执行步骤303以及步骤304的过程中,并不中断对Data Packet 的接收和相关的记录操作。图4示出了基于图2所示的媒体流数据存储结构所存储的媒体流的回放流程。当 需要回放以图2所示的媒体流数据存储结构存储的媒体流时,如图4所示,该流程可包括步骤401、找到需要回放的媒体流数据的起始位置和结束位置。该步骤中,由于图2所示的数据存储结构基本与ASF格式相同,因此可按照ASF格 式方式找到需要回放的数据的起始位置和结束位置。具体的,如果回放的起始位置为媒体 流的起始位置,则在图2所示的数据存储结构的数据区域中找到第一个虚拟GOP ;如果回放 的起始位置不是媒体流的起始位置,则可根据所选择的回放时间起点,在索引区域找到对 应的索引项(索引项是以时间单位进行索引的),根据该索引项找到对应的虚拟G0P。由于 本发明实施例中,虚拟GOP中记录的是1秒钟内接收到的Data Packet,而索引项也是以秒 为单位进行索引的,因此,GOP和索引项存在一定的对应关系。这样,可通过回放时间起点 找到对应的索引项,进而找到对应的虚拟G0P。同理,结束位置所对应的虚拟GOP也可以根
8据该方式确定。步骤402、读取回放起始位置的虚拟GOP的长度,根据该长度读取一个虚拟GOP内 的Data Packet至Ij缓存中。该步骤中,由于ASF Payload格式的关系,如果一个虚拟GOP包含多个Data Packet,则在读取Data Packet时需要过滤头信息,如过滤掉各Data Packet的Object Size 信息禾口 Object Time 信息。步骤403、将读入到缓存中的Data Packet发送给媒体播放装置进行回放。该步骤中,可根据每个Data Packet的接收时间和Data Packet长度,分别获取虚 拟GOP中每个时间单元内接收到的Data Packet,并在每个时间单元内仅发送该时间单元 内接收到的Data Packet。本发明实施例中的虚拟GOP是以特定时间长度内接收到的Data Packet进行组织的,因此,上述每个时间单元都小于该特定时间长度,优选的,可以将该特 定时间长度进行η (η为整数)等分,所得到的每个时间段就是一个时间单元。该时间单元 可根据系统的时钟函数的精确度来确定。以系统的时钟处理函数能够精确到25ms为例(即时间单元为25ms),步骤303的 具体实现可以是根据缓存中的每一个Data Packet前的时间戳和长度,找到虚拟GOP所包 含的Data Packet中第一个25ms内的所有Data Packet,在第一个25ms内连续发送这些 Data Packet,如果这些Data Packet发送完成了,但还未到25ms,则可等到到达25ms时再 发送第二个25ms内的Data Packet,以此来控制媒体流的回放速度。以此类推,在一个25ms 内的所有Data Packet发送完毕后,再发送下一个25ms内的所有Data Packet,直到一个虚 拟GOP内的Data Packet发送完毕。步骤404、在下一秒钟到达时,读取下一个虚拟GOP所包含的Data Packet到缓存, 并按照步骤403的方式发送给媒体播放装置。当然,也可以预先将下一个虚拟GOP所包含的 Data Packet读取到缓存中,在下一秒钟达到时,发送该预先读取的虚拟GOP所包含的Data Packet。针对每个虚拟GOP重复以上操作,即在完成一个虚拟GOP所包含的Data Packet 的回放操作后,将下一秒钟对应的虚拟GOP所包含的Data Packet进行回放,直到到达回放
结束位置。可以看出,对于接收到的媒体流实况数据按照本发明实施例提供的方式存储后, 在回放时,再按照上述方式发送给媒体播放装置进行回放,其发送给媒体播放装置的方式 与其接收媒体流实况数据的方式相应,对于媒体播放装置来说,可以基本还原该媒体流实 况数据。在本发明的另一实施例中,对于ASF格式文件,在向其存储媒体流数据时,可以不 必在每个Data Packet之前记录时间戳和包长度信息,而只在Payload头区域中进行记录, 这样可以节省存储空间,这是因为根据ASF格式的规定,需要在Payload头区域中记录相 关信息,如Data Packet的长度,因此就没有必要在每个Data Packet之前(即Data Packet 头区域中)重复记录了。在本发明的另一实施例中,对于ASF格式文件,在向其存储媒体流数据时,可以不 必记录GOP的总长度,因为通过记录在Data Packet头区域中的Payload个数(该Payload 个数也就是Data Packet个数)以及每个Data Packet的长度可以计算得到GOP的总长度,以便在媒体流回放时根据GOP长度读取其中的Data Packet,这样可以节省存储空间。通过以上描述可以看出,本发明实施例通过将1秒钟内接收到的Data Packet作 为一个GOP保存在ASF格式文件中的数据区域,从而不需要关心具体的媒体流格式,实现了 统一存储。当需要进行媒体流回放时,可从该ASF中获取Data Packet,并按照接收的时间 进行回放,从而实现了统一回放,并且对于具体的存储格式没有要求,且基本无需变化。基于相同的技术构思,本发明实施例还提供了实现上述流程的媒体流数据处理装 置。如图5所示,媒体流数据处理装置10可应用于图3所示流程,该装置可包括接收 单元301、记录单元302和存储单元303,其中接收单元301,用于接收媒体流数据包;记录单元302,与接收单元301连接,用于记录接收单元301接收到的每个数据包 的接收时间和数据包的长度;存储单元303,分别与接收单元301和记录单元302连接,用于每当设定时长到达 时,将接收单元301在该时长内接收到的数据包以及记录单元302所记录的数据包接收时 间信息和数据包长度信息,作为一个数据单元存储至媒体文件的数据区域。上述装置中,存储单元303可在将数据单元存储至媒体文件的数据区域中时,将 数据包接收时间信息和数据包长度信息设置于相应数据包的头区域,或设置于相应数据包 负荷部分的头区域中。上述装置中,存储单元303还可在将数据单元存储至媒体文件的数据区域中时, 将数据单元中包含的数据包数量信息记录在所述数据区域中。上述装置中,数据单元包括头区域,相应的,存储单元303可在将数据单元存储至 媒体文件的数据区域时,将数据单元的总长度信息设置于数据单元的头区域。上述装置中,所述媒体文件还包括索引区域,相应的,存储单元303还可用于,以 所述设定时长的时间单位作为索引,将每个设定时长内接收到的数据包数量作为索引项设 置于所述索引区域。如图6所示,媒体流数据处理装置20可应用于图4所示流程,该装置可包括获取单元601,用于从媒体文件的数据区域的数据单元中获取媒体流数据包,其 中,按照数据包的接收时间顺序,每个数据单元中存储的是相应设定时长内接收到的媒体 流数据包;发送单元602,用于将获取单元601获取到的媒体流数据包发送给媒体流播放装 置,其中,按照数据包的接收时间顺序,在每个设定时长内发送从相应数据单元中获取到的 媒体流数据包。上述装置中,发送单元602在一个设定时长内发送从相应数据单元中获取到的媒 体流数据包时,可根据相应数据单元中每个数据包的接收时间和数据包长度,分别获取所 述数据单元中每个时间单元内接收到的数据包,并在每个时间单元内仅发送该时间单元内 接收到的数据包,所述时间单元的长度小于所述设定时长。图5所示的媒体流数据处理装置10和图6所示的媒体流数据处理装置20相结合, 可得到如图7所示的媒体流数据处理装置30,该装置中的各功能模块的具体功能和实现, 分别与图5和图6中所示的功能模块相同或相似,在此不再赘述。
需要说明的是,以上实施例仅以ASF文件为例描述,本领域技术人员根据以上实 施例的描述,可采用其它格式的文件实现上述技术方案。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助 软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更 佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的 部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若 干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者核心网节点设备等)执 行本发明各个实施例所述的方法。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领 域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
一种媒体流数据处理方法,其特征在于,包括接收媒体流数据包,并记录每个数据包的接收时间和数据包的长度;其中,每当设定时长到达时,将在该时长内接收到的数据包以及所记录的数据包接收时间信息和数据包长度信息,作为一个数据单元存储至媒体文件的数据区域。
2.如权利要求1所述的方法,其特征在于,在将数据单元存储至媒体文件的数据区域 中时,将数据包接收时间信息和数据包长度信息设置于相应数据包的头区域,或设置于相 应数据包负荷部分的头区域中。
3.如权利要求1所述的方法,其特征在于,将数据单元存储至媒体文件的数据区域时, 还包括将数据单元的总长度信息设置于数据单元的头区域;或/和将数据单元中包含的数据包数量信息记录在所述数据区域中。
4.如权利要求1所述的方法,其特征在于,所述媒体文件还包括索引区域,该方法还包括以所述设定时长的时间单位作为索引,将每个设定时长内接收到的数据包数量作为索 引项设置于所述索引区域。
5.如权利要求1至4任一项所述的方法,其特征在于,还包括当需要播放所述媒体文件时,从媒体文件数据区域的数据单元中获取媒体流数据包, 并将获取到的数据包发送至媒体播放装置,其中,按照数据包的接收时间顺序,在每个所述 设定时长内发送从相应数据单元中获取到的媒体流数据包。
6.如权利要求5所述的方法,其特征在于,在一个设定时长内发送从相应数据单元中 获取到的媒体流数据包的步骤,包括根据相应数据单元中每个数据包的接收时间和数据包长度,分别获取所述数据单元中 每个时间单元内接收到的数据包,并在每个时间单元内仅发送该时间单元内接收到的数据 包,所述时间单元的长度小于所述设定时长。
7.如权利要求1至4任一项所述的方法,其特征在于,所述媒体文件为高级系统格式 ASF文件,所述数据单元为I帧组。
8.一种媒体流数据处理装置,其特征在于,包括接收单元,用于接收媒体流数据包;记录单元,与所述接收单元连接,用于记录所述接收单元接收到的每个数据包的接收 时间和数据包的长度;存储单元,分别与所述接收单元和所述记录单元连接,用于每当设定时长到达时,将所 述接收单元在该时长内接收到的数据包以及所述记录单元所记录的数据包接收时间信息 和数据包长度信息,作为一个数据单元存储至媒体文件的数据区域。
9.如权利要求8所述的装置,其特征在于,所述存储单元具体用于,在将数据单元存储 至媒体文件的数据区域中时,将数据包接收时间信息和数据包长度信息设置于相应数据包 的头区域,或设置于相应数据包负荷部分的头区域中。
10.如权利要求8所述的装置,其特征在于,所述存储单元具体用于,在将数据单元存 储至媒体文件的数据区域中时,将数据单元中包含的数据包数量信息记录在所述数据区域 中;或/和,将数据单元的总长度信息设置于数据单元的头区域。
11.如权利要求8所述的装置,其特征在于,所述媒体文件还包括索引区域,所述存储单元还用于,以所述设定时长的时间单位作为索引,将每个设定时长内接收到的数据包数 量作为索引项设置于所述索引区域。
12.如权利要求8至11任一项所述的装置,其特征在于,还包括获取单元,用于当需要播放所述媒体文件时,从媒体文件数据区域的数据单元中获取 媒体流数据包;发送单元,用于将所述获取单元获取到的媒体流数据包发送至媒体流播放装置,其中, 按照数据包的接收时间顺序,在每个所述设定时长内发送从相应数据单元中获取到的媒体 流数据包。
13.如权利要求12所述的装置,其特征在于,所述发送单元在一个设定时长内发送从相应数据单元中获取到的媒体流数据包时具 体用于,根据相应数据单元中每个数据包的接收时间和数据包长度,分别获取所述数据单 元中每个时间单元内接收到的数据包,并在每个时间单元内仅发送该时间单元内接收到的 数据包,所述时间单元的长度小于所述设定时长。
14.一种媒体流数据处理方法,其特征在于,包括从媒体文件数据区域的数据单元中获取媒体流数据包,其中,按照数据包的接收时间 顺序,每个数据单元中存储的是相应设定时长内接收到的媒体流数据包;将获取到的数据包发送至媒体播放装置,其中,按照数据包的接收时间顺序,在每个所 述设定时长内发送从相应数据单元中获取到的媒体流数据包。
15.如权利要求14所述的方法,其特征在于,在一个设定时长内发送从相应数据单元 中获取到的媒体流数据包的步骤,包括根据相应数据单元中每个数据包的接收时间和数据包长度,分别获取所述数据单元中 每个时间单元内接收到的数据包,并在每个时间单元内仅发送该时间单元内接收到的数据 包,所述时间单元的长度小于所述设定时长。
16.如权利要求14或15所述的方法,其特征在于,所述媒体文件为ASF文件,所述数据 单元为I帧组。
17.一种媒体流数据处理装置,其特征在于,包括获取单元,用于从媒体文件的数据区域的数据单元中获取媒体流数据包,其中,按照数 据包的接收时间顺序,每个数据单元中存储的是相应设定时长内接收到的媒体流数据包;发送单元,用于将所述获取单元获取到的媒体流数据包发送给媒体流播放装置,其中, 按照数据包的接收时间顺序,在每个所述设定时长内发送从相应数据单元中获取到的媒体 流数据包。
18.如权利要求17所述的装置,其特征在于,所述发送单元在一个设定时长内发送从相应数据单元中获取到的媒体流数据包时具 体用于,根据相应数据单元中每个数据包的接收时间和数据包长度,分别获取所述数据单 元中每个时间单元内接收到的数据包,并在每个时间单元内仅发送该时间单元内接收到的 数据包,所述时间单元的长度小于所述设定时长。
全文摘要
本发明公开了一种媒体流数据处理方法及其装置,用以解决在未知媒体流格式的情况下,现有技术无法处理媒体流的问题。该方法包括接收媒体流数据包,并记录每个数据包的接收时间和数据包的长度;其中,每当设定时长到达时,将在该时长内接收到的数据包以及所记录的数据包接收时间信息和数据包长度信息,作为一个数据单元存储至媒体文件的数据区域。当需要播放所述媒体文件时,从媒体文件数据区域的数据单元中获取媒体流数据包,并将获取到的数据包发送至媒体播放装置,其中,按照数据包的接收时间顺序,在每个设定时长内发送从相应数据单元中获取到的媒体流数据包。
文档编号H04L12/56GK101895736SQ20101021964
公开日2010年11月24日 申请日期2010年7月7日 优先权日2010年7月7日
发明者吕志明 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1