On Sun, Jul 13, 2014 at 9:31 PM, Brion Vibber <bvibber@wikimedia.org> wrote:

Here's a wiki running the patch with some sample files:
https://ogvjs-testing.wmflabs.org/

Status update:
* Resolution switching is now available
* Automatic selection of 160p or normal-sized source based on a JavaScript microbenchmark[1]
* Fixes for JavaScript player in iOS 7 Safari (desktop view)
* Added IE 9 support with Flash player version[2]
* Switched IE 10/11 to use the Flash version for more consistent performance on low-end machines[3]

I hope to do some work on integration into MobileFrontend during Wikimania, probably with a temporary lightweight UI. If interested in helping or testing, come bug me during the hackathon in person or via IRC!


[1] The benchmark heuristic for overriding source selection logic is pretty hacky, but gets playback working on more of my slower test devices while usually defaulting the faster ones to larger sizes.

[2] I'm not sure if IE 6/7/8 support is possible; the player JS in TimedMediaHandler doesn't seem to initialize. Not sure if it's blacklisted or if I've just failed the detection logic somewhere.

[3] IE 10/11 can run the entire decoder and video playback in JavaScript but require a Flash shim for audio; the combination of JS and Flash adds some overhead versus running all in Flash, especially on older or slower machines. Note that IE's developer status pages indicate Web Audio support is "in development", so a future IE version should drop the Flash requirement. Until then... I find decoding free formats in Flash very satisfying somehow. :D


In the process I've noticed several issues with TimedMediaHandler and its dependencies when running on cutting-edge infrastructure; various bugs filed:

These are pretty much all fixed now except the ffmpeg2theora-and-avconv-broken-in-trusty issues, which can work around. The new job runner as provided in MediaWiki-Vagrant runs the transcode jobs automatically, and transcodes and playback both now work running under HHVM.

Yay! Thanks to everybody who helped me with Vagrant and Labs-Vagrant.

-- brion