[ogg-dev] Re: [Vorbis] metadata

Silvia.Pfeiffer@csiro.au
Sun, 20 Nov 2005 02:14:45 -0000

Hi Ian,

CMML is still a draft, so we can change the addressing if required. You're
correct, currently something like

  blah.cmml#fragment

points to a clip (or temporal section) of the stream, but

  blah.cmml#t=12

points to a 12 seconds offset.

(same for annodex, i.e. ogg files with skeleton track).


For pointing to logical streams inside ogg, I'd really suggest you have a
look at skeleton. Skeleton has all the information that is required, when used
with CMML. CMML provides an id tag for each logical bitstream that provides a
name (in addition to the rather arbitrary serial number). Then "id"
and the name get encoded in the binary skeleton header as a message header field
and can be used for addressing. You can use this mechanism also without using
CMML, by the way.

And as for queries: they work with Annodex in the same way that fragments work.
As per URI standard, the fragments get interpreted locally on the client, while
the queries can be transported to the server and thus perform offset options
before streaming.

There are libraries for doing all this stuff on annodex.net.

I'm not sure if this helps at all since I missed half the discussion. But I
thought I'd throw in my 5c.

Cheers,
Silvia.



-----Original Message-----
From:	ogg-dev-bounces@xiph.org on behalf of Ian Malone
Sent:	Fri 11/18/2005 3:26 AM
To:	vorbis@xiph.org; ogg-dev@xiph.org
Cc:
Subject:	[ogg-dev] Re: [Vorbis] metadata
Ralph Giles wrote:
> On Sun, Oct 02, 2005 at 07:50:25PM +0100, Ian Malone wrote:
>
>

>
>>It's not clear to me what the type should be,
>>"<?xml version='1.0'?>" is clear enough to
determine XML, but the
>>header should probably indicate the type of stream.
>
>
> Right. The XML declaration provides enough information for a muxer
> to hand off the stream to an xml parser, analogous to how stream
> identification can be done with our other codecs. Requiring this
> should probably be part of a general XML-in-Ogg spec or best
> practices document.
>
> Also having a doctype or namespaced root element in the initial
> packet to further identify the stream data is, as you suggest,
> another good idea. I'd make that a SHOULD.
>

CMML may have more on this (a document I should read properly
sometime), but it seems that a way of specifying a logical stream
via a URI would be useful too.  Within rfc3986 the query or
fragment components could be used.  Both have problems; fragment
prevents us further specifying a fragment within a logical stream,
query's meaning seems to be determined by the scheme (also a
problem with using part of the path).  Fragment would also (as I
understand) conflict with CMML's use, query might conflict.

Another possibility is a scheme solely for use within ogg streams,
so ogg:6789abcd (the semantics here aren't quite right) is a
relative reference to the stream with serial:6789abcd.  Then
ogg:6789abcd/#dolphin refers to id=dolphin in that stream,
ogg:/#dolphin refers to id=dolphin in the physical stream.
Defining a scheme is probably a long and difficult task, and
with such limited use it doesn't make much sense (it would
hardly be uniform).

Query is the most attractive;
<http://www.example.com/somefile.ogg?serial=6789abcd>
but I don't yet understand if this is compatible with existing
uses.

--
imalone
_______________________________________________
ogg-dev mailing list
ogg-dev@xiph.org