[Xiph-dev] What's the status of Xiph codecs support in the Helix project?

Samuel Klein meta.sj at gmail.com
Mon Nov 19 00:12:15 EST 2007


Ivo, perhaps we could come up wit ha set of compliance elements that
typical users of OLPC laptops will need, as a case study for what free
formats should be supported for other users to be considered
'complete'.

Aaron, it would be tremendous to have speex working cleanly on the XOs,
since a primary use case is sharing voice data via the cleanest
lightweight recordings.   (I would like to have that working
seamlessly both in Helix and in gstreamer, but that's another issue.)

SJ

On Oct 8, 2007 12:06 PM, Aaron Colwell <acolwell at real.com> wrote:
> Comments inline
>
> Ivo Emanuel Gonçalves wrote:
> > Hello lists,
> >
> > Personally, I have not yet had an opportunity to test the different
> > components in the Helix project.  As such, most of what I know comes
> > from Wikipedia.
> >
> > In Wikipedia, it is stated that the Helix DNA Client supports Vorbis
> > and Theora, but apparently, not Speex.  Is it this true?
>
> This is true.
>
>  > How hard
> > would it be to port an implementation of Speex to the Helix Client?
>
> Not that hard.
>
> > Is anyone working in it?
> Not at the moment. I'm essentially the maintainer of the Xiph related
> code and haven't had the time lately to add speex support. At a minimum
> I'm hoping to do a new release with the Theora Beta 1 decoder in the
> next week or so.
>
>  > What about Ogg Skeleton, which is now a
> > requirement for Theora videos served under the video/ogg media type?
> >
> Has this been formally made a requirement yet? It seems like this is
> still being hashed out on the xiph lists. I have yet to comment on the
> proposal because I haven't completely groked the whole thread yet. For
> now Skeleton is not supported.
>
> > In Wikipedia, it is stated that the Helix DNA Server only supports
> > streaming of MP3 and Real Media formats.  Why??
> Because streaming of Ogg has not been implemented yet.
>
>  > The Ogg format was
> > created mostly for streaming.
> Ogg was created mostly for _HTTP_ streaming. The Helix server is
> traditional RTSP streaming server.
>
>  >That means that streaming Vorbis and
> > Theora is (in theory) an easy process to implement for developers.
> Not true. Since Ogg allows arbitrary chaining of streams, implementing
> something that handles all of the various cases is quite difficult.
> Ogg's ability to chain segments together that have different numbers of
> streams in them are particularly taxing on the Helix Media Engine
> implementation.
>
> > Then there's also streaming through RTP.  Vorbis, Speex, and Theora
> > may be streamed through RTP.
> Implementing this has been on my list of things to do. This is
> non-trivial especially if I want to properly handle chained streams.
>
> >
> > With the Helix software becoming part of the XO laptop (the OLPC
> > project) it is highly important that free formats work properly in
> > Helix, but that doesn't seem to be the case right now.
>
> Since you haven't even used the Helix code I find it difficult to accept
> your criticism that it isn't working properly. The code works great for
> the codecs and modes of playback that I have implemented. My primary
> focus was to get the most robust local playback of Theora & Vorbis files
> that I could. Making the ogg file format plugin work with the Helix
> Server and supporting Speex were secondary goals. I plan on adding
> Speex, and RTP delivery when I get a chance.
>
> Since there isn't a compliance document for ogg support and no specified
> minimal codec support, I think it is a stretch to say that Helix doesn't
> support free formats properly. Ogg is woefully under specified
> especially in the chained and multi-stream cases. Having a document that
>    strictly outlines how to handle funky chained files (ie. audio-only,
> followed by audio/video, followed by a segment with 2 video streams) as
> well as files with say 2 audio tracks or 2 video streams would be of
> great help and would provide a way for all of the implementations out
> there to converge on a single interpretation.
>
> This has been a side project of mine for several years. I haven't spent
> much time on it lately because I have gotten little to no feedback on it
>   . I've pretty much interpreted that as any of several things; users
> are happy with the current code, they don't care about this work, or
> they are unhappy but don't post anything to the list so I can fix it. In
> all of these cases there isn't much incentive to work on the code since
> there is no outside feedback. Also since there really isn't a minimum
> bar for claiming compliance, spec compliance isn't a motivator either.
>
> Aaron



More information about the Devel mailing list