📄 realmedia file format (rmff).mht
字号:
objects with an <CODE>object_version</CODE> of 0 (zero). </P>
<H4><A name=3D3849></A>duration: 32 bits </H4>
<P><A name=3D3851></A>The duration of the stream in milliseconds. This =
member is=20
present on all MediaProperties objects with an =
<CODE>object_version</CODE> of 0=20
(zero). </P>
<H4><A name=3D3853></A>stream_name_size: 8 bits </H4>
<P><A name=3D3855></A>The length of the following stream_name field in =
bytes. This=20
member is present on all MediaProperties objects with an=20
<CODE>object_version</CODE> of 0 (zero). </P>
<H4><A name=3D3857></A>stream_name: variable length </H4>
<P><A name=3D3859></A>A non-unique alias or name for the stream. This =
member is=20
present on all MediaProperties objects with an =
<CODE>object_version</CODE> of 0=20
(zero). </P>
<H4><A name=3D3861></A>mime_type_size: 8 bits </H4>
<P><A name=3D3863></A>The length of the following <CODE>mime_type</CODE> =
field in=20
bytes. This member is present on all MediaProperties objects with an=20
<CODE>object_version</CODE> of 0 (zero). </P>
<H4><A name=3D3865></A>mime_type: variable length </H4>
<P><A name=3D3867></A>A non-unique MIME style type/subtype string for =
data=20
associated with the stream. This member is present on all =
MediaProperties=20
objects with an <CODE>object_version</CODE> of 0 (zero). </P>
<H4><A name=3D3869></A>type_specific_len: 32 bits </H4>
<P><A name=3D3871></A>The length of the following =
<CODE>type_specific_data</CODE>=20
in bytes. The <CODE>type_specific_data</CODE> is typically used by the =
datatype=20
renderer to initialize itself in order to process the media stream. This =
member=20
is present on all MediaProperties objects with an =
<CODE>object_version</CODE> of=20
0 (zero). </P>
<H4><A name=3D3873></A>type_specific_data: variable length </H4>
<P><A name=3D3875></A>The <CODE>type_specific_data</CODE> is typically =
used by the=20
data-type renderer to initialize itself in order to process the media =
stream.=20
This member is present on all MediaProperties objects with an=20
<CODE>object_version</CODE> of 0 (zero). </P>
<H2><A name=3D3881></A>Content Description Header</H2>
<P><A name=3D3883></A>The Content Description Header contains the title, =
author,=20
copyright, and comments information for the RealMedia File. All text =
data is in=20
ASCII format. The following pseudo-structure describes the Content =
Description=20
Header: </P><PRE><A name=3D23418></A>
Content_Description<BR>{<BR> UINT32 object_id;<BR> UINT32 =
size;<BR> UINT16 <CODE>object_version</CODE>;<BR><BR> if =
(<CODE>object_version</CODE> =3D=3D 0)<BR> {<BR> UINT16 =
title_len;<BR> UINT8[title_len] title;<BR> UINT16 =
author_len;<BR> UINT8[author_len] author;<BR> UINT16 =
copyright_len;<BR> UINT8[copyright_len] copyright;<BR> UINT16 =
comment_len;<BR> UINT8[comment_len] comment;<BR> }<BR>}
</PRE>
<P><A name=3D3888></A>The Content Description Header contains the =
following=20
fields: </P>
<H4><A name=3D3890></A>object_id: 32 bits </H4>
<P><A name=3D3892></A>The unique object ID for the Content Description =
Header=20
('CONT'). </P>
<H4><A name=3D3894></A>size: 32 bits </H4>
<P><A name=3D3896></A>The size of the Content Description Header in =
bytes. </P>
<H4><A name=3D3898></A>object_version: 16 bits </H4>
<P><A name=3D3900></A>The version of the Content Description Header =
object. </P>
<H4><A name=3D3902></A>title_len: 16 bits </H4>
<P><A name=3D3904></A>The length of the title data in bytes. Note that =
the title=20
data is not null terminated. This member is present on all Content =
Description=20
Header objects with an <CODE>object_version</CODE> of 0 (zero). </P>
<H4><A name=3D3906></A>title: variable length </H4>
<P><A name=3D3908></A>An array of ASCII characters that represents the =
title=20
information for the RealMedia file. This member is present on all =
Content=20
Description Header objects with an <CODE>object_version</CODE> of 0 =
(zero). </P>
<H4><A name=3D3910></A>author_len: 16 bits </H4>
<P><A name=3D3912></A>The length of the author data in bytes. Note that =
the author=20
data is not null terminated. This member is present on all Content =
Description=20
Header objects with an <CODE>object_version</CODE> of 0 (zero). </P>
<H4><A name=3D3914></A>author: variable length </H4>
<P><A name=3D3916></A>An array of ASCII characters that represents the =
author=20
information for the RealMedia file. This member is present on all =
Content=20
Description Header objects with an <CODE>object_version</CODE> of 0 =
(zero). </P>
<H4><A name=3D3918></A>copyright_len: 16 bits </H4>
<P><A name=3D3920></A>The length of the copyright data in bytes. Note =
that the=20
copyright data is not null terminated. This member is present on all =
Content=20
Description Header objects with an <CODE>object_version</CODE> of 0 =
(zero). </P>
<H4><A name=3D3922></A>copyright: variable length </H4>
<P><A name=3D3924></A>An array of ASCII characters that represents the =
copyright=20
information for the RealMedia file. This member is present on all =
Content=20
Description Header objects with an <CODE>object_version</CODE> of 0 =
(zero). </P>
<H4><A name=3D3926></A>comment_len: 16 bits </H4>
<P><A name=3D3928></A>The length of the comment data in bytes. Note that =
the=20
comment data is not null terminated. This member is present on all =
Content=20
Description Header objects with an <CODE>object_version</CODE> of 0 =
(zero). </P>
<H4><A name=3D3930></A>comment: variable length </H4>
<P><A name=3D3932></A>An array of ASCII characters that represents the =
comment=20
information for the RealMedia file. This member is present on all =
Content=20
Description Header objects with an <CODE>object_version</CODE> of 0 =
(zero). </P>
<H1><A name=3D3940></A>Data Section</H1>
<P><A name=3D3942></A>The data section of the RealMedia file consists of =
a Data=20
Section Header that describes the contents of the data section, followed =
by a=20
series of interleaved media data packets. Note that the size field of =
the Data=20
Chunk Header is the size of the entire data chunk, including the media =
data=20
packets. </P>
<H2><A name=3D3948></A>Data Chunk Header</H2>
<P><A name=3D3950></A>The Data Chunk Header marks the start of the data =
chunk.=20
There is usually only one data chunk in a RealMedia file, however for =
extremely=20
large files there may be multiple data chunks. The following =
pseudo-structure=20
describes the Data chunk header: </P><PRE><A name=3D23546></A>
Data_Chunk_Header<BR>{<BR> UINT32 object_id;<BR> UINT32 =
size;<BR> UINT16 <CODE>object_version</CODE>;<BR><BR> if =
(<CODE>object_version</CODE> =3D=3D 0)<BR> {<BR> UINT32 =
num_packets; <BR> UINT32 next_data_header;<BR> }<BR>}
</PRE>
<P><A name=3D3955></A>The Data Chunk Header contains the following =
fields: </P>
<H4><A name=3D3957></A>object_id: 32 bits </H4>
<P><A name=3D3959></A>The unique object ID for the Data Chunk Header =
('DATA').=20
</P>
<H4><A name=3D3961></A>size: 32 bits </H4>
<P><A name=3D3963></A>The size of the Data Chunk in bytes. </P>
<H4><A name=3D3965></A>object_version: 16 bits </H4>
<P><A name=3D3967></A>The version of the Data Chunk Header object. </P>
<H4><A name=3D3969></A>num_packets: 32 bits </H4>
<P><A name=3D3971></A>Number of packets in the data chunk. This member =
is present=20
on all Data Chunk Header objects with an <CODE>object_version</CODE> of =
0=20
(zero). </P>
<H4><A name=3D3973></A>next_data_header: 32 bits </H4>
<P><A name=3D3975></A>Offset from start of file to the next data chunk. =
This field=20
is not typically used. This member is present on all Data Chunk Header =
objects=20
with an <CODE>object_version</CODE> of 0 (zero). </P>
<H2><A name=3D3981></A>Data Packet Header</H2>
<P><A name=3D3983></A>The data section of a RealMedia file consists of a =
series of=20
interleaved data objects. Each data object contains a packet of data for =
a media=20
stream. Because a RealMedia file can contain numerous media streams, =
data=20
objects for each stream are interleaved. The following pseudo-structure=20
describes the details of each interleaved packet: </P><PRE><A =
name=3D23558></A>
Media_Packet_Header<BR>{<BR> UINT16 =
<CODE>object_version</CODE>;<BR><BR> if (<CODE>object_version</CODE> =
=3D=3D 0)<BR> {<BR> UINT16 length;<BR> UINT16 =
stream_number;<BR> UINT32 timestamp;<BR> UINT8 reserved; <BR> =
UINT8 flags; <BR> UINT8[length] data; <BR> }<BR>}
</PRE>
<P><A name=3D3988></A>The Media Packet Header contains the following =
fields: </P>
<H4><A name=3D3990></A>object_version: 16 bits </H4>
<P><A name=3D3992></A>The version of the Media Packet Header object. =
</P>
<H4><A name=3D3994></A>length: 16 bits </H4>
<P><A name=3D3996></A>The length of the packet in bytes. This member is =
present on=20
all Media Packet Header objects with an <CODE>object_version</CODE> of 0 =
(zero).=20
</P>
<H4><A name=3D3998></A>stream_number: 16 bits </H4>
<P><A name=3D4000></A>The 16-bit alias used to associate data packets =
with their=20
associated Media Properties Header. This member is present on all Media =
Packet=20
Header objects with an <CODE>object_version</CODE> of 0 (zero). </P>
<H4><A name=3D4002></A>timeStamp: 32 bits </H4>
<P><A name=3D4004></A>The timestamp of the packet in milliseconds This =
member is=20
present on all Media Packet Header objects with an =
<CODE>object_version</CODE>=20
of 0 (zero). </P>
<H4><A name=3D4006></A>reserved: 8 bits </H4>
<P><A name=3D4008></A>This is not used. This member is present on all =
Media Packet=20
Header objects with an <CODE>object_version</CODE> of 0 (zero). </P>
<H4><A name=3D4010></A>flags: 16 bits </H4>
<P><A name=3D4012></A>Flags describing the properties of the packet. The =
following=20
flags are defined: </P>
<H4><A name=3D4014></A>#define PN_RELIABLE_FLAG 0x0001</H4>
<P><A name=3D4016></A>If this flag is set, the packet is delivered =
reliably. </P>
<H4><A name=3D4018></A>#define PN_KEYFRAME_FLAG 0x0002</H4>
<P><A name=3D4020></A>If this flag is set, the packet is part of a key =
frame or in=20
some way marks a boundary in your data stream. </P>
<P><A name=3D4022></A>This member is present on all Media Packet Header =
objects=20
with an <CODE>object_version</CODE> of 0 (zero). </P>
<H4><A name=3D4024></A>data: variable length </H4>
<P><A name=3D4026></A>The application-specific media data. This member =
is present=20
on all Media Packet Header objects with an <CODE>object_version</CODE> =
of 0=20
(zero). </P>
<H1><A name=3D4034></A>Index Section</H1>
<P><A name=3D4036></A>The index section of the RealMedia file consists =
of a Index=20
Chunk Header that describes the contents of the index section, followed =
by a=20
series of index records. Note that the size field of the Index Chunk =
Header is=20
the size of the entire index chunk, including the index records. </P>
<H2><A name=3D4042></A>Index Section Header</H2>
<P><A name=3D4044></A>The Index Chunk Header marks the start of the =
index chunk.=20
There is usually one index chunk per stream in a RealMedia file. The =
following=20
pseudo-structure describes the Index chunk header. </P><PRE><A =
name=3D23589></A>
Index_Chunk_Header<BR>{<BR> u_int32 object_id;<BR> u_int32 =
size;<BR> u_int16 <CODE>object_version</CODE>;<BR><BR> if =
(<CODE>object_version</CODE> =3D=3D 0)<BR> {<BR> u_int32 =
num_indices;<BR> u_int16 stream_number;<BR> u_int32 =
next_index_header;<BR> }<BR>}
</PRE>
<P><A name=3D4049></A>The Index Chunk Header contains the following =
fields: </P>
<H4><A name=3D4051></A>object_id: 32 bits </H4>
<P><A name=3D4053></A>The unique object ID for the Index Chunk Header =
('INDX').=20
</P>
<H4><A name=3D4055></A>size: 32 bits </H4>
<P><A name=3D4057></A>The size of the Index Chunk in bytes. </P>
<H4><A name=3D4059></A>object_version: 16 bits </H4>
<P><A name=3D4061></A>The version of the Index Chunk Header object. </P>
<H4><A name=3D4063></A>num_indices: 32 bits </H4>
<P><A name=3D4065></A>Number of index records in the index chunk. This =
member is=20
present on all Index Chunk Header objects with an =
<CODE>object_version</CODE> of=20
0 (zero). </P>
<H4><A name=3D4067></A>stream_number: 16 bits </H4>
<P><A name=3D4069></A>The stream number for which the index records in =
this index=20
chunk are associated. This member is present on all Index Chunk Header =
objects=20
with an <CODE>object_version</CODE> of 0 (zero). </P>
<H4><A name=3D4071></A>next_index_header: 32 bits </H4>
<P><A name=3D4073></A>Offset from start of file to the next index chunk. =
This=20
field lets RealMedia file format readers find all the index chunks =
quickly. This=20
member is present on all Index Chunk Header objects with an=20
<CODE>object_version</CODE> of 0 (zero). </P>
<H2><A name=3D4079></A>Index Record</H2>
<P><A name=3D4081></A>The index section of a RealMedia file consists of =
a series=20
of index record objects. Each index record contains information for =
quickly=20
finding a packet of a particular time stamp for a media stream. The =
following=20
pseudo-structure describes the details of each index record: </P><PRE><A =
name=3D23614></A>
IndexRecord<BR>{<BR> UINT16 <CODE>object_version</CODE>;<BR><BR> if =
(<CODE>object_version</CODE> =3D=3D 0)<BR> {<BR> u_int32 =
timestamp;<BR> u_int32 offset;<BR> u_int32 =
packet_count_for_this_packet;<BR> }<BR>}
</PRE>
<P><A name=3D4086></A>An Index Record contains the following fields: =
</P>
<H4><A name=3D4088></A>object_version: 16 bits </H4>
<P><A name=3D4090></A>The version of the Index Record object. </P>
<H4><A name=3D4092></A>timestamp: 32 bits </H4>
<P><A name=3D22590></A>The timestamp in milliseconds associated with =
this record.=20
This member is present on all Index Record objects with an=20
<CODE>object_version</CODE> of 0 (zero). </P>
<H4><A name=3D22591></A>offset: 32 bits </H4>
<P><A name=3D22592></A>The offset from the start of the file at which =
this packet=20
can be found. This member is present on all Index Record objects with an =
<CODE>object_version</CODE> of 0 (zero). </P>
<H4><A name=3D4100></A>packet_count_for_this_packet: 32 bits </H4>
<P><A name=3D4102></A>The packet number of the packet for this record. =
This is the=20
same number of packets that would have been seen had the file been =
played from=20
the beginning to this point. This member is present on all Index Record =
objects=20
with an <CODE>object_version</CODE> of 0 (zero). </P>
<P><A name=3D4447></A></P>
<P>
<HR align=3Dleft width=3D"100%" SIZE=3D2>
<FONT size=3D-1><A =
href=3D"http://multimedia.cx/notice.htm">Copyright</A> © 2000 <A=20
href=3D"http://www.real.com/" target=3D_top>RealNetworks</A> <BR>For =
technical=20
support, please contact <A=20
href=3D"mailto:supportsdk@real.com">supportsdk@real.com</A>. =
</FONT></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -