[theora-dev] Ogg files incompatible, was: Video encoded using libtheora-1.1.1 and libogg-1.1.4 plays too fast...
Timothy B. Terriberry
tterribe at email.unc.edu
Fri Feb 12 05:30:50 PST 2010
Id Kong wrote:
> However, something is still wrong. My DirectShow filter, ffdshow, can't
> play these ogg files at all and, instead, show a very short sequence of
> random colours, crashing most of the time. VLC player can play these
Unless it's using a very recent build of ffmpeg, ffdshow does not
properly support Theora. Its decoder was limited to the old VP3 subset,
and did not support any new things we included in the spec, despite the
fact that it was published in 2004. It only worked because the mainline
encoder didn't use any of these extensions either, until the recent 1.1
release. Most of these issues have been fixed (thanks to David Conrad),
though ffmpeg still does not properly support cropping rectangles with a
non-zero offset for video that doesn't have a multiple-of-16 frame size
(they don't support this feature for H.264, either). Have you tried our
DirectShow filters: http://www.xiph.org/dshow/ ? If these do not work,
we would like to know.
> files but I'm afraid that's not good enough for my purposes. My
> ultimate goal is to upload these theora videos to YouTube but they have
> the same problems as ffdshow.
Right. As far as I know, they are using some old build of ffmpeg to
transcode Theora. This situation is, shall we say, less than ideal.
> The reason I still think the problem is with my code is that both
> players and YouTube can play other ogg files not made by my software.
> Here are two examples:
Vendor: Xiph.Org libTheora I 20071025 3 2 1
These are using an encoder from before the 1.1 release, which is why
they work with the broken ffmpeg.
> Can you explain this further please? Can't they simply assign their new
> stream a number unique to any existing one in the ogg file?
> Thank you very much...
I'm talking about tools that edit existing streams. Assigning a stream a
new serial number means rewriting all of the pages, and computing a new
checksum for them.
More information about the theora-dev