LWN.net Logo

Ogg and the multimedia container format struggle

Ogg and the multimedia container format struggle

Posted Apr 9, 2010 19:13 UTC (Fri) by xiphmont (guest, #58693)
In reply to: Ogg and the multimedia container format struggle by Daiz
Parent article: Ogg and the multimedia container format struggle

> They might want an index (because of faster seeking), but do not
> require it. For example, playing an index-less MKV in MPC-HC will
> result in no index being created until you seek.

OK, using HPC as an example, you won't be able to seek in a
canned stream unless MPC downloads the whole things first and
builds an index. So, you're sort of answering a different
question, but it still makes my point.

> Bottom line is that index in Matroska is completely optional and
> thus if you want to support Matroska you need to support
> index-less Matroska files too.

You've completely missed what I'm trying to say. That point is
that we avoided having 100 optional features in Ogg for a reason.

Given that most of the Matroska spec is optional, it's a complete
guess as to what will be deployed and what won't, and plenty of
demuxers aren't even implementing the mandatory parts. I believe it
is fair to mention this because the spec is something of a kitchen
sink. It's huge. So much so that implementation in the real world
is a free-for-all. Is anyone contacting these non-compliant Matroska
implementations? This is something Xiph does with Ogg.

> OGG might have more support within certain streaming solutions
> because of the amount of OGG Vorbis audio streams, but how many
> of these support streaming Theora video in OGG as well?

Nearly all of them. Caertainly all the ones I can think of right now.

> Are you seriously asking this? From the top of my head:
>
> * Native MPEG-4 AVC/H.264 support
> * Native MPEG-4 ASP support
> * Native AAC support
> * Native AC3 support

You do understand that we do not and will not promote or advocate any
encumbered codecs as a policy that is coded into our charter, correct?
Strictly speaking, we're not allowed to.

I also don't think it's useful to try to convince Web vendors to
support unencumbered media by advertising your support for encumbered
codecs.

> * Native SRT support
> * Native ASS support
> * Standard chapter support
> * Advanced chapter magic (like ordered chapters and segment linking)

Are you seriously suggesting Ogg can't do this? Or perhaps more
relvantly, suggesting that having multiple ways to do something is
inherently superior to having one way everyone agrees on?

There is technical and usability value to vertical integration.
Just ask Apple.

> In terms of hardware support, advanced chapter magic tends to be
> mostly unsupported (though usually resulting simply in things
> like external segments not playing while the rest of the file
> plays fine), second being ASS. Some players, like the Popcorn
> Hour, offer limited ASS support though. No hardware player
> supports it fully though.

We could add a whole bunch of stuff that's only marginally
supported in the real world to our spec too. I think the fact
that we don't is an asset, not a liability.

> Yeah. Supporting files people actually make and use, instead of
> forcing them to convert their files just to be web-compatible and
> nothing else.

Yeah, that totally sunk YouTube. No one I know uses it.

But seriously, you're being thoroughly disingenuous. "And
nothing else". In what way is Ogg only deployed on the web?

I have a nice library of Ogg movies. Naturally, I rip my own DVDs to
Ogg. I'm starting to produce my own vids in Ogg. They play in all my
software players, under Linux, MacOSX and Windows. They also play in
all my browsers. They play on my phone.

Matroska has support in some DVD players, this is true... assuming you
use codecs that those players actually have available. Here's another
example of "100 ways to do something" doesn't mean any of those ways
actually work in practice. It would be like 90% of Perl's features
being optional.

And since you're advocating encumbered codecs anyway... how is using
Matroska different from just using the MP4 container or FLV? They have
far wider deployment than Matroska.

Ogg is offering a complete, integrated, fully unencumbered media stack.
There's value in 'integrated' and 'fully unencumbered' being together in
one place. Matroska does not offer that.

> That nothing else part is pretty notable

You are living with your head in the sand.

> Also, I have a question: Is HTML5 video with Theora in OGG used
> anywhere for live streaming?

Yes. For example, RedHat is using it internally for video
conferencing meetings between international offices.

> Also, I have to say that in discussions like this, I'd wish that
> you people refrain from using comments like "OGG is better for
> streaming than Matroska", because it's very misleading.
> While technically speaking it might have some merit to it, it
> becomes false advertising when your average user confuses it to
> YouTube-like progressive downloading that is nowadays
> dubbed "streaming", where OGG provides absolutely no benefit over
> Matroska.

...so you're saying "sure it might be true, but don't do it
because I don't like it"?

Ignoring everything else, Ogg streaming has one very obvious,
very visible benefit for users: It actually exists.

[Also, please, 'Ogg' is not an acronym. It's a proper name. No
allcaps :-) I'd kinda hoped you'd pick up the hint and I wouldn't
have to say anything because I always feel like a prick when I
point it out...]


(Log in to post comments)

Ogg and the multimedia container format struggle

Posted Apr 9, 2010 20:07 UTC (Fri) by Daiz (guest, #65138) [Link]

>canned stream

What exactly is a canned stream? Sounds an awful lot like progressive download to me. MPC-HC might not do that fine if you try to seek to a part that hasn't downloaded yet, but then again it's purpose is not to be a web player. It'd be quite trivial to have your web player a) download the index separately b) not create an index and have a bit slower seeking. Once again, for playing actually live streams (which we have been mostly talking about) that you can't seek because they're live it'd work perfectly fine.

>You do understand that we do not and will not promote or advocate any encumbered codecs as a policy that is coded into our charter, correct?
>Strictly speaking, we're not allowed to.

Yes, and I'm saying that it's a serious disadvantage for the Ogg container. For example, I couldn't just take my DVD right here and mux all its streams into an Ogg and have it work. With Matroska, I could, and it'd be pretty darn simple to do as well.

>I also don't think it's useful to try to convince Web vendors to support unencumbered media by advertising your support for encumbered codecs.

Maybe if they used system playback capabilities to play back HTML5 video they wouldn't have to. As a result, there'd be no licensing costs to worry about and users could use the formats they normally use.

>Are you seriously suggesting Ogg can't do this? Or perhaps more relvantly, suggesting that having multiple ways to do something is inherently superior to having one way everyone agrees on?

So far I have not seen SRT or ASS muxed into Ogg and have it work. Ogg's own subtitle format Kate is about on par with SRT on a technical level right now and support is miniscule. Meanwhile, tons of hardware players support SRT subtitles, and so does basically every software player ever that has any kind of subtitle support.

AS to when it comes to chapters, I seriously doubt Ogg has anything similar to ordered chapters, segment linking and editions that Matroska has. I've used these features on some of my personal media files and in certain scenarios they are indeed useful. What's the situation with Ogg and chapters anyway? Does Ogg incorporate a standard chapter format and does anything support it?

>We could add a whole bunch of stuff that's only marginally supported in the real world to our spec too. I think the fact that we don't is an asset, not a liability.

It'd be pretty hard to do anything that wouldn't be "marginally supported" considering that Ogg is a marginally supported format to begin with. Any proper software player on every platform supports these features perfectly, the problems lie in the hardware players for these features. Since quite a lot of content is made to be consumed only on a PC, nothing would stop you from using them there successfully.

>Yeah, that totally sunk YouTube. No one I know uses it.

Except that YouTube converts everything you throw at it. My pretty MKV files too! Of course if you have a service like YouTube, it's relatively trivial what format it uses as long as users can upload anything they have to it. But with HTML5 video, the scope will obviously be larger: People will want to upload content on their own sites as well. If they'd use MKV for all their media purposes, they'd have to go the extra mile of converting their files to Theora+Vorbis in Ogg. Alternatively, if they used say H.264 & Vorbis in MKV they could potentially just directly upload it to their site, insert a <video> tag and have it work. And before you go about "H.264 licensing costs" I'd like to remind that using H.264 for freely distributed web video is completely free for the next 5½ years. Alternatively, they could use Theora & Vorbis in MKV too if they wanted, and maybe throw some SRT subtitles on top of that too. Or ASS, if system playback were to be used in the browser.

>In what way is Ogg only deployed on the web?
>I have a nice library of Ogg movies. Naturally, I rip my own DVDs to
Ogg. I'm starting to produce my own vids in Ogg.

Well gee, who would have thought? Xiph people using Ogg Theora! I'd just like to point you to the group of people known as "rest of the world" who use software like Handbrake and similar to rip their DVDs and who would have ever guessed, most of those recommend using H.264 and MKV! And software like Handbrake flat out just don't support Ogg. Fact is outside web normal people don't use Theora. They use H.264 and MKV for their personal stuff. The people who does this kind of stuff seriously also largely favor MKV, as evident by the doom9 container polls. Outside web, Ogg and Theora simply have no benefits over other, better formats.

>Matroska has support in some DVD players, this is true... assuming you use codecs that those players actually have available.

Well, guess what they usually support? High Profile H.264, AC3, MP3, maybe even Vorbis, AAC, SRT... all formats that people normally use as well. I don't think I've yet to run into any hardware player that supports Matroska yet doesn't support High Profile H.264 at Level 4.1. DivX 7 is also helping users in this aspect.

>how is using Matroska different from just using the MP4 container or FLV? They have
far wider deployment than Matroska.

Newsflash: They suck compared to Matroska. MP4's subtitle support is laughable at best (which is the biggest deal-breaker for me) and it doesn't natively support AC3 either. Chapters are also generally a nonstandard feature. FLV is even more restricted, I don't think it has any soft subtitle support at all. I recommend Matroska because it is better. Being free and open source just adds to that.

>Matroska does not offer that.

Yeah, it might not, but then again what would stop from using Theora+Vorbis in MKV? Nothing, and you could throw some widely supported (and equally patent unencumbered) chapters and softsubs on top of that too.

>You are living with your head in the sand.

I would say the same about you if you seriously suggest that people outside Xiph would use Ogg and Theora for their personal media encoding.

>...so you're saying "sure it might be true, but don't do it because I don't like it"?

No, I'm saying that it can be easily misinterpreted and in that way end up as false advertisement. And doing false advertisement certainly doesn't improve the image of Xiph.

>Ogg streaming has one very obvious, very visible benefit for users: It actually exists.

Yeah! Now I can watch 0.1% more video content on the web!

>Yes. For example, RedHat is using it internally for video conferencing meetings between international offices.

Can you point out any examples that I (or anyone else save for RedHat employees) could watch and prove to be working? Just hearing you say "yeah it totally exists" doesn't really cut it.

I'm streaming Ogg Theora very often

Posted Apr 10, 2010 9:08 UTC (Sat) by Velmont (guest, #46433) [Link]

I'm right now making my living streaming Ogg Theora using HTML5 in Firefox 3.6+.

I'm obviously not streaming 24/7, only when there is a conference, but I'll probably do it on the 15th. Yesterday I streamed the whole day to test how much load Icecast2 used for streaming Ogg Theora to a bunch of clients (it was almost nothing, so I don't need more servers :) )

Norwegian Unix User Group also streams all their member meetings. Linux Audio Conference does streaming in the same way, and a bunch of others. In the coming months the number will only increase.

Ogg and the multimedia container format struggle

Posted Apr 11, 2010 8:33 UTC (Sun) by njs (guest, #40338) [Link]

> And before you go about "H.264 licensing costs" I'd like to remind that using H.264 for freely distributed web video is completely free for the next 5½ years.

And *after* 5½ years money won't exist at all, because the Singularity will have arrived! 5½ years is so far in the future that taking anything about it into account when making decisions now would just be *irrational*!

(Out of curiosity, when is your cut-off for the future being relevant? 5 years? 3 years? 1 year? next week?)

Ogg and the multimedia container format struggle

Posted Apr 12, 2010 12:57 UTC (Mon) by nye (guest, #51576) [Link]

>For example, I couldn't just take my DVD right here and mux all its streams into an Ogg and have it work. With Matroska, I could, and it'd be pretty darn simple to do as well.

Do you mean to end up with a single mkv file that includes all the menus etc, and is essentially indistinguishable from the DVD? A quick Google search didn't come up with any instructions to do this (admittedly it was *very* quick) - do you have any pointers?

Ogg and the multimedia container format struggle

Posted Apr 13, 2010 13:09 UTC (Tue) by robux4 (guest, #65101) [Link]

> Do you mean to end up with a single mkv file that includes all the menus
> etc, and is essentially indistinguishable from the DVD? A quick Google
> search didn't come up with any instructions to do this (admittedly it was
> *very* quick) - do you have any pointers?

Look for DvdMenuXtractor. It extracts all the meaningful info from a DVD file structure and prepares scripts to merge them back in Matroska with mkvtoolnix. It's not a 100% safe tool and is unmaintained. It was mostly a proof of concept, but VLC is supposed to play the produced files, including the DVD menus.
I don't suggest playing such files on the web though ;)

Ogg and the multimedia container format struggle

Posted Apr 13, 2010 19:51 UTC (Tue) by ironiridis (guest, #60586) [Link]

It's crazy, but I just rip the ISO files instead. :)

Ogg and the multimedia container format struggle

Posted Apr 14, 2010 11:37 UTC (Wed) by nye (guest, #51576) [Link]

I'll take a look, thanks.

Handbrake default container

Posted Apr 15, 2010 10:14 UTC (Thu) by bawjaws (guest, #56952) [Link]

> I'd just like to point you to the group of people known as "rest of the world" who use software like Handbrake and similar to rip their DVDs and who would have ever guessed, most of those recommend using H.264 and MKV! And software like Handbrake flat out just don't support Ogg.

I use Handbrake. In fact I'm ripping a DVD right now as I type this. Both the Normal and High Profile settings (they ripped out all the old presets and boiled it down to two) create H.264 in an MPEG-4 container. I personally don't know anyone who's ever used it for MKV and I'm unaware of what the benefit would be over the defaults.

Also, Handbrake did support Ogg, Ogm to be precise, though not ever very well. They just removed the Ogg and Theora support recently to focus on H.264. (I don't think this was particularly a comment on Theora, they removed Xvid too as part of the same narrowing of focus).

Ogg and the multimedia container format struggle

Posted Apr 13, 2010 13:01 UTC (Tue) by robux4 (guest, #65101) [Link]

> OK, using HPC as an example, you won't be able to seek in a
> canned stream unless MPC downloads the whole things first and
> builds an index. So, you're sort of answering a different
> question, but it still makes my point.

There are 2 things here. Either MPC-HC wants to use the index in a remote stream, and it can do by simply seeking in that stream (very possible in HTTP) or it blindly seeks in the stream wait for the next 4 bytes of a Cluster startcode and plays from there (I believe that's the only way of seeking in Ogg). While the former may seem to do too many steps, it's actually way more efficient.

> Is anyone contacting these non-compliant Matroska
> implementations? This is something Xiph does with Ogg.

We sure do, that's why there is a field to indicate the muxing code and software that produced a file. It's some form of advertising for coders and allow us to find out bogus files and have their creator fix it. It happened many times in the past.

> There is technical and usability value to vertical integration.

Well, the problem is that Ogg is good and meant for streaming. But it's inferior in everything else. So people would have to trade all the features found and common in Matroska just so that it is 100% designed for streaming. Plus the extra container overhead and bandwidth wasting that comes with it.

Also Matroska has plenty of features, the main ones being implemented everywere because userspush coders to have them. We don't have a certification system yet, but we're thinking about it. DivX may also have something in place to certify software/devices with DivX 7. But in the end the same fragmentation happen with your vertical integration. Or are you expecting (and forcing?) all web browsers to have to support Spex, FLAC, Skeleton and the other technologies that are "vertically integrated" withing the Ogg sphere ?

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds