I spent a little more time the last few weekends on ogv.js (JavaScript-based player for Ogg Theora and Vorbis media in IE and Safari) and have gotten two major things working:

* an all-Flash version -- should work in older IE and Safari versions that can't run the JS code
* optional GPU acceleration with WebGL or Flash Stage3D where available

More details on my blog: https://brionv.com/log/2014/03/29/ogv-js-now-in-webgl-and-flash-flavors/


The Flash version generally runs a bit faster than the JS version on IE 10/11, about the same as JS on Safari 6.1/7, and slower than JS on current Chrome and Firefox. Note that the player demo page currently requires IE 9 or later although the player itself should work on IE 6/7/8.

I've also compared performance to the Cortado Java applet we currently use -- Cortado is still a little faster in terms of CPU usage, but getting the applet to actually *run* with the current version of Java is a nightmare -- even the signed version of the applet from theora.org requires adding a security exception -- whereas JS or Flash "just works".


GPU acceleration in both JS and Flash combines YCbCr->RGB colorspace conversion into the drawing step and can be a *huge* speed boost at higher resolutions. At 360p or 160p it's a modest improvement of a couple milliseconds per frame on my test machines. Note that WebGL is available in IE 11, but is disabled by default in current versions of Safari (and cannot be enabled on iOS without a jailbreak).


The main missing feature left is seeking, which I think can be left for later. I expect to do a bit more performance tuning and code cleanup, but I think it's time to devise some integration into TimedMediaHandler so people can try it out "in-place" on Wikipedia & Commons...

-- brion