throbber
10/2/13
`
`draft-heftag aub-rmff-00 - RealMedia File Format
`
`Internet Draft
`
`draft—heftagaub—rmff—00.txt
`
`March 13, 1998
`
`STATUS OF THIS MEMO
`
`Rahul Agarwal, RealNetworks
`
`Jeff Ayars, RealNetworks
`Brad Hefta—Gaub, RealNetworks
`
`Dale Stammen, RealNetworks
`
`Expires: August I3, 1998
`
`RealMedia File Format
`
`This document is an Internet—Draft.
`
`Internet—Drafts are working
`
`documents of the Internet Engineering Task Force (IETF), its areas, and
`
`its working groups. Note that other groups may also distribute working
`documents as Internet—Drafts.
`
`Interne-—Drajts are draft documents valid for a maximum of six months
`
`and may be updated, replaced, or obsoleted by other documents at any
`
`time.
`
`It is inappropriate to use Internet—Drafts as reference material
`
`or to cite them other than as “work in progress".
`
`To learn the current status of any Internet—Draft, please check the
`
`“lid—abstracts.txt" listing contained in the Internet—Drafts Shadow
`
`(Europe),
`Directories on ftp.is.co.za (Africa), nic.nordu.net
`munnari.oz.au (Pacific Rim), ds.internic.net
`(US East Coast), or
`
`ftp.isi.edu (US West Coast).
`
`Distribution of this document is unlimited.
`
`Abstract:
`
`Introduction
`
`The RealMedia File Format
`
`(RMFF)
`
`is designed to be a generic container
`
`for streaming media data. This data may then be played back locally or
`streamed over a network using protocols such as RTSP and RTP.
`The
`
`format is data—independent, allowing any data type to be recorded,
`
`manipulated and played back.
`
`Note: This document is intended to be informational in nature of what
`
`the file format in use by RealNetworks' Realserver and RealPlayer
`
`implementations.
`
`Though we think that there are a lot of important
`
`concepts embodied in this specification, and that it may even make the
`
`basis of a "standard" file format,
`
`this is intended to eventually end
`
`up as an Informational RFC.
`
`Copyright Notice:
`
`Copyright
`
`(C) RealNetworks
`
`(1998). All Rights Reserved.
`
`too|s.ietf.org/html/draft-heftag aub-rmff-00
`
`1
`
`BTN0005737
`
`1/18
`NEULION 1007
`
`BTN0005737
`
`BTN0005737
`
`1
`
`NEULION 1007
`
`

`
`10/2/13
`
`draft-heftag aub-rmff-00 - Rea|Media File Format
`
`R. Agarwal, J. Ayars, B. Hefta-Gaub, D. Stammen
`
`Page
`
`1
`
`too|s.ietf.org/html/draft-heftag aub-rmff-00
`
`2
`
`BTN0005738
`
`2/18
`
`BTN0005738
`
`BTN0005738
`
`2
`
`

