CN102005231B - 一种富媒体场景流的存储方法 - Google Patents
一种富媒体场景流的存储方法 Download PDFInfo
- Publication number
- CN102005231B CN102005231B CN 201010276374 CN201010276374A CN102005231B CN 102005231 B CN102005231 B CN 102005231B CN 201010276374 CN201010276374 CN 201010276374 CN 201010276374 A CN201010276374 A CN 201010276374A CN 102005231 B CN102005231 B CN 102005231B
- Authority
- CN
- China
- Prior art keywords
- scene
- file
- box
- media
- bag
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明公开了一种富媒体场景流的存储方法,通过对富媒体场景文件划分成若干连续的访问单元,从而使得富媒体场景文件可以以3GP文件中的视频帧、音频采样的方式进行存储。通过对3GP文件的扩展:a1、将访问单元以视频帧或音频采样的方式存储于3GP文件的媒体数据包,与视频帧、音频采样混合存放;a2、在moov容器包中增加一个场景轨容器包,用于描述富媒体场景的属性和数据组织情况;a3、在moov容器包中增加一个场景注释轨容器包,用于存储富媒体场景的打包信息。这样将富媒体场景流打入到3GP文件中,实现多种流共存于一个文件,最终产生的“富媒体3GP文件”是高度集成的,而且如普通的多媒体文件一样,可放在服务器端供用户点播,使富媒体场景流与视频流、音频流文件易于管理。
Description
技术领域
本发明属于富媒体场景的传输技术领域,更为具体地讲,涉及一种富媒体场景流的存储方法。
背景技术
富媒体(Rich Media)是一种新型的,比音视频多媒体更能带来丰富的用户体验的媒体类型。富媒体(rich media)技术是一种可以在同一时刻对多种媒体元素进行渲染展现和交互控制的技术,这些媒体元素可以是矢量图,文字,音视频等,媒体元素之间的联系是通过场景来表现的。场景(Scene)是记录各种媒体元素在时间和空间上的组织方式的一种文本,它负责描述这些元素的生存时间和展现的空间位置范围。
富媒体场景实际上就是指定了一个场景中各个元素在时间和空间上的组织方法。同时,场景也描述了用户和场景元素之间是如何交互的。实际业务中的场景是支持动态更新的,例如用户点击某个元素,或者定时器检测到动画开始,场景即发生更新。为方便描述场景的更新,引入命令的概念,当命令发生时,场景应该根据该命令的类型和内容来做相应的改变。
富媒体场景描述方法是基于SVG Tiny 1.2的,因此场景描述具有大部分SVG的特性。场景文档也表现为XML的形式,在逻辑上,则可以视作一个树形结构。在富媒体浏览器处理场景时,有一个重要的过程,就是解析过程。每个场景文件在经过解析器解析后,都在内存中形成一个树型结构体,并且这个结构体是可以通过脚本语言来操作的。
对于3GP文件,使用流媒体服务器软件即可实现端到端传输。但是,场景具有特殊性,其场景文档是以XML格式来存放的,而且场景中的标签中可以引用其他格式的文件,这些文件需另外存放。例如,有下面的场景描述语句:
<video x=″160″y=″100″width=″176″height=″144″begin=″0.3s″xlink:href=″../video/any.avi″/>
上面是一个<video>标签。这个标签表示一个视频元素,上面标签描述的意思是在场景的(160,100)位置放置一个宽176像素,高144像素的视频播放区域。在场景开始后的第0.3秒,外部链接的any.avi文件将在该播放区域播放。
以这个场景为例,它至少包含三个流,一个是本身的场景流,另两个就是any.avi文件中的视频流和音频流。这个业务包括至少两个文件,一个是该场景文档,另一个是any.avi文件。在用户使用点播功能时,场景先被解析,形成场景树,然后到第0.3秒时加载avi文件,并播放。在网络传输时,这三个流之间的时间同步是一个复杂的问题。而且由于实际业务往往非常复杂,涉及到的文件数目也较多,不易管理。
发明内容
本发明目的在于克服现有富媒体场景传输技术的不足,提出一种富媒体场景流的存储方法,使富媒体场景流与视频流、音频流文件易于管理。
为实现上述发明目的,本发明富媒体场景流的存储方法,其特征在于,包括以下步骤:
(1)、根据富媒体场景文件中标签的时间属性值,将富媒体场景文件划分为若干个连续的以时间值增长方式排列的访问单元,每个访问单元是一个时间片段的简单场景;
(2)、对包括视频流、音频流的3GP文件进行扩展得到富媒体3GP文件:
a1、将访问单元以视频帧或音频采样的方式存储于3GP文件的媒体数据包,即′mdat′box中,与视频帧、音频采样混合存放;
a2、在moov容器包中增加一个场景轨容器包,即trak(scene)box,用于描述富媒体场景的属性和数据组织情况;
a3、在moov容器包中增加一个场景注释轨容器包,即trak(scene hint)box,用于存储富媒体场景的打包信息。
在步骤(2)一种实施方式中,场景轨容器包为:
在场景轨容器包中,媒体轨容器包的轨道头包,即‘tkhd’box含有媒体轨ID、轨道时间以及宽高值;其中,媒体轨道ID为原有媒体轨道最高ID加1,轨道时间是场景文件的生命周期长度按照moov容器包中mvhd媒体信息头包指定的时间刻度单位计算得到,宽高值通过解析富媒体场景文件的头部访问单元得到;
场景轨容器包中媒体容器包,即′mdia′box的头部包‘mdhd’box包括场景轨道的时间刻度以及持续时间,持续时间等于每秒钟应该解析的访问单元数目;媒体容器包,即′mdia′box的媒体类型包′hdlr′中媒体类型为场景轨、name参数为“RM Scene Handler”,即富媒体场景处理机,其中,name参数用于观察文件结构、调试3GP打包;
场景轨容器包中媒体容器包,即′mdia′box的特征描述包容器,即‘minf’box的头部包为场景内容与其他视频轨道的叠加方式;特征描述包容器的‘stbl’box容器包中的同步采样(Sample)和非同步采样分别与场景访问单元和更新单元对应;在‘stbl’box容器包‘stsd’box中,增加场景类型,同时定义场景轨的stsd参数;将将场景AU打入3GP文件时,将每个访问单元的展现时间记录在‘stbl’box容器包的‘stts’box中,以便播放文件时获取正确的展现时间,如果访问单元是场景访问单元,则将随机访问点的编号值记录在‘stbl’box容器包的‘stss’box中;
场景轨道容器包中的其包的存放方式与音视频轨道容积包的存放方式相同;
本发明的发明目的是这样实现的:
在本发明中,通过对富媒体场景文件划分成若干连续的访问单元,从而使得富媒体场景文件可以以3GP文件中的视频帧、音频采样的方式进行存储。通过对3GP文件的扩展:a1、将访问单元以视频帧或音频采样的方式存储于3GP文件的媒体数据包,即′mdat′box中,与视频帧、音频采样混合存放;a2、在moov容器包中增加一个场景轨容器包,即trak(scene)box用于描述富媒体场景的属性和数据组织情况;a3、在moov容器包中增加一个场景注释轨容器包,即trak(scene hint)box,用于存储富媒体场景的打包信息。这样将富媒体场景流打入到3GP文件中,实现多种流共存于一个文件,最终产生的“富媒体3GP文件”是高度集成的,而且如普通的多媒体文件一样,可放在服务器端供用户点播,使富媒体场景流与视频流、音频流文件易于管理。
附图说明
图1是富媒体场景文件进行访问单元划分实施例图;
图2是3GP文件扩展富媒体3GP文件的示意图;
图3是一个3GP文件的组成结构图;
图4是一个富媒体3GP文件的组成结构图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图1是富媒体场景文件进行访问单元划分实施例图。
为了定义富媒体场景格式,引入了若干类型的新的标签。在本发明中,在场景传输时定义了访问单元(Access Unit,简称AU)的概念,AU是一个可访问的独立的原子数据单元,即不可再分割,在存储和传输的过程中,一个AU通常可被类比为普通视频的一帧(Frame),或音频的一个采样(Sample)。
在富媒体场景文件中,AU具体体现为被<rmp:sceneBody>或者<rmp:sceneHeader>标签所包含的内容。图1所示的是一个根据AU概念划分了时间片段的简单场景。富媒体引擎可以根据<rmp:sceneBody>标签中的“time=”属性值来计算AU的时间戳。
图1中的富媒体场景将被分成四个AU传输,第一个是头部AU1,第二个是场景AU2,头部AU1和场景AU2的解析时间都是0秒,即浏览器一接收到马上解析并展现。第二个场景AU2中含有主场景内应有的一些元素,这些都在<svg>对中体现。第三个AU3是一个更新AU,它表示在第3秒的时候插入某动画。第四个AU4在第4秒时解析,其作用是删除场景树上的demo节点。
就传统意义上来讲,XML文档必须全部收到之后才能展现。采用了分片的方式则使得渐进式接收展现成为可能。这种设计的前提是场景文件都是由定时的渲染命令组成的,这些命令都以XML元素的形式出现。对于图形元素,其时间特性指得就是它首次被显示在屏幕上的时间。对本身就具有时间特性的元素(例如动画元素,多媒体元素)来讲,其时间特性指的是它开始动或开始播放的时刻。对于增删改等其他命令,是指它具体被执行的时刻。对于脚本元素,则指脚本被首次执行时的时刻。AU概念中的时间戳,主要是指<rmp:sceneBody>标签中time属性的值。在使用RTP传输时,这个值用于指导传输时间。而对于客户端,他描述了元素在什么时候被浏览器处理。这种分片化方法必须建立在两个前提之上:
1.该富媒体场景可划分为多个AU,即除了包括了<svg>标签的场景AU外,还具有其他AU,每个AU都必须具有时间属性值。
2.富媒体中的多个AU必须以时间值增长的方式排列。这是对场景编写者的一个要求。实际上采用这种方式编写场景,不但方便分片传输,同时也方便以时间线为轴进行阅读。
图2是3GP文件扩展富媒体3GP文件的示意图。
在本实施例中,将本发明富媒体场景流的存储方法用富媒体3GP文件制作工具RMSBox来实现,RMS表示富媒体场景。根据本发明提出的应用场合,富媒体业务常常含有音视频的内容,在存储时,需要将场景文件中的内容与音频、视频一起放在一个3GP文件中。如图2所示,Media.3gp文件为包括音频、视频两个轨道的常规媒体文件与Scene富媒体场景文件在富媒体3GP文件制作工具RMSBox中制作成含有音频、视频、场景三个轨道的“富媒体3GP文件”,同时富媒体3GP文件中还具有三个对应的注释轨hint track。
图3是一个3GP文件的组成结构图。
ISO基本媒体文件格式是MPEG4标准制定的,为了提供一种便于媒体内容的转换、管理、编辑与呈现,用于容纳具有时间特性的媒体信息的文件格式。这种文件格式具有弹性,可扩展性。这种文件格式具有以下特性:
1.这种文件格式具有面向对象的特性。一个文件可以被分解成多个简单的组成对象,并且从各个对象的类型也很容易推断出该对象具有的结构。
2.在传输时,这种文件格式是与网络协议无关的,这意味着无论使用哪种网络协议,该格式都提供高效的传输支持。
3.很多其他的文件格式都源自本格式,例如3GP。
这种文件格式是以面向对象方式来组织结构的,这些对象在这里称为“box”。文件中所有的数据都包含在特定的box中,box之外不存在数据。分析一个该类文件,实质是对其内部的box进行分析。
在后面的描述中,将box也称为包,将track也称为轨道,意思等同,在不产生歧义的情况下,为了叙述方便混合使用。
对象结构即box结构。box都有一个头部(header),头部指定了该box的大小(size)和类型(type)。Size值表示的是该box所含所有数据的总量。最简单的box结构表1所示:
字段 | 字节数 | 意义 |
Size | 4 | Box内所有数据长度 |
Type | 4 | Box的类型 |
Data | Size-8 | Box中的纯数据 |
表1
表1是box的基类字段说明,所有的box都具有表中的字段。上面的box结构可认为是所有其他所有box的基类。
3GP文件是ISO基本媒体文件格式的一种简化版本,减少了对存储空间的需求,更适合于手机等空间有限的设备使用。可以存放MPEG-2、H.263、H.264等编码格式的视频,AMR,AAC等编码格式的音频。
为了对3GP格式进行扩展以支持富媒体场景,需要对其结构作深入分析。
如图3所示,一个3GP文件包括文件类型ftyp包、moov容器包以及mdat媒体数据包。moov容器包又包括媒体信息头包‘mvhd’、音频轨包trak(audio)、视频轨包trak(video)以及他们的注释轨包trak(hint),其中的音频轨包trak(audio)、视频轨包trak(video)以及他们的注释轨包trak(hint)均为容积包,其子包的具体信息可以参阅3GP文件规范。
图4是一个富媒体3GP文件的组成结构图。
在本实施例中,如图4所示,与现有的3GP文件相比,在moov容器包中增加了一个场景轨容器包,即trak(scene)box用于描述富媒体场景的属性和数据组织情况以及一条场景注释轨容器包,即trak(scene hint)box,用于存储富媒体场景的打包信息。
媒体数据包,即′mdat′box中,混合存储以下数据:1.视频帧,2.音频采样,3.场景AU,4.三个轨道各自的hint track内的注释数据内容。将访问单元以视频帧或音频采样的方式存储于3GP文件的媒体数据包,即′mdat′box中,与视频帧、音频采样混合存放。
由于3GP文件格式是ISO基本文件格式的一个实例,它在结构定义上继承了很多后者的规定。分析3GP文件格式,重点在于分析其内部主要的box的结构以及属性。这些box常有层层嵌套的情况出现。其中,能够容纳其他box的box称为容器box,例如“moov”。嵌套的box之间称为父子关系。在向3GP文件中存放场景数据时,必须要修改这些box中的内容。下面将列出一些重要的box,以及在扩展场景内容时需要对它们做的修改。
1.′mdat′box
媒体数据box。该box直接容纳于文件中,属于顶层包。常常将音视频数据混合存放在一个mdat box中。这个box中的数据往往占整个3gp文件的绝大部分内容,是整个文件的主体。
扩展方式:将富媒体场景文件也存储于mdat中,在前面提到的将场景流化分片成AU技术的基础上,可以将每个AU都是做一个Sample,与视频帧数据地位类似。在存储时,将音视频以及场景文件三者混合存放于该包中。
2.‘moov’box
moov是一个重要的容器,在它的内部可嵌套子包。该包及其子包含有的数据总量虽然不大,但这些数据是组织整个文件的关键,没有这些内容,整个文件就是无意义的混乱的媒体数据。
由于moov包只是起到容器的作用,不需对其本身进行扩展,主要扩展的是其子包。即在moov容器包中增加了一个场景轨容器包,即trak(scene)box用于描述富媒体场景的属性和数据组织情况以及一条场景注释轨容器包,即trak(scene hint)box,用于存储富媒体场景的打包信息。
3.‘mvhd’box
属于moov的子box,是媒体信息头,主要存放媒体的全局信息。mvhd中存放的信息是与具体媒体类型无关的,是将整个媒体文件看做一个整体,来描述其参数的。该包中主要有以下参数:
(1)创建时间与修改时间。分别表明了文件的这两个时间参数。
(2)时间刻度(timescale)。是一个正整数,表明了该文件使用的时间刻度。在3GP文件的很多box中都是用时间刻度来作为单位描述时间值的,时间刻度表明一秒内流逝的时间单元数目。例如,一个时间坐标系规定一秒内有60个刻度,那么该系统的时间刻度值就是60。
(3)播放时长(duration)。表明本媒体文件播放总时间,单位是时间刻度数。
(4)默认播放速率、默认音量等其他参数。
扩展方式:由于该包中属性都是整个文件的属性,加上场景后,可仍使用原来多媒体3GP中的时间刻度值,持续时长、创建修改时间等等参数可根据具体将场景内容打入3GP文件时的情况计算。
4.‘trak’box
它属于moov的子包。它本身又是一个容器,含有一个单独的轨道的信息。一个媒体文件可以含有多个轨道,每个轨道都用一个trak包来表示,主要存储该轨道在时空上的组织信息。例如一个含有音频和视频的文件,就具有两个轨道,分别描述两路数据的属性以及数据组织情况。
轨道实际上又可以分为两种,第一种是描述常规媒体数据的,这种轨道称为媒体轨(media track),如音视频轨道都属于这种。另一种是为了支持流传输协议而存在,轨道中存储了大量数据打包信息,这种轨道称为注释轨(hint track)。这种轨道不是必须的,主要依据该文件是否支持流传输而定。由于本发明的富媒体技术含网络流传输部分,因此必须含有这种轨道。在3GP文件中,至少要有一个媒体轨。对于具有注释轨的文件来说,增加或删除注释轨,都不应影响到真正媒体轨的最终展现。
增加的trak(scene)包属于纯容器包,本身不含有数据,因此不需对其进行修改。
5.‘tkhd’box
tkhd包是轨道头部包,是trak包的第一个子包,含有该轨道私有的属性,至少具有下述重要属性:
(1)track的id。这在文件中是一个唯一值,在整个文件的生命周期中恒定。
(2)轨道时间(duration)。以mvhd包中的时间刻度为单位,表明了本轨道的持续时长。注意,多个轨道的时间长度可以是不同的。
(3)宽高值。主要在视频轨道中有效,指出默认的播放区域的宽高像素数。
扩展方式:
在trak(scene)容积包中,对轨道头部包‘tkhd’box
(1)首先应该定义新轨道的id。可以设为原有轨道最高ID加1的值。
(2)轨道时间的计算需要解析场景文档后,根据场景文档的生命周期长度来计算。由于场景文档采用自身的时间刻度,这里需要转换成mvhd包中指定的时间刻度为单位。
(3)宽高值需要解析场景文档中的头部AU来获取,例如场景中头部AU为:
<rmp:sceneHeader colorBits=″16″size=″176144″/>
那么解析后得到宽高分别为176与144,应该将这两个值设为轨道宽高。
6.‘mdhd’box
是mdia包的头部包,该包中含有与具体媒体内容无关的,该轨道内的媒体的特性参数。该包内具有两个重要属性:
(1)本track的时间刻度。这里的时间刻度值只在该包的子包中使用,通常如果是视频轨道,该时间刻度在数值上等于视频帧率,如果是音频轨道则等于音频采样率。
(2)本track的持续时间,单位是上面提到的时间刻度。在数值上等于帧的总数目。
扩展方式:
在trak(scene)容积包中,mdia包的头部包‘mdhd’box需要在这里加入轨道的时间刻度,这里的时间刻度值根据具体场景文档而定,其数值应该等于每秒钟应该解析的AU数目。
7.‘hdlr’box
该包位于mdia包下层,说明了本轨道表示的媒体类型。还描述了轨道中的媒体数据最终应通过什么手段展现出来,假如类型参数为“vide”,那么就说明该track是视频轨,应该由视频处理者来解析处理。hdlr包有两个重要参数:
(1)handler_type。它是一个四字节整数,表明轨道说明的媒体类型,可选值与意义如表2:
可选值 | 意义 |
‘vide’ | 视频轨 |
‘soun’ | 音频轨 |
‘hint’ | 注释轨(流传输时用到) |
‘scen’ | 场景轨(为本文扩展) |
表2
实际上在3GP格式定义中主要支持前三种轨道类型。对于富媒体扩展而言,增加的轨道trak(scene)必须要有一个四字节整数来表明轨道媒体类型,在本实施例中,定义’scen’为场景轨道的标识。
(2)hdlr包的另一个参数是name参数,其值应是一个字符串,如“VideoHandler”,这个串主要是为了观察文件结构,调试3GP打包器等方便而设。在新创建的场景轨道trak(scene)中,规定该串内容为“RM Scene Handler”。
8.‘minf’box
该包是一个容器包,其内部的各个子包提供了对于轨道内媒体更为详尽的特征描述。它具有一个头部子包,根据不同媒体轨道,头部子包具有三种类型:
表3
扩展方式:
针对不同轨道,使用的包类型也不同。在富媒体扩展时,为场景轨定义一种新的头部子包:’rmhd’,表示富媒体场景类型。并定义其具有的参数主要为场景内容与其他视频轨道的叠加方式。
9.‘stbl’box
在媒体文件中,Sample即帧、采样的概念。引入富媒体分片概念后,一个Sample表示一个场景AU。Sample具有两类,一种是同步Sample,例如视频中的关键帧就是同步Sample,它含有的信息量最大,在一个帧序列中也最重要。其他非同步Sample都要参考它来进行展现。对于场景来说,场景AU在内存中要被解析生成场景树结构,其他更新AU都是在这棵树上进行操作,因此场景AU就类似于同步Sample,而更新AU则类似于非同步Sample。
所有Sample的位置、大小,是否是同步点等信息都在stbl的各个子包中记录。
10.‘stsd’box
该包是针对轨道内Sample整体的一个描述,关于包中具体参数的定义,可参考3GP标准中关于SampleEntry类的不同派生类的定义。因为针对不同的媒体类型,stsd包的结构也不相同。
为了扩展场景轨道,需要增加一种新的stsd包类型,以及定义针对场景轨的stsd的包的参数。现根据需求,将参数定义如下:
File | Type | 说明 |
Size | Unsigned int(32) | 本box的大小 |
Type | Unsigned int(32) | 针对场景,类型定义为’rms’ |
Reserved | unsigned int(16) | 保留 |
scene_type | unsigned int(8) | 标识AU是场景AU还是附属AU |
text_encoding | String | 场景文本采用的字符集 |
content_coding | String | 内容编码,可取’none’,’gzip’,’bin xml’ |
content_script_type | String | 默认支持的脚本语言,如EcmaScript |
bufferSizeDB | unsigned int(32) | 解析场景流时所需的解码buffer大小 |
表4
11.‘stts’box
该包标记着Sample的解码时间。它以一个表格的形式列出了该轨道内的Sample的总数目,以及每个Sample展现的持续时间。根据这两个参数,可以计算出每个Sample的具体展现时间。计算方法为:
DT(n+1)=DT(n)+STTS(n)
DT(n)表示第n个Sample的解码时间,STTS(n)表示stts包中第n项中的值,即第n个Sample的展现延时。
在将场景AU打入3GP文件时,需要将每个AU的展现时间记录在stts包中,以便播放文件时获取正确的展现时间。
12.‘stss’box
前面提到有一种同步Sample可以用来实现同步流,这种同步Sample又称为随机访问点(Random Access Points),简称RAP。stss包的作用就是以一个列表的形式来记录该轨道的媒体流中所有的随机访问点的编号值。
在打入场景内容时,如果该AU是场景AU,即代表一个RAP,需要将编号值记录在stss包中,如果是更新AU,则不需记录。
13.′stsz′box
stsz包记录了轨道中所有Sample的大小。该包维护了一个表,该表只有两个字段,分别是Sample号与该Sample的字节数。
至此,自定义格式的富媒体场景文件和传统的音视频文件可以一同封装进扩展的3GP格式容器文件中,最终使得相应的流服务器可以成功流化传输这个富媒体3GP文件,使得接收终端得以正常的展现富媒体应用
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (2)
1.一种富媒体场景流的存储方法,其特征在于,包括以下步骤:
(1)、根据富媒体场景文件中标签的时间属性值,将富媒体场景文件划分为若干个连续的以时间值增长方式排列的访问单元,每个访问单元是一个时间片段的简单场景;
(2)、对包括视频流、音频流的3GP文件进行扩展得到富媒体3GP文件:
a1、将访问单元以视频帧或音频采样的方式存储于3GP文件的媒体数据包,即′mdat′box中,与视频帧、音频采样混合存放;
a2、在3GP文件的moov容器包中增加一个场景轨容器包,即trak(scene)box,用于描述富媒体场景的属性和数据组织情况;
a3、在3GP文件的moov容器包中增加一个场景注释轨容器包,即trak(scenehint)box,用于存储富媒体场景的打包信息。
2.根据权利要求1所述的富媒体场景流的存储方法,其特征在于,步骤(2)中,场景轨容器包为:
在场景轨容器包中,媒体轨容器包的轨道头包,即‘tkhd’box含有媒体轨ID、轨道时间以及宽高值;其中,媒体轨道ID为原有媒体轨道最高ID加1,轨道时间是场景文件的生命周期长度按照moov容器包中mvhd媒体信息头包指定的时间刻度单位计算得到,宽高值通过解析富媒体场景文件的头部访问单元得到;
场景轨容器包中媒体容器包,即′mdia′box的头部包‘mdhd’box包括场景轨道的时间刻度以及持续时间,持续时间等于每秒钟应该解析的访问单元数目;媒体容器包,即′mdia′box的媒体类型包′hdlr′中媒体类型为场景轨、name参数为“RM Scene Handler”即富媒体场景处理机,其中,name参数用于观察文件结构、调试3GP打包;
场景轨容器包中媒体容器包,即′mdia′box的特征描述包容器,即‘minf’box的头部包为场景内容与其他视频轨道的叠加方式;特征描述包容器的‘stbl’box容器包中的同步采样和非同步采样分别与场景访问单元和更新访问单元对应;在‘stbl’box容器包‘stsd’box中,增加场景类型,同时定义场景轨的stsd参数;将场景访问单元打入3GP文件时,将每个访问单元的展现时间记录在‘stbl’box容器包的‘stts’box中,以便播放文件时获取正确的展现时间,如果访问单元是场景访问单元,则将随机访问点的编号值记录在‘stbl’box容器包的‘stss’box中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010276374 CN102005231B (zh) | 2010-09-08 | 2010-09-08 | 一种富媒体场景流的存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010276374 CN102005231B (zh) | 2010-09-08 | 2010-09-08 | 一种富媒体场景流的存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102005231A CN102005231A (zh) | 2011-04-06 |
CN102005231B true CN102005231B (zh) | 2012-07-25 |
Family
ID=43812517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010276374 Expired - Fee Related CN102005231B (zh) | 2010-09-08 | 2010-09-08 | 一种富媒体场景流的存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102005231B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110545470A (zh) * | 2018-05-29 | 2019-12-06 | 北京字节跳动网络技术有限公司 | 一种媒体文件加载方法、装置及存储介质 |
CN111191010B (zh) * | 2019-12-31 | 2023-08-08 | 天津外国语大学 | 一种电影剧本多元信息抽取方法 |
CN113542907B (zh) * | 2020-04-16 | 2022-09-23 | 上海交通大学 | 多媒体数据收发方法、系统、处理器和播放器 |
CN111538489A (zh) * | 2020-07-09 | 2020-08-14 | 北京美摄网络科技有限公司 | 一种数据处理方法和装置 |
CN112153471B (zh) * | 2020-09-25 | 2023-01-24 | 四川封面传媒有限责任公司 | 视频的播放控制方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101547346B (zh) * | 2008-03-24 | 2014-04-23 | 展讯通信(上海)有限公司 | 富媒体电视中场景描述的收发方法及设备 |
-
2010
- 2010-09-08 CN CN 201010276374 patent/CN102005231B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102005231A (zh) | 2011-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6643430B2 (ja) | 再生装置、再生方法、及びプログラム | |
CN103309933B (zh) | 用于媒体数据传输的方法和设备 | |
KR101254385B1 (ko) | 미디어 데이터 및 멀티미디어 데이터 중 적어도 하나를 적어도 하나의 파일 내에서 구성화하는 방법 및 장치, 액세스 방법, 컴퓨터 판독가능 저장 매체 | |
JP6461141B2 (ja) | パーティション化されたタイムドメディアデータを依存性を符号化するための一般的なシグナリングを用いてカプセル化する方法、装置、およびコンピュータプログラム | |
ES2526814T3 (es) | Extensiones para el Formato de Contenedores de Medios enriquecidos para su uso por parte de servidores de flujo continuo de difusión general/multidifusión | |
CN101300810A (zh) | 用于将svg内容嵌入进iso基本媒体文件格式以便渐进地下载或流式传输富媒体内容的方法 | |
CN101802823A (zh) | 用于流式多媒体数据的分段的元数据和位标 | |
CN102005231B (zh) | 一种富媒体场景流的存储方法 | |
US20120233345A1 (en) | Method and apparatus for adaptive streaming | |
CN108702527A (zh) | 用于使用通用夹层分发格式的媒体传送的系统和方法 | |
CN101207805A (zh) | 一种利用p2p机顶盒技术的流媒体传输系统及其方法 | |
Wells et al. | The MXF Book: An Introduction to the Material eXchange Format | |
US9106935B2 (en) | Method and apparatus for transmitting and receiving a content file including multiple streams | |
CN100589565C (zh) | 视音频流数据恢复iso媒体文件的方法 | |
US7555009B2 (en) | Data processing method and apparatus, and data distribution method and information processing apparatus | |
CN105049920A (zh) | 一种多媒体文件的录制方法和装置 | |
CN105049904A (zh) | 一种多媒体文件的播放方法和装置 | |
CN103269450A (zh) | 一种面向Android智能电视的多媒体系统 | |
KR101295377B1 (ko) | 파일 포맷을 구성하는 방법과 상기 파일 포맷을 가지는파일을 포함한 방송 신호를 처리하는 장치 및 방법 | |
CN102723104A (zh) | 基于mp4文件封装格式的多媒体录播系统 | |
Setlur et al. | More: a mobile open rich media environment | |
Song et al. | Mobile rich media technologies: current status and future directions | |
Viana et al. | A Unified Solution for the Integration of Media Applications and Products in Broadcaster Environments-The ASSET Architecture | |
Van Deursen et al. | Format-independent media delivery, applied to RTP, MP4, and Ogg | |
Wilkinson | 1 Introduction and Scene Setting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120725 Termination date: 20130908 |