Hacker News new | past | comments | ask | show | jobs | submit login
Making the world's fastest VP8 decoder (multimedia.cx)
73 points by kierank on July 23, 2010 | hide | past | favorite | 20 comments



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.

As they say, "sane defaults, easy overrides."


Bundled codec has one advantage: it's guaranteed to be compatible with the browser.

User may not have up-to-date codecs, or could have installed some dubious codec pack with codecs that are buggy or unstable.

For average user bundled codec "just works" and it's one less piece of software to update, and one less thing that could break.


I didn't say browsers shouldn't bundle codecs - just that they shouldn't be exclusive about them.


Uh, you can?


Name me one browser that let's you load codecs from the OS apis for HTML5 video, rather than as a plugin.


Safari uses Quicktime for their HTML 5 video. Any Quicktime codec works. For example you can install XiphQT and get Theora support.

Opera (on Linux only) supports any GSteamer installed codec IIRC.


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)


Is quicktime on Mac better than Windows? On windows it's a plugin and really really bad.


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.


arora - http://code.google.com/p/arora/

That's one anyway.


IE9


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.


[deleted]


Huh? FFmpeg is an open-source project that has been around for a very long time. The license is LGPL.


Mostly LGPL. Parts of FFmpeg are GPL, as are some key libraries (like x264).


That sounds really cool, but I have a hard time understanding it!




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

Search: