[annodex-dev] captioning and cmml
Conrad Parker
conrad at metadecks.org
Mon Dec 10 18:03:49 PST 2007
On 10/12/2007, Silvia Pfeiffer <silviapfeiffer1 at gmail.com> wrote:
> CMML doesn't "do" any embedding itself. The software that merges CMML
> into the Ogg bitstream would be the place to make the selection,
> should there be a need for selection. So, for example, say you have a
> CMML document on a Web server that has several tracks of annotations,
> one in english one in german and one in french. One connection is made
> and the client requests to only receive the German track (I'm not sure
> yet how - possibly through http parameters).
Through the HTTP Accept-Language request header, just like for web pages:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html section 14.4
> Then the server would
> know to only multiplex the german annotation track into the file and
> transfer that across rather than the whole lot. Such selection is not
> to be made by the CMML document itself - it can only contain
> information on the type of data it has and thus provide hooks for
> selection.
> ...
> So, the original idea went along the following lines: a client would
> receive all annotation tracks and provide a menu for the user to
> select which annotation track he/she would like to view. This could
> e.g. be a browser setting where there is a default selection (e.g.
> German for my browser :).
The normal HTTP language negotiation method is probably more
appropriate -- ie. you set your preferred languages in your browser
(as many languages as you like, in order of preference), and the
browser puts these into the Accept-Language request header. It is up
to the server to then provide the most preferred out of the content it
has available.
> The description of what annotation tracks are inside a file could be
> transferred by the server in the file headers or some other way - we
> haven't really described that yet. It could indeed go into the stream
> tag and then be encapsulated at the beginning of the Ogg file. If you
> have concrete ideas, feel free to start a specification and add a
> patch to the cmml spec - we should indeed discuss and solve such
> topics.
The primary content language is given by the server in the HTTP
Content-Language response header. (Specified in RFC2616 for HTTP/1.1).
For a file containing multiple Ogg logical bitstreams of CMML, each
can have its own Content-Language specified in its Ogg Skeleton
header. The same mechanism can be used for multiple-language audio
tracks; it is up to the server to provide the CMML and audio tracks
matching the user's language preference. (Should be specified in the
ogg-skeleton I-D if we haven't already :-).
Within CMML content, I'm not really sure what the deal is but you
hinted that the xml:lang attribute may be used in any element :-)
cheers,
Conrad.
More information about the annodex-dev
mailing list