I have no plans to ever program video encoders or decoders, but this blog is always fascinating reading, and satisfies a lot of the curiosity I and, I assume, others have regarding just how video compression really works. (It’s not as straightforward as GIF or JPEG, that’s for sure!)
This is exactly why I think it's crazy for browsers to be forcing users to use the codecs that they embed in their program, rather than letting the user use their own codecs. It's fine to bundle codecs so you know the user can watch things, but when I have a better codec installed on my system - I should be able to use it.
What's crazy is expecting the user to manage codecs. Do you really want to have to explain to your parents the performance, compatibility, and most of all security implications of various codecs websites ask them to install? Let the browser developers do that work. Users can have ffvp8 in 6 weeks when Chrome's new release process cycles again; I think that's plenty fast.
So what happens when your parents want to watch a video that they downloaded, as opposed to watching it streaming in the browser?
Or a video that they received via email instead of over the web?
Building a codec into the browser doesn't get you out of having to explain to your parents how to get codecs on their system. Furthermore, once you then do that, and get the codec installed on the system, then you have to explain to them why video doesn't look the same in the browser, or why the controls are different.
All codecs in browsers do is make MORE work for you, not less.
> Building a codec into the browser doesn't get you out of having to explain to your parents how to get codecs on their system.
Yes it does; I don't have to explain how to install codecs because my parents don't download videos, because all the videos they want to watch are embedded in web pages (today via Flash, tomorrow HTML5).
Supposing they did want to download a video file for some reason, then ideally the browser's video player would be just as nice as the OS one, and the browser would take over that duty. That hasn't happened yet, but it will, and the end of that road is Chrome OS. The desktop OS with trusted native apps installed on a local filesystem is becoming obsolete. The future is sandboxed apps cached via HTTP.
Maybe my parents just aren't dumb like you expect, but I explain these things to them just like I explain other software's strengths and weaknesses. And again, I'm not saying there shouldn't be stuff installed by default - I'm just asking for easy overrides.
sadly Quicktime is broken beyond repair, i.e. you can not do HTTP range requests to allow seeking in videos beyond the part that is already downloaded. On top of that Apple knows about this problem but ignores it. They even went one step further and just fixed it for H.264 in Quicktime X. (note that they stopped supporting 3rd party components in Quicktime X)
There's a QuickTime plugin, but it's also a set of multimedia APIs, and Safari uses those directly to implement HTML5 video. It works pretty well - one of the nicest-looking and most CPU-efficient video experiences you can get in a browser.
IE9 does, but it only whitelists two codecs, H.264 and VP8/WebM. How this will actually work, and whether it will allow you to install alternative versions of either codec or whether only the native H.264 and a specific VP8 decoder are blessed, I'm not sure.