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
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".
For the curious, i looked into the java applet a while back. The reason the caortado applet from theora.ogg doesnt work without a security exception is that they signed it wrong. It needs to be signed and an attribute set saying that it doesnt need extra privs. That attribute isnt set on the theora.ogg version. Even then it still needs a click through prompt.
Anyways, great work on all this.
--bawolff
On Sun, Mar 30, 2014 at 09:51:31AM -0700, Brion Vibber wrote:
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)
This is just awesome work, Brion and in amazingly little time. I'm really excited to see this. Keep up and let me know if I can help in any way! (e.g. the seeking/Swift/Varnish header stuff)
Faidon
wikitech-l@lists.wikimedia.org