`
`10/2/13
`
`draft-heftag aub-rmff-00 - RealMedia File Format
`
`INTERNET-DRAFT
`
`RTSP
`
`March 13, 1998
`
`RealMedia File Format
`
`(RMFF)
`
`1. File Format
`
`2. Header Section
`
`2.1 RealMedia File Header
`
`2.2 Properties Header
`
`2.3 Media Properties Header
`
`2.4 Content Description Header
`3. Data Section
`
`3.1 Data Chunk Header
`
`3.2 Data Packet Header
`
`4.
`
`Index Section
`4.1 Index Section Header
`
`4.2 Index Record
`
`1. File Format
`
`RealMedia File Format is a standard tagged file format that uses
`
`four—character codes to identify file elements. These codes are 32-bit,
`
`represented by a sequence of one to four ASCII alphanumeric characters,
`
`padded on the right with space characters. The data type for
`
`four—character codes is FOURCC. Use the PN_FOURCC macro to convert four
`characters into a four—character code.
`
`The basic building block of a RealMedia File is a chunk, which is a
`
`logical unit of data, such as a stream header or a packet of data. Each
`
`chunk contains the following fields:
`
`* four—character code specifying the chunk identifier
`
`* 32-bit value specifying the size of the data member in the chunk
`
`* blob of opaque chunk data
`
`R. Agarwal, J. Ayars, B. Hefta—Gaub, D. Stammen
`
`Page
`
`2
`
`too|s.ietf.orglhtm|/draft-heftag aub-rmff-00
`
`3
`
`BTN0005739
`
`3/18
`
`BTN0005739
`
`BTN0005739
`
`3
`
`

`
`10/2/13
`
`draft-heftag aub-rmff-00 - RealMedia File Format
`
`INTERNET-DRAFT
`
`RTSP
`
`March 13, 1998
`
`Depending on its type, a top—level chunk can contain subobjects. This
`document describes the tagged chunks contained in RMFF, as well as the
`
`format of the data stored in each type of tagged chunk.
`
`Tagged Chunk
`
`Tagged Chunk
`
`+ ———————————————————— ——+
`I
`ID
`+ ————————————————————— ——
`
`Size
`I
`+ ————————————————————— ——
`
`|
`
`Data
`
`+ ———————————————————— ——+
`I
`ID
`+ ———————————————————— ——+
`
`Size
`I
`+ ————————————————————— ——
`
`Subchunk
`
`Subchunk
`
`I
`/+ ----------- --+
`
`Data
`
`I
`
`I
`
`|
`
`I
`
`I
`\|
`/+ ----------- --+
`
`Data
`
`I
`
`I
`
`I
`
`I
`
`/
`
`\
`
`/
`
`\
`
`I
`\l
`+ ——————————— ——+
`+ ————————————————————— ——
`
`Figure 1. Tagged File Formats
`
`2. Header Section
`
`Because RMFF is a tagged file format,
`
`the order of the chunks is not
`
`explicit, except that the RealMedia File Header must be the first chunk
`
`in the file. However, most applications write the standard headers into
`
`the file's header section. The following chunks are typically found in
`the header section of RMFF:
`
`>(->(->(->(-
`
`RealMedia File Header
`
`(This must be the first chunk of the file)
`
`Properties Header
`
`Media Properties Header
`
`Content Description Header
`
`After the RealMedia File Header object,
`
`the other headers may appear in
`
`any order. All headers are required except the Index Header. The
`
`following sections describe the individual header objects ,
`
`R. Agarwal, J. Ayars, B. Hefta—Gaub, D. Stammen
`
`Page
`
`3
`
`too|s.ietf.org/html/draft-heftag aub-rmff-00
`
`4
`
`BTN0005740
`
`4/18
`
`BTN0005740
`
`BTN0005740
`
`4
`
`

`
`10/2/13
`
`draft-heftag aub-rmff-00 - RealMedia File Format
`
`INTERNET-DRAFT
`
`RTSP
`
`March 13, 1998
`
`2.1 RealMedia File Header
`
`Each RealMedia file begins with the RealMedia File Header, which
`
`identifies the file as RMFF. There is only one RealMedia File Header in
`
`a RealMedia file. Because the contents of the RealMedia File Header may
`
`change with different versions of RMFF,
`
`the header structure supports an
`
`object version field for determining what additional fields exists. The
`
`following pseudo—structure describes the RealMedia File Header:
`
`RealMedia_File_Header
`{
`
`UINT32
`UINT32
`
`UINT16
`
`object_id;
`size;
`
`object_version;
`
`if (object_version ==
`
`)
`
`UINT32
`
`UINT32
`
`file_version;
`
`num_headers;
`
`The RealMedia File Header contains the following fields:
`
`object_id; 32 bits
`The unique object ID for a RealMedia File ('.RMF'). All RealMedia
`
`files begin with this identifier.
`
`size: 32 bits
`
`The size of the RealMedia header section in bytes.
`
`object_version: 16 bits
`The version of the RealMedia File Header object. All files created
`
`according to this specification have an object_version number of 0
`(zero).
`
`file_Version: 32 bits
`The version of the RealMedia file in PN Version format. All files
`
`created according to this specification have a major version number
`
`of 1. This member is present on all RealMedia_File_Header objects
`
`with an object_version of 0
`
`(zero).
`
`num_headers: 32 bits
`The number of headers in the header section that follow the
`
`RealMedia File Header. This member is present on all
`
`RealMedia_File_Header objects with an object_version of 0
`
`(zero).
`
`R. Agarwal, J. Ayars, B. Hefta—Gaub, D. Stammen
`
`Page
`
`4
`
`too|s.ietf.org/html/draft-heftag aub-rmff-00
`
`5
`
`BTN0005741
`
`5/18
`
`BTN0005741
`
`BTN0005741
`
`5
`
`

`
`10/2/13
`
`draft-heftag aub-rmff-00 - RealMedia File Format
`
`INTERNET-DRAFT
`
`RTSP
`
`March 13, 1998
`
`2.2 Properties Header
`
`The Properties Header describes the general media properties of the
`
`RealMedia File. Components of the RealMedia system use this object to
`
`configure themselves for handling the data in the RealMedia file or
`
`stream. There is only one Properties Header in a RealMedia file. The
`
`following pseudo—structure describes the Properties header:
`
`object_id;
`size;
`
`object_version;
`
`max_bit_rate;
`avg_bit_rate;
`
`max_packet_size;
`
`avg_packet_size;
`num_packets;
`duration;
`
`preroll;
`
`index_offset;
`
`data_offset;
`
`num_streams;
`flags;
`
`Properties
`{
`
`UINT32
`UINT32
`
`UINTl6
`
`if (object_version ==
`{
`
`)
`
`UZkT32
`UINT32
`
`UZkT32
`
`UINT32
`UINT32
`UZkT32
`I
`UINT32
`7.H L» N
`U_
`I
`17 I-21 00 l\)
`U_
`
`INTl6
`ZNTl6
`
`U U
`
`The Properties Header contains the following fields:
`
`object_id; 32 bits
`The unique object ID for a Properties Header
`
`(‘PROP’).
`
`size: 32 bits
`
`The size of the Properties Header in bytes.
`
`object_version: 16 bits
`The version of the RealMedia File Header object. All files created
`
`according to this specification have an object_version number of 0
`(zero).
`
`R. Agarwal, J. Ayars, B. Hefta—Gaub, D. Stammen
`
`Page
`
`5
`
`too|s.ietf.org/html/draft-heftag aub-rmff-00
`
`6
`
`BTN0005742
`
`6/18
`
`BTN0005742
`
`BTN0005742
`
`6
`
`

`
`10/2/13
`
`draft-heftag aub-rmff-00 - Rea|Media File Format
`
`INTERNET-DRAFT
`
`RTSP
`
`March 13, 1998
`
`max_bit_rate: 32 bits
`The maximum bit rate required to deliver this file over a network.
`
`This member is present on all Properties objects with an
`
`object_version of 0
`
`(zero).
`
`avg_bit_rate: 32 bits
`The average bit rate required to deliver this file over a network.
`
`This member is present on all Properties objects with an
`
`object_version of 0
`
`(zero).
`
`max_packet_size: 32 bits
`The largest packet size (in bytes)
`
`in the media data. This member is
`
`present on all Properties objects with an object_version of 0
`
`(zero).
`
`avg_packet_size: 32 bits
`The average packet size (in bytes)
`
`in the media data. This member
`
`is present on all Properties objects with an object_version of 0
`(zero).
`
`num;packets: 32 bits
`The number of packets in the media data. This member is present on
`
`all Properties objects with an object_version of 0
`
`(zero).
`
`duration: 32 bits
`
`The duration of the file in milliseconds. This member is present on
`
`all Properties objects with an object_version of 0
`
`(zero).
`
`preroll: 32 bits
`
`The number of milliseconds to pre-buffer before starting playback.
`
`This member is present on all Properties objects with an
`
`object_version of 0
`
`(zero).
`
`index_offset: 32 bits
`The offset in bytes from the start of the file to the start of the
`index header object. This member is present on all Properties
`
`objects with an object_version of 0
`
`(zero).
`
`data_offset: 32 bits
`The offset in bytes from the start of the file to the start of the
`
`Data Section. This member is present on all Properties objects with
`
`an object_version of 0
`
`(zero).
`
`num_streams: 16 bits
`The number of media streams contained in the file. This member is
`
`present on all Properties objects with an object_version of 0
`(zero).
`
`R. Agarwal, J. Ayars, B. Hefta—Gaub, D. Stammen
`
`Page
`
`6
`
`too|s.ietf.org/html/draft-heftag aub-rmff-00
`
`7
`
`BTN0005743
`
`7/18
`
`BTN0005743
`
`BTN0005743
`
`7
`
`

`
`10/2/13
`
`draft-heftag aub-rmff-00 - RealMedia File Format
`
`INTERNET-DRAFT
`
`RTSP
`
`March 13, 1998
`
`flags: 16 bits
`Flags indicating characteristics of the RealMedia file. The
`
`following flags are defined:
`
`o #de fine PN_SAVE_ENABLED 0x0 0 0 1
`
`Allows clients to save a copy of the RealMedia file to disk.
`
`0 #define PN_PERFECT_PLAY_ENABLED OX0 O 0 2
`
`Allows clients to use extra buffering to ensure Perfect Play.
`
`o #de fine PN_L IVE_BROADCAST 0x0 0 0 4
`
`The RealMedia file is being generated by a live broadcast.
`
`2.3 Media Properties Header
`
`The Media Properties Header describes the specific media properties of
`
`each stream in a RealMedia File. Components of the RealMedia system use
`
`this object to configure themselves for handling the media data in each
`
`stream. There is one Media Properties Header for each media stream in a
`
`RealMedia file. The following pseudo—structure describes the Media
`Properties header:
`
`Media_Properties
`{
`
`UINT32
`UINT32
`
`UINTl6
`
`object_id;
`size;
`
`object_version;
`
`R. Agarwal, J. Ayars, B. Hefta—Gaub, D. Stammen
`
`Page
`
`7
`
`too|s.ietf.org/html/draft-heftag aub-rmff-00
`
`BTN0005744
`
`8/18
`
`BTN0005744
`
`BTN0005744
`
`8
`
`

`
`10/2/13
`
`draft-heftag aub-rmff-00 - Rea|Media File Format
`
`INTERNET-DRAFT
`
`RTSP
`
`March 13, 1998
`
`if (object_version ==
`{
`
`)
`
`UZkTl6
`UI‘T32
`
`UZNT32
`
`UZkT32
`UINT32
`
`UZkT32
`UINT32
`UZNT32
`
`UZRT8
`UINT8[stream_name_size]
`UZNT8
`
`U_kT8[mime_type_size]
`UI‘T32
`
`stream_number;
`max_bit_rate;
`
`avg_bit_rate;
`
`max_packet_size;
`avg_packet_size;
`
`start_time;
`preroll;
`duration;
`
`stream_name_size;
`stream_name;
`mime_type_size;
`
`mime_type;
`type_specific_len;
`
`UZNT8[type specific len]
`
`type_specific_data;
`
`The Media Properties Header contains the following fields:
`
`object_id: 32 bits
`The unique object ID for a Media Properties Header
`
`('MDPR').
`
`size: 32 bits
`
`The size of the Media Properties Header in bytes.
`
`object_version: 16 bits
`The version of the Media Properties Header object.
`
`stream_number: 32 bits
`(synchronization source identifier) is a unique
`The stream_number
`value that identifies a media stream. Every data packet that
`
`belongs to a media stream contains the same STREAM;NUMBER. The
`STREAM_NUMBER enables a receiver of multiple media streams to
`distinguish which packets belong to each media stream. This member
`
`is present on all MediaProperties objects with an object_version of
`0
`(zero).
`
`max_bit_rate: 32 bits
`The maximum bit rate required to deliver this stream over a
`
`network. This member is present on all MediaProperties objects
`
`with an object_version of 0
`
`(zero).
`
`R. Agarwal, J. Ayars, B. Hefta—Gaub, D. Stammen
`
`Page
`
`8
`
`too|s.ietf.org/html/draft-heftag aub-rmff-00
`
`9
`
`BTN0005745
`
`9/18
`
`BTN0005745
`
`BTN0005745
`
`9
`
`

`
`10/2/13
`
`draft-heftag aub-rmff-00 - Rea|Media File Format
`
`INTERNET-DRAFT
`
`RTSP
`
`March 13, 1998
`
`avg_bit_rate: 32 bits
`The average bit rate required to deliver this stream over a
`
`network. This member is present on all MediaProperties objects
`
`with an object_version of 0
`
`(zero).
`
`max_packet_size: 32 bits
`The largest packet size (in bytes)
`
`in the stream of media
`
`data. This member is present on all MediaProperties objects with an
`
`object_version of 0
`
`(zero).
`
`avg_packet_size: 32 bits
`in the stream of media
`The average packet size (in bytes)
`data. This member is present on all MediaProperties objects with an
`
`object_version of 0
`
`(zero).
`
`start_time: 32 bits
`The time offset in milliseconds to add to the timestamp of each
`
`packet in a media stream. This member is present on all
`
`MediaProperties objects with an object_version of 0
`
`(zero).
`
`preroll: 32 bits
`
`The time offset in milliseconds to subtract to the timestamp of
`
`each packet in a media stream. This member is present on all
`
`MediaProperties objects with an object_version of 0
`
`(zero).
`
`duration: 32 bits
`
`The duration of the stream in milliseconds. This member is present
`
`on all MediaProperties objects with an object_version of 0
`
`(zero).
`
`stream_name_size:
`
`8 bits
`
`The length of the following stream_name field in bytes. This member
`is present on all MediaProperties objects with an object_version of
`0
`(zero).
`
`stream_name: variable length
`A non—unique alias or name for the stream. This member is present
`
`on all MediaProperties objects with an object_version of 0
`
`(zero).
`
`8 bits
`mime_type_size:
`The length of the following mime_type field in bytes. This member
`
`is present on all MediaProperties objects with an object_version of
`0
`(zero).
`
`R. Agarwal, J. Ayars, B. Hefta—Gaub, D. Stammen
`
`Page
`
`9
`
`too|s.ietf.orglhtm|/draft-heftag aub-rmff-00
`
`1 0
`
`BTN0005746
`
`10/18
`
`BTN0005746
`
`BTN0005746
`
`10
`
`

`
`10/2/13
`
`draft-heftag aub-rmff-00 - RealMedia File Format
`
`INTERNET-DRAFT
`
`RTSP
`
`March 13, 1998
`
`mime_type: variable length
`A non—unique MIME style type/subtype string for data associated
`
`with the stream. This member is present on all MediaProperties
`
`objects with an object_version of 0
`
`(zero).
`
`type_specific_len: 32 bits
`The length of the following type_specific_data in bytes. The
`
`type_specific_data is typically used by the data—type renderer to
`initialize itself in order to process the media stream. This member
`
`is present on all MediaProperties objects with an object_version of
`0
`(zero).
`
`type_specific_data: variable length
`
`The type_specific_data is typically used by the data—type renderer
`to initialize itself in order to process the media stream. This
`
`member is present on all MediaProperties objects with an
`
`object_version of 0
`
`(zero).
`
`2.4 Content Description Header
`
`The Content Description Header contains the title, author, copyright,
`and comments information for the RealMedia File. All text data is in
`
`ASCII format. The following pseudo-structure describes the Content
`Description Header:
`
`Content_Description
`{
`
`UZNT32
`UINT32
`
`UINT16
`
`if (object_version == 0)
`{
`
`UINT16
`UINT8[title_len]
`
`UINT16
`UINT8[author_len]
`
`UINT16
`
`UINT8[copyright_len]
`UINT16
`
`UINT8[comment_len]
`
`}
`
`}
`
`object_id;
`size;
`
`object_version;
`
`title_len;
`title;
`
`author_len;
`author;
`
`copyright_len;
`
`copyright;
`comment_len;
`
`comment;
`
`R. Agarwal, J. Ayars, B. Hefta—Gaub, D. Stammen
`
`Page 10
`
`too|s.ietf.orglhtm|/draft-heftag aub-rmff-00
`
`1 1
`
`BTN0005747
`
`11/18
`
`BTN0005747
`
`BTN0005747
`
`11
`
`

`
`10/2/13
`
`draft-heftag aub-rmff-00 - RealMedia File Format
`
`INTERNET-DRAFT
`
`RTSP
`
`March 13, 1998
`
`The Content Description Header contains the following fields:
`
`object_id: 32 bits
`The unique object ID for the Content Description Header
`
`(‘CONT’).
`
`size: 32 bits
`
`The size of the Content Description Header in bytes.
`
`object_version: 16 bits
`The version of the Content Description Header object.
`
`title_len: 16 bits
`The length of the title data in bytes. Note that the title data is
`
`not null terminated. This member is present on all Content
`
`Description Header objects with an object_version of 0
`
`(zero).
`
`title: variable length
`
`An array of ASCII characters that represents the title information
`
`for the RealMedia file. This member is present on all Content
`
`Description Header objects with an object_version of 0
`
`(zero).
`
`author_len: 16 bits
`The length of the author data in bytes. Note that the author data
`is not null terminated. This member is present on all Content
`
`Description Header objects with an object_version of 0
`
`(zero).
`
`author: variable length
`
`An array of ASCII characters that represents the author information
`
`for the RealMedia file. This member is present on all Content
`
`Description Header objects with an object_version of 0
`
`(zero).
`
`copyright_len: 16 bits
`The length of the copyright data in bytes. Note that the copyright
`
`data is not null terminated. This member is present on all Content
`
`Description Header objects with an object_version of 0
`
`(zero).
`
`copyright: variable length
`
`An array of ASCII characters that represents the copyright
`
`information for the RealMedia file. This member is present on all
`
`Content Description Header objects with an object_version of 0
`(zero).
`
`comment_len: 16 bits
`The length of the comment data in bytes. Note that the comment data
`
`is not null terminated. This member is present on all Content
`
`Description Header objects with an object_version of 0
`
`(zero).
`
`R. Agarwal, J. Ayars, B. Hefta—Gaub, D. Stammen
`
`Page 11
`
`too|s.ietf.orglhtm|/draft-heftag aub-rmff-00
`
`1 2
`
`BTN0005748
`
`12/18
`
`BTN0005748
`
`BTN0005748
`
`12
`
`

`
`10/2/13
`
`draft-heftag aub-rmff-00 - RealMedia File Format
`
`INTERNET-DRAFT
`
`RTSP
`
`March 13, 1998
`
`comment: variable length
`An array of ASCII characters that represents the comment
`
`information for the RealMedia file. This member is present on all
`
`Content Description Header objects with an object_Version of 0
`(zero).
`
`3. Data Section
`
`The data section of the RealMedia file consists of a Data Section Header
`
`that describes the contents of the data section,
`
`followed by a series of
`
`interleaved media data packets. Note that the size field of the Data
`
`Chunk Header is the size of the entire data chunk,
`data packets.
`
`including the media
`
`3.1 Data Chunk Header
`
`The Data Chunk Header marks the start of the data chunk. There is
`
`usually only one data chunk in a RealMedia file, however for extremely
`
`large files there may be multiple data chunks. The following
`
`pseudo—structure describes the Data chunk header:
`
`Data_Chunk_Header
`{
`
`UINT32
`UINT32
`
`UINT16
`
`if (object_Version == 0)
`{
`
`UINT32
`
`UINT32
`
`object_id;
`size;
`
`object_version;
`
`num;packets;
`
`next_data_header;
`
`The Data Chunk Header contains the following fields:
`
`object_id: 32 bits
`The unique object ID for the Data Chunk Header
`
`(‘DATA’).
`
`size: 32 bits
`
`The size of the Data Chunk in bytes.
`
`object_version: 16 bits
`The version of the Data Chunk Header object.
`
`R. Agarwal, J. Ayars, B. Hefta—Gaub, D. Stammen
`
`Page 12
`
`too|s.ietf.orglhtm|/draft-heftag aub-rmff-00
`
`1 3
`
`BTN0005749
`
`13/18
`
`BTN0005749
`
`BTN0005749
`
`13
`
`

`
`10/2/13
`
`draft-heftag aub-rmff-00 - RealMedia File Format
`
`INTERNET-DRAFT
`
`RTSP
`
`March 13, 1998
`
`num;packets: 32 bits
`Number of packets in the data chunk. This member is present on all
`
`Data Chunk Header objects with an object_version of 0
`
`(zero).
`
`next_data_header: 32 bits
`Offset from start of file to the next data chunk. This field is not
`
`typically used. This member is present on all Data Chunk Header
`
`objects with an object_version of 0
`
`(zero).
`
`3.2 Data Packet Header
`
`The data section of a RealMedia file consists of a series of interleaved
`
`data objects. Each data object contains a packet of data for a media
`stream. Because a RealMedia file can contain numerous media streams,
`
`data objects for each stream are interleaved. The following
`
`pseudo—structure describes the details of each interleaved packet:
`
`Media_Packet_Header
`{
`
`UINTl6
`
`object_version;
`
`if (object_version ==
`{
`
`)
`
`UINTl6
`
`UINTl6
`UINT32
`UZNT8
`
`length;
`
`stream_number;
`timestamp;
`reserved;
`
`UZNT8
`UINT8[length]
`
`flags;
`data;
`
`The Media Packet Header contains the following fields:
`
`l6 bits
`object_version:
`The version of the Media Packet Header object.
`
`length: 16 bits
`
`The length of the packet in bytes. This member is present on all
`
`Media Packet Header objects with an object_version of 0
`
`(zero).
`
`l6 bits
`stream_number;
`The 16-bit alias used to associate data packets with their
`
`associated Media Properties Header. This member is present on all
`
`Media Packet Header objects with an object_version of 0
`
`(zero).
`
`R. Agarwal, J. Ayars, B. Hefta—Gaub, D. Stammen
`
`Page 13
`
`too|s.ietf.org/html/draft-heftagaub-rmff-00
`
`1 4
`
`BTN0005750
`
`14/18
`
`BTN0005750
`
`BTN0005750
`
`14
`
`

`
`10/2/13
`
`draft-heftag aub-rmff-00 - RealMedia File Format
`
`INTERNET-DRAFT
`
`RTSP
`
`March 13, 1998
`
`timestamp: 32 bits
`The timestamp of the packet in milliseconds This member is present
`
`on all Media Packet Header objects with an object_version of 0
`(zero).
`
`reserved:
`
`8 bits
`
`This is not used. This member is present on all Media Packet Header
`
`objects with an object_version of 0
`
`(zero).
`
`flags:
`
`l6 bits
`
`Flags describing the properties of the packet. The following flags
`are defined:
`
`o #define PN_RELIABLE_FLAG OxOOOl
`
`If this flag is set,
`
`the packet is delivered reliably.
`
`0 #define PN_KEYFRAME_FLAG OXOOO2
`
`If this flag is set,
`
`the packet is part of a key frame or in
`
`some way marks a boundary in your data stream.
`
`This member is present on all Media Packet Header objects with an
`
`object_version of 0
`
`(zero).
`
`data: variable length
`
`The application—specific media data. This member is present on all
`
`Media Packet Header objects with an object_version of 0
`
`(zero).
`
`4.
`
`Index Section
`
`The index section of the RealMedia file consists of a Index Chunk Header
`
`followed by a series
`that describes the contents of the index section,
`of index records. Note that the size field of the Index Chunk Header is
`
`the size of the entire index chunk,
`
`including the index records.
`
`4.1 Index Section Header
`
`The Index Chunk Header marks the start of the index chunk. There is
`
`usually one index chunk per stream in a RealMedia file. The following
`
`pseudo—structure describes the Index chunk header.
`
`R. Agarwal, J. Ayars, B. Hefta—Gaub, D. Stammen
`
`Page 14
`
`too|s.ietf.orglhtm|/draft-heftag aub-rmff-00
`
`1 5
`
`BTN0005751
`
`15/18
`
`BTN0005751
`
`BTN0005751
`
`15
`
`

`
`10/2/13
`
`draft-heftag aub-rmff-00 - RealMedia File Format
`
`INTERNET-DRAFT
`
`RTSP
`
`March 13, 1998
`
`Index_Chunk_Header
`{
`
`u_int32
`u_int32
`
`u_intl6
`
`if (object_version == 0)
`{
`
`u_int32
`u_int16
`
`u_int32
`
`object_id;
`size;
`
`object_version;
`
`num_indices;
`stream_number;
`
`next_index_header;
`
`The Index Chunk Header contains the following fields:
`
`object_id: 32 bits
`The unique object ID for the Index Chunk Header
`
`('INDX‘).
`
`size: 32 bits
`
`The size of the Index Chunk in bytes.
`
`object_version: 16 bits
`The version of the Index Chunk Header object.
`
`num_indices: 32 bits
`Number of index records in the index chunk. This member is present
`
`on all Index Chunk Header objects with an object_version of 0
`(zero).
`
`stream_number: 16 bits
`The stream number for which the index records in this index chunk
`
`are associated. This member is present on all Index Chunk Header
`
`objects with an object_version of 0
`
`(zero).
`
`next_index_header: 32 bits
`Offset from start of file to the next index chunk. This field lets
`
`RealMedia file format readers find all the index chunks
`
`quickly. This member is present on all Index Chunk Header objects
`
`with an object_version of 0
`
`(zero).
`
`R. Agarwal, J. Ayars, B. Hefta—Gaub, D. Stammen
`
`Page 15
`
`too|s.ietf.orglhtm|/draft-heftag aub-rmff-00
`
`1 6
`
`BTN0005752
`
`16/18
`
`BTN0005752
`
`BTN0005752
`
`16
`
`

`
`10/2/13
`
`draft-heftag aub-rmff-00 - Rea|Media File Format
`
`INTERNET-DRAFT
`
`RTSP
`
`March 13, 1998
`
`4.2 Index Record
`
`The index section of a RealMedia file consists of a series of index
`
`record objects. Each index record contains information for quickly
`
`finding a packet of a particular time stamp for a media stream. The
`
`following pseudo—structure describes the details of each index record:
`
`IndexRecord
`
`{
`
`UINTl6
`
`object_version;
`
`if (object_version ==
`{
`
`)
`
`u_int32
`u_int32
`
`u_int32
`
`timestamp;
`offset;
`
`packet_count_for_this_packet;
`
`An Index Record contains the following fields:
`
`object_version: 16 bits
`The version of the Index Record object.
`
`timestamp; 32 bits
`
`The timestamp in milliseconds associated with this record. This
`
`member is present on all Index Record objects with an
`
`object_version of 0
`
`(zero).
`
`offset: 32 bits
`
`The offset from the start of the file at which this packet can be
`
`found. This member is present on all Index Record objects with an
`
`object_version of 0
`
`(zero).
`
`packet_count_for_this_packet: 32 bits
`The packet number of the packet for this record. This is the same
`
`number of packets that would have been seen had the file been
`
`played from the beginning to this point. This member is present on
`
`all Index Record objects with an object_version of 0
`
`(zero).
`
`R. Agarwal, J. Ayars, B. Hefta—Gaub, D. Stammen
`
`Page 16
`
`too|s.ietf.orglhtm|/draft-heftag aub-rmff-00
`
`1 7
`
`BTN0005753
`
`17/18
`
`BTN0005753
`
`BTN0005753
`
`17
`
`

`
`10/2/13
`
`draft-heftag aub-rmff-00 - Rea|Media File Format
`
`too|s.ietf.org/html/draft-heftagaub-rmff-00
`
`1 8
`
`BTN0005754
`
`18/18
`
`BTN0005754
`
`BTN0005754
`
`18

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket