Hacker News new | past | comments | ask | show | jobs | submit login
Ogg objections (hardwarebug.org)
80 points by kierank on March 3, 2010 | hide | past | favorite | 48 comments



The biggest aggravation is the fact that we have a container that is:

1. Reasonably well-designed.

2. Patent-free with a dozen free implementations.

3. Widely-used, far more so than Ogg.

4. General, with the ability to contain nearly any video, audio, or subtitle format.

5. Fully-featured, with the ability to compete effectively with MP4 and other popular container formats.

6. Supported by DivX as the replacement for AVI.

It's called Matroska. And practically everyone promoting Ogg pretends that it doesn't exist.

My theory is that the difference is one of control. Having talked to many Ogg evangelists, this seems to be the problem: Matroska allows you to use video and audio formats that Xiph doesn't like. Ogg does not. Therefore, Ogg is "more free" because it doesn't let you do what you want. It's much the same argument as GPL vs BSD: the GPL is "more free" because it places more restrictions upon users/distributors of the software.


Is the matroska project active? Their website seems to have bitrotted. Their SVN links don't work, the right hand side menu links to take you to the 'Project' are 404's.


What you can do with Ogg (and MPEG-1&2 PS) is to jump into middle of stream and play it from there (think broadcast radio or TV). You can't do that with Matroska (or MPEG-4 system for that matter), becuase you always need header at the beginning of file.


You can't do that in ogg either, you need the header packets.


  It's called Matroska. And practically everyone promoting Ogg pretends that it doesn't exist.

  My theory is that the difference is one of control. Having talked to many Ogg evangelists, this seems to be the problem: Matroska allows you to use video and audio formats that Xiph doesn't like. Ogg does not.
Every Vorbis/Theora video I've ever seen, which isn't distributed on the web, is contained in Matroska. Ogg is the "default" because of Mozilla, not due to some Xiph conspiracy. There are three reasons Matroska isn't more heavily used:

1. Ogg is the dominant format for free audio. I've tried to use Matroska for storing audio (.mka), but most tools have poor or no support for it. I believe a large part of this is because Matroska's metadata support is even more poorly documented than Ogg's. At least Ogg has some de-facto standards for how metadata should be included; Matroska,̶ ̶a̶s̶ ̶f̶a̶r̶ ̶a̶s̶ ̶I̶ ̶c̶a̶n̶ ̶t̶e̶l̶l̶,̶ ̶i̶s̶ ̶c̶o̶m̶p̶l̶e̶t̶e̶l̶y̶ ̶f̶r̶e̶e̶-̶f̶o̶r̶m̶ ̶(̶a̶n̶d̶ ̶t̶h̶u̶s̶ ̶u̶n̶u̶s̶a̶b̶l̶e̶)̶ has some standard tags, but few libraries can read them. The Matroska developers should sit down and either a) document the existing system or 2) figure out a new one. Then, help get support into common media libraries such as GStreamer or TagLib. Once I can store audio in Matroska, it's easier to encourage its use on the web.

2. Mozilla doesn't like depending on platform libraries, even if they're cross-platform, since history has shown that they tend to be more trouble than they're worth. Look at the Mozilla C++ style guide; half of it is dedicated to avoiding C++ features as simple as namespaces or exceptions because some obscure platforms don't support them well. Therefore, they won't support GStreamer or QuickTime, and support for any format has to be included in the Mozilla repository directly.

3. Since #1 means Ogg must be supported, and #2 means there's a huge disincentive to support more than the bare minimum of formats, Matroska is seen as too much trouble to support. I think this won't change until more users request it.

For what it's worth, here's Mark Pilgrim's opinion on Matroska, after I requested at least a sentence or two be included in his new HTML 5 book (which covers such unused fossils as AVI and XVid):

  > Could you add a paragraph on the Matroska[1][2] container format to
  > the list of containers?

  I could, but no browser supports it (even those that support
  Theora-in-Ogg), so there's little point. Then again, I do mention AVI,
  which no browser supports either, but that's mostly because I think
  most readers would be familiar with it. Few people have heard of MKV
  except Free Software hippies and movie pirates. :-)

  If it actually lands in Firefox or some other browser, I'll revisit
  this decision.


1. Probably true in that most demuxers don't read matroska tags, but it's standardized (and has been for the past 5 years or so) at http://www.matroska.org/technical/specs/tagging/index.html

Whereas ogg metadata is codec-dependant. In practice though, most (not all!) codecs in ogg just use vorbis comments, where the only official tags are http://xiph.org/vorbis/doc/v-comment.html

2. Mozilla's C++ style guide hasn't been updated since like 1996, when C++ was still grossly compiler-dependant. It shouldn't be taken as anything other than a sign that that's the era in which Mozilla is stuck.

And actually Safari supports AVI in <video>.


It's been a while since I looked at the metadata standards, but it's my memory that there are two: one that is "deprecated", supports only a few tags, and is supported by libraries,, and the "new" format you linked to, which is the "way forward" but so far completely unsupported by anything.

The specific problems I remember are that the ReplayGain tag contents are unspecified (decimal, like Vorbis/FLAC? IEEE754 half, single, double in some endianness?), there's no support for cover art, and the "examples" are all broken links. In my opinion, FLAC has the best metadata support -- Vorbis is close, but its cover art support is a catastrophe.


No clue what the depreciated version might be, as far as I know what I linked to hasn't changed since sometime around 2005 (which would explain any broken links.)

Cover art wasn't specifically defined in mkv I think, but it became standard to do an attachment named cover.jpg for it.

The spec on ReplayGain seems pretty clear to me: it's the 16-bit binary format defined at http://replaygain.hydrogenaudio.org/rg_data_format.html which is two links away from the mkv spec.


The "original" 9-bit fixed-point encoding isn't widely used; most formats use a 32- or 64-bit float, or the number encoded as a string. One of the Matroska developers posted on the HydrogenAudio forums[1] saying they use a 32-bit float, but the spec he quotes later[2] is different than what's on the actual Matroska site.

Do you know if the cover.jpg standard is documented anywhere? Searching for "matroska cover.jpg" just yields a bunch of bittorrent sites.

[1] http://www.hydrogenaudio.org/forums/index.php?showtopic=7294...

[2] http://www.hydrogenaudio.org/forums/index.php?showtopic=7294...


I think cover.jpg came from doom9 [1]

I guess robux4 was talking about the old system, which I honestly didn't know existed before you brought it up. If the new system doesn't use the 16 bit format then yeah, it isn't well specified.

[1] http://forum.doom9.org/showthread.php?p=388815#post388815


Metadata support is ridiculously awful in [Matroska, OGM, FLAC, OGG], in amounts increasing in that order.

If you want metadata to work consistently, use a MP4 / QT container. If you want alternate tracks (for subtitles and audio) to work consistently, use Matroska.


> If you want alternate tracks (for subtitles and audio) to work consistently, use Matroska.

And avoid GStreamer-based players. Totem is absolutely horrible if the subtitles are complicated (i.e. karaoke timing or multi-language). VLC seems to get it right most of the time.


The one-package container deal to pack it all sounds very interesting and nice. Could you perhaps have the lyrics be in a Matroska audio container?

I think there's lots of potential for file browsers that can work off on metadata enclosed in containers. I really hope these catch on.


https://developer.mozilla.org/En/Developer_Guide/Coding_Styl...

I'm pretty sure exceptions aren't used because

- enabling exceptions has an effect on performance

- A lot of Mozilla code is XPCOM, and if you're familiar with COM and friends you'd know that they're heavily error-code oriented.


does matroska work for streaming?


Yes. Matroska's index is optional, and thus one should be able to stream it simply by omitting the index.

I suspect many existing implementations are suboptimal for streaming though simply because almost nobody uses it that way and so they have not been as tested as they otherwise would be. But this is easy to solve since the format itself already supports streaming.


is there a server and client that supports it? from http://www.matroska.org/technical/guides/faq/index.html Will Matroska be streamable? Yes, but low bitrate streaming like streaming Vorbis, will always be better in Ogg. This is because their design is for different purposes.


They're referring to (at the time it was written) streaming Vorbis using Ogg, which is not at all an unreasonable thing to do. Ogg was originally designed to contain Vorbis, and thus Vorbis-in-Ogg is not particularly evil or difficult to deal with. Ogg only became seriously problematic when they tried to extend it to include things that it wasn't originally designed to be able to do.


Ogg works better.


For what it's worth, I've just been looking at an LG sound system that, by the specifications, supports MKV.


    Assuming it is true, it still does not alter the fact that Ogg is a bad format.
    Being free from patents does not magically make Ogg a good choice as file format.
    If all the standard formats are indeed covered by patents, the only proper
    solution is to design a new, good format which is not, this time hopefully
    avoiding the old mistakes.
Well, being free from patents can be a very good feature, and may very well make this the only -- and therefore best -- available choice.

It might not be possible to make a good format to replace it exactly due to patents. Too many patents on obvious and necessary solutions exist.

However, I don't know the specifics. I would have liked a similar discussion on the format which included patent concerns. Can anyone fill in? :)


Just because their authors say that doesn't mean that it's true. Worse still, no corporation is willing to perform a patent search because such an activity could open a liability should it be discovered that something they already use is covered by a patent they previously were unaware of.

The fact is that it is extremely difficult to implement any multimedia application without running afoul of a patent. Rational developers will pick the safest option, and that is to license the MPEG patents, which (I believe) also offers submarine patent protection in that the MPEG-LA would be solely liable for not finding them earlier should trouble arise.

The good news is that these patents are not enforceable worldwide, and the first of them should start expiring (if they haven't already) within the next few years.


> MPEG patents, which (I believe) also offers submarine patent protection in that the MPEG-LA would be solely liable for not finding them earlier should trouble arise.

Why so many people believe this and where it comes from? I see it repeated so many times, always without reference. FYI, from AVC licensing FAQ:

Q: Are all AVC essential patents included?

A: No assurance is or can be made that the License includes every essential patent. The purpose of the License is to offer a convenient licensing alternative to everyone on the same terms and to include as much essential intellectual property as possible for their convenience. Participation in the License is voluntary on the part of essential patent holders, however.


Theora is VP3+few well documented modifications. Youtube for years and still today used on2 codecs (through flash) which are all based on VP3 with optimization. If Theora and therefore VP3 were patent encumbered so would be all the codecs used by youtube, hulu, vimeo and all sites that use flash video. Now if I had a patent on vp3, would I be crazy enough to wait for theora to be successful in order to sue the hell out of everyone? Or would I have already been suing google, adobe and friends?

That's what make patents in theora extremely unlikely IMO. That and the fact that theora devs are extremely cautious on the matter, this is also the reason why theora is not as good as it should be (avoiding patents at all price).


AFAIK YouTube used H.263, not VP6.


Except it did use VP6 and VP7.


Flash has never supported VP7, and the only VP6 on youtube was on self-encoded sponsored channels.


I can't help but feel the ffmpeg guys, despite providing a great service to the world, have got a real chip on their shoulder when it comes to all things Ogg and Xiph.

Does he think the ranty tone really helps get his message across? At least it's all written down in one place instead of sniped from the comments every time it could be vaguely thought relevant.

See this recent argument (between DonDiego and Monty) in the comment section of a blog about Google and VP8, which I assume prompted this article:

http://blog.gingertech.net/2010/02/20/googles-challenges-of-...


I can't help but feel the ffmpeg guys, despite providing a great service to the world, have got a real chip on their shoulder when it comes to all things Ogg and Xiph.

They don't like things that are badly designed. This same chip applies equally to a lot of other stuff, especially proprietary formats, like the utterly atrocious and buggy RealVideo 10.

Xiph gets a double dose, however, because of the methods that Xiph uses to market their bad technology. They have at times posted outright lies about their software and then, once proven wrong, often refuse to recant. Example: the Theora vs x264 PSNR comparison where they "accidentally" performed measurement wrong, making x264 appear 2x worse.

They use the same techniques as many of the more evil commercial companies out there, which annoys the hell out of people who disagree with such techniques. ffmpeg devs believe that open source should be about honesty and good technology, not lies and FUD. Xiph disagrees, believing that "the ends justify the means", creating a practically unbridgeable gulf.

Thus Xiph has spent the last few years spreading absurd amounts of FUD about everyone who they believe opposes them. They have managed to convince a shocking number of people that "ffmpeg is illegal" and that you should use their software instead. Ironically, almost all the FUD in the multimedia space in recent years has come from people who claim to support "free software"! Didn't we spend years criticizing Microsoft for the exact same thing?

And you wonder why people don't like them!


Wasn't that PSNR comparison problem because of an ffmpeg bug?

And what evidence have you that it wasn't done "accidentally" (your scare quotes). You're clearly wrong if you're implying they didn't retract that claim, as they do so here, in an update to the original page:

http://web.mit.edu/xiphmont/Public/theora/demo7.html

You seem to be, in this very post, doing exactly what you accuse them of, spreading FUD and lies about a competitor.

Maybe this feud goes way back, but you're not taking the moral high ground by calling them liars and cheats.


Wasn't that PSNR comparison problem because of an ffmpeg bug?

It was because of two bugs: an ffmpeg bug (signalling chroma positions wrong) and a bug in their testing tool (which resampled the image, something that a PSNR tester should never do for any reason).

You're clearly wrong if you're implying they didn't retract that claim, as they do so here, in an update to the original page:

Interesting, last time I looked they hadn't, but that's quite welcome then. But of course this pattern has repeated itself a dozen times already.


That page was last updated about 6 months ago.


This is something that OSS folks in general need to work on. People forget that tone does matter. Speaking your mind is good, but speaking your mind in a caustic fashion doesn't help your cause. Especially when the issue is a complex domain-specific one (like the convoluted world of AV containers and codecs), and the vast majority of people are not going to understand the fine technical nuances of your argument.


Are you going to bother responding to the specific points, or just the personal attack?


I assume your reply and my edit overlapped, but the link contains the other side of the argument.

Besides that, as I'm not really qualified to comment on the technical arguments, the way they are presented heavily influences my evaluation. On that metric alone ffmpeg is losing this argument badly. If they really care that much (and it appears they really, really do) then they'd do well to take that criticism on board.


Yes, it must have overlapped. (I can't edit my previous comment anymore to recognize that, or I would :)


Something I discovered by accident: in the "Final Words" section, if you mouse over the italic words "Ogg isn't bad, it's just different", they change to "Ogg isn't dead, it's just resting".

I don't really understand the reason behind that.


"* isn't dead, it's just resting" is a reference to Monty Python's famous Dead Parrot skit: http://www.youtube.com/watch?v=4vuW6tQ0218

By this the author means that "Ogg isn't bad, it's just different" is essentially a lie, because the author means that Ogg is obviously bad.


Aha. The reference passed over my head. Slightly too young for Monty Python to immediately spring to mind. (Now if it were a BtVS reference...)

I did accept his premise of "not bad, just different" because he laid out his explanation below. Not catching the humor in the reference, I thought he was trying to lay out a broader "Ogg is dead" theme that I didn't see any support for.


Maybe it's just an easter ogg.


Oh god, it's like reading about LDAP all over again...


Also, no one uses Ogg.


I use Ogg... Sometimes. I'm actually a bit curious about why no-one has suggested the use of mkv. It is an open container format, and works quite well in my experience.



Don't forget archive.org, they are probably the biggest Vorbis and Theora user out there.


Except in the cases that they have lossless copies from the artist, it's all transcoded crap, mostly from crappy MP3s.

Wikipedia's also a big user, and their stuff is almost exclusively transcoded from other lossy codecs, because they care more about their self-righteousness than worldly concerns like passable quality, much less the ability for any of their users to decode it.


Anything I've looked at on Archive.org (mostly video but some audio) has the original uploaded file plus trascodes into Ogg Theora and H.264. So even if it is "transcoded crap", you're given the option of the original. Which makes sense when you've got "archive" in your name.

Wikipedia may only serve free formats, but they'll make use of stuff from Archive.org so you can click through to the original if it's there.


Then I must be no one.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: