Ralph Giles
2008-Nov-14 19:45 UTC
[ogg-dev] video chapters and subtitles in ogg containers
On Fri, Nov 14, 2008 at 5:11 AM, Hans J. Koch <hjk at linutronix.de> wrote:>> I don't think anything currently in Ogg can do this. The closest I can >> think of is CMML's clip concept, but you'd still have to parse the entire >> stream to find them all. > > That's nearly useless for DVD-like applications.I don't know. Wouldn't it work if the entire CMML clip track were packed at the beginning of the stream? That removes the seeks entirely. I actually think that should be allowed by the spec, although I'm not sure whether it is, currently. Is there a way to tell we have complete converage from a given collection of cmml packets? -r
Conrad Parker
2008-Nov-14 20:19 UTC
[ogg-dev] video chapters and subtitles in ogg containers
2008/11/15 Ralph Giles <giles at xiph.org>:> > I don't know. Wouldn't it work if the entire CMML clip track were > packed at the beginning of the stream? That removes the seeks > entirely. I actually think that should be allowed by the spec, > although I'm not sure whether it is, currently.It's not in the spec, but I can't really see anything wrong with it in terms of Ogg framing. Currently we specify that each clip be in a separate packet, on a standalone page (or pages), with granulepos equal to the onset of the clip. It would work to instead allow all the clips to be in the same packet and put that at the start of the stream, with granulepos equal to the onset of the first clip (or simply 0).> Is there a way to tell > we have complete converage from a given collection of cmml packets?Sure, the cmml track's eos page. Conrad.
Hans J. Koch
2008-Nov-14 20:57 UTC
[ogg-dev] video chapters and subtitles in ogg containers
On Fri, Nov 14, 2008 at 11:45:59AM -0800, Ralph Giles wrote:> On Fri, Nov 14, 2008 at 5:11 AM, Hans J. Koch <hjk at linutronix.de> wrote: > > >> I don't think anything currently in Ogg can do this. The closest I can > >> think of is CMML's clip concept, but you'd still have to parse the entire > >> stream to find them all. > > > > That's nearly useless for DVD-like applications. > > I don't know. Wouldn't it work if the entire CMML clip track were > packed at the beginning of the stream?Yes, of course. I'm just not sure if such a requirement is covered by the spec. After all, CMML seems to be designed as a markup language that can be serialized and be spread over the whole stream. But it might be possible to define some kind of <chapterlist> tag and require it to appear before the beginning of the relevant video/audio stream. Thanks, Hans
Ralph Giles
2008-Nov-14 22:04 UTC
[ogg-dev] video chapters and subtitles in ogg containers
On Fri, Nov 14, 2008 at 12:57 PM, Hans J. Koch <hjk at linutronix.de> wrote:> Yes, of course. I'm just not sure if such a requirement is covered by > the spec. After all, CMML seems to be designed as a markup language that > can be serialized and be spread over the whole stream. But it might be > possible to define some kind of <chapterlist> tag and require it to > appear before the beginning of the relevant video/audio stream.Right. The must-stream thing has lead to everything being spread over the timeline, but there's an exception in that the vorbis and theora codecs in Ogg both require configuration data from the head of the stream. Likewise, each multiplexed data type is identified by looking at the first page. So the player "already" has to look for and cache things from the start of the stream, and it's not really an extra burden to put other things. This is the idea with skeleton, with the comment packets, etc. It would be an alternate mode, and a mux tool can convert from one to the other with no outside information. On Fri, Nov 14, 2008 at 12:19 PM, Conrad Parker <conrad at metadecks.org> wrote:> It would work to instead allow all the clips to be in the same packet > and put that at the start of the stream, with granulepos equal to the > onset of the first clip (or simply 0).I don't think it matters how it's packetized, as long as the granulepos are all 0. Well, aside from the not breaking clip boundaries. They should probably be marked as headers in the fishbone too. -r