[Xiph-dev] What's the status of Xiph codecs support in the Helix project?
Aaron Colwell
acolwell at real.com
Mon Oct 8 13:06:20 EDT 2007
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
>
> -Ivo
>
> _______________________________________________
> Xiph-dev mailing list
> Xiph-dev at helixcommunity.org
> http://lists.helixcommunity.org/mailman/listinfo/xiph-dev
More information about the Devel
mailing list