Subject: [AVT] RTP payload for MPEG-4 FlexMux streams

From: CURET Dominique FTRD/DMI/REN <[email-masked]>
Date: Mon, 25 Jun 2001 21:39:52 +0200

dear all,

Several questions have been raised during the last AVT meeting,
about the RTP payload for FlexMux. 

One of these questions was:
"why for the SDP syntax the a=fmtp attribute is not used?".

It has to be mentionned that after our MPEG meeting in Pisa,
which was held in January, such a syntax was planned. As most 
of us (MPEG people) found it a bit heavy and redundant, we changed 
our mind to adopt the current syntax.
We certainly missed  important points. Please let us know what
may be the benefit adding an fmtp syntax, to the current syntax.

you will find hereafter FIRST the complete INITIAL PROPOSAL with fmtp, 
and SECOND the CURRENT PROPOSAL without fmtp.

INITIAL PROPOSAL:  as we first planned to define the FlexMux parameters, 
a complete set of parameters with different fmtp attributes might 
have been:

"""""In case of a Flexmux stream, in order to be able to declare the 
initial characteristics of the FlexMux stream, the following 
Format-specific parameters  are defined:
a = fmtp:<format> fmxid= <MuxID>/<Muxtype>/<Muxmanagement>

<MuxID>	       is the ID of the FlexMux stream
<Muxtype>   is the type of the Multiplexing tool used to generate 
            the FlexMux stream. Indicated type value shall comply 
              with the MPEG-4 system table entitled "Multiplexing 
                type table": 0 for the first Flexmux tool, 1 for 
                 the second FlexMux tool.
<Muxmanagement> is the mode of management used by the Multiplexing 
                  tool, to generate the Flexmux stream. Indicated 
                  mode value shall comply with the MPEG-4 system 
                  table entitled "Multiplexing management mode 
                  table": 0 for static management, 1 for dynamic 
                  management.

a = fmtp:<format> fmxtiming=
<fcr_es_id>/<fcrresolution>/<fcrlength>/<fmxratelength>

<fcr_es_id> 	is the ES_ID associated to this clock reference stream.
<fcrresolution> is the resolution of the object time base in cycles per
second.
 <fcrlength> 	is the length of the fmxClockReference field in FlexMux 
                  packets with index = 238. A length of zero shall indicate 
                   that no FlexMux packets with index = 238 are present in 
                   this FlexMux stream. FCRlength shall take values between 
                  zero and 64.
<fmxratelength> is the length of the fmxRate field in FlexMux packets with 
                 index = 238. FmxRateLength shall take values between 1 and
32.

a = fmtp:<format> fmxfmctable=  <m1>:<es1>,<m2>:<es2>,....

<m1>,<m2>,...	are Flexmux channels
<es1>,<es2>,.....are ES_IDs

a = fmtp:<format> fmxcodetableentry= <muxcode>/<version> <substructurecount>

{<slotcount>,<repcount>(<m1>:<nb1>,<m2>:<nb2>,....)},{...},{...}

<muxcode>      is the number through which this MuxCode table entry is
referenced
<version> 	indicates the version of the MuxCode table entry. Only the
latest 
                  received version of a MuxCode table entry is valid.
<substructurecount>  is the count of substructures delimited by {...}
<slotcount> 	the number of slots with data from different FlexMux
Channels 
                     that are described by this substructure
<repcount> 	indicates how often this substructure is to be repeated. A
repcount 
                 zero indicates that this substructure is to be repeated
infinitely. 
                  repcount zero is only permitted in the last substructure
of a 
                  MuxCodeTableEntry.
<nb1>,<nb2> 	the number of data bytes in this slot associated to are
flexmux 
                  channel m1, m2.n This number of bytes corresponds to one
SL packet.

a = fmtp:<format> fmxbuffersize=
<defaultsize>/<m1>:<size1>,<m2>:<size2>,......

<defaultsize>	the default size of multiplex buffers for each individual
channel 
                   in a FlexMux stream. FlexMux channels that use a
different 
                  buffer size may signal this using the following
<mi>:<sizei> syntax
<size1>,<size2>,..	the size of FlexMux buffers, for FlexMux channels m1
and m2 
                   of this FlexMux, stream in bytes.

In case of a Flexmux stream, in order to be able to point to the initial
characteristics 
 (MPEG-4 FlexMux descriptors) of the FlexMux stream, the following attribute
is defined

a = mpeg4-flexmuxinfo: <location of descriptor list>

<location of descriptor list>            is a URL enclosed in double quotes,
that will
                      supply the required flexmux list of descriptors.  If
they are small, 
                      a DATA: URL will probably suffice to carry them
in-line. If not, the 
                      URL should use a file-retrieval scheme (e.g. HTTP).
The data at the 
                      indicated URL consists of some number of concatenated
complete 
                       descriptors. These descriptors have an intrinsic
length, so simple 
                       concatenation suffices. 
Examples:
a= mpeg4-flexmuxinfo:"http://example.com/muxtable.dat" 
a= mpeg4-flexmuxinfo:"http://example.com/muxtable.xml" 
a= mpeg4-flexmuxinfo:"data:,;7ab3742134bab347" 
a= mpeg4-flexmuxinfo:"data:text/xml;<MPEG-4 FlexMuxdescriptor.../>" 

DATA URLs allow for base64 encoding of binary data, which would be needed
here. The MPEG-4 
FlexMux descriptors related to FlexMux description are defined within the
MPEG-4 system 
specification . The list of MPEG-4 descriptors cannot be empty. Ad Hoc
descriptors can 
complete it."""""   
                                                END of INITIAL PROPOSAL

CURRENT PROPOSAL: In the draft proposal that was presented in Minneapolis
the fmtp 
parameters have been not presented. The only "a= mpeg4-flexmuxinfo"
remaining.
                                                 END of THE CURRENT PROPOSAL

What feature do we miss using this declaration, as with the "data:text/xml 
attribute we can descrtibe textual descriptors?

your comments are welcome.

regards

Dominique

_________________________________________
> Dominique Curet
> France Télécom R&D - DMI/PIA
> % + 33 (0)2 99 12 40 05   Fax : + 33 (0)2 99 12 40 98
> )  CCETT       B.P. 59            4, rue du Clos Courtel 
> 35512           Cesson-Sevigne   Cedex   09     FRANCE
> mailto:[email-masked]
_________________________________________

_______________________________________________
Audio/Video Transport Working Group
[email-masked]
http://www.ietf.org/mailman/listinfo/avt