Nicely done, Brion!

We’re very grateful for all the mobile multimedia work you’ve been doing on 
your ‘spare time’ …

Much appreciated,


Fabrice


> On Jun 11, 2015, at 7:34 AM, Brion Vibber <bvib...@wikimedia.org> wrote:
> 
> I've been passing the last few days feverishly working on audio/video stuff, 
> cause it's been driving me nuts that it's not quite in working shape.
> 
> TL;DR: Major fixes in the works for Android, Safari (iOS and Mac), and 
> IE/Edge (Windows). Need testers and patch reviewers.
> 
> 
> == ogv.js for Safari/IE/Edge ==
> 
> In recent versions of Safari, Internet Explorer, and Microsoft's upcoming 
> Edge browser, there's still no default Ogg or WebM support but JavaScript has 
> gotten fast enough to run an Ogg Theora/Vorbis decoder with CPU to spare for 
> drawing and outputting sound in real time.
> 
> The ogv.js decoder/player has been one of my fun projects for some time, and 
> I think I'm finally happy with my TimedMediaHandler/MwEmbedPlayer integration 
> patch <https://gerrit.wikimedia.org/r/#/c/165478/> for the desktop MediaWiki 
> interface.
> 
> I'll want to update it to work with Video.js later, but I'd love to get this 
> version reviewed and deployed in the meantime.
> 
> Please head over to https://ogvjs-testing.wmflabs.org/ 
> <https://ogvjs-testing.wmflabs.org/> in Safari 6.1+ or IE 10+ (or 'Project 
> Spartan' on Windows 10 preview) and try it out! Particularly interested in 
> cases where it doesn't work or messes up.
> 
> 
> == Non-JavaScript fallback for iOS ==
> 
> I've found that Safari on iOS supports QuickTime movies with Motion-JPEG 
> video and mu-law PCM audio <https://gerrit.wikimedia.org/r/#/c/217295/>. JPEG 
> and PCM are, as it happens, old and not so much patented. \o/
> 
> As such this should work as a fallback for basic audio and video on older 
> iPhones and iPads that can't run ogv.js well, or in web views in apps that 
> use Apple's older web embedding APIs where JavaScript is slow (for example, 
> Chrome for iOS).
> 
> However these get really bad compression ratios, so to keep bandwidth down 
> similar to the 360p Ogg and WebM versions I had to reduce quality and 
> resolution significantly. Hold an iPhone at arm's length and it's maybe ok, 
> but zoom full-screen on your iPad and you'll hate the giant blurry pixels!
> 
> This should also provide a working basic audio/video experience in our 
> Wikipedia iOS app, until such time as we integrate Ogg or WebM decoding 
> natively into the app.
> 
> Note that it seems tricky to bulk-run new transcodes on old files with 
> TimedMediaHandler. I assume there's a convenient way to do it that I just 
> haven't found in the extension maint scripts...
> 
> 
> == In progress: mobile video fixes ==
> 
> Audio has worked on Android for a while -- the .ogg files show up in native 
> <audio> elements and Just Work.
> 
> But video has been often broken, with TimedMediaHandler's "popup transforms" 
> reducing most video embeds into a thumbnail and a link to the original file 
> -- which might play if WebM (not if Ogg Theora) but it might also be a 1080p 
> original which you don't want to pull down on 3G! And neither audio nor video 
> has worked on iOS.
> 
> This patch <https://gerrit.wikimedia.org/r/#/c/217485/> adds a simple mobile 
> target for TMH, which fixes the popup transforms to look better and actually 
> work by loading up an embedded-size player with the appropriately playable 
> transcodes (WebM, Ogg, and the MJPEG last-ditch fallback).
> 
> ogv.js is used if available and necessary, for instance in iOS Safari when 
> the CPU is fast enough. (Known to work only on 64-bit models.)
> 
> 
> == Future: codec.js and WebM and OGVKit ==
> 
> For the future, I'm also working on extending ogv.js to support WebM 
> <https://brionv.com/log/2015/06/07/im-in-ur-javascript-decoding-ur-webm/> for 
> better quality (especially in high-motion scenes) -- once that stabilizes 
> I'll rename the combined package codec.js. Performance of WebM is not yet 
> good enough to deploy, and some features like seeking are still missing, but 
> breaking out the codec modules means I can develop the codecs in parallel and 
> keep the high-level player logic in common.
> 
> Browser infrastructure improvements like SIMD, threading, and more GPU access 
> should continue to make WebM decoding faster in the future as well.
>  
> 
> I'd also like to finish up my OGVKit package 
> <https://github.com/brion/OGVKit> for iOS, so we can embed a basic 
> audio/video player at full quality into the Wikipedia iOS app. This needs 
> some more cleanup work still.
> 
> 
> Phew! Ok that's about it.
> 
> -- brion
> _______________________________________________
> Multimedia mailing list
> multime...@lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/multimedia

_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to