On Tue, Mar 20, 2012 at 4:00 PM, Ian Baker ian@wikimedia.org wrote:
Good point. VP8 is pretty similar to h.264 Baseline. I'd be surprised if even a person with considerable digital video experience would notice the difference.
However, in the context of the iPhone, there's no good way to play VP8. Even if the software problem were solved, the lack of a hardware decoder means it'd completely destroy the battery life.
For our purposes, encoding files with Main or High profiles could be used to drop the bitrate without compromising quality, thereby saving bandwidth. It's not a huge difference, though, and I don't think we'd bother. As I said, VP8 and h.264 are mostly interchangeable from a technical standpoint. I brought it up to debunk the notion that because VP8 is newer, that automatically makes it better.
*nod* for our purposes even Theora is "good enough" to put pretty pictures on the screen; we're not super concerned with the ideal codec, as much as making sure that people can actually get access to the media files we have -- the binary "works" / "doesn't work" is more important.
But... there are other platforms that have a crappy video playback
experience with WebM or Theora. I don't think this thread is just about the iPhone, though mobile is certainly the hardest problem to solve here.
Even my Galaxy Nexus running fancy schmancy Android 4.0 with WebM support isn't a good target for actually playing WebM videos. I did a quick test with 640x360 and 1280x720 versions of a quick throwaway clip:
http://leuksman.com/misc/vid-tests/
The quality of the video files is not likely to be particularly good as I made no attempt to tune them well, just to check what played at all.
The *only* mobile device I tested that played the 720p WebM video was my Galaxy Nexus, but verrrrry slowly and jerkily -- it's clearly not optimized or accelerated very well. The H.264 video at same resolution runs silky smooth. The smaller 640x360 WebM video runs ok, but is of course blurrier being a quarter the pixels. Only Firefox seems to run the Theora files -- the stock Android browser doesn't, nor does Opera Mobile. Nor, oddly, does Firefox run WebM files (though in theory it ought to...?)
Tested with devices handy:
Nexus One (Android 2.3.6; 800x480 screen) * Browser - only h.264 works; can't play 720p * Opera Mobile - only h.264 works; can play 720p * Firefox - only Theora works; kinda slow
Galaxy Tab 10.1 (Android 3.2; 1280x800 screen) * Browser - only h.264 works
Galaxy Nexus (Android 4.0; 1280x720 screen) * Browser - h.264 works; WebM runs but is very slow at 720p; no Theora
Kindle Fire (Android 2.3.4 custom; 1024x600 screen) * Silk Browser - only h.264 works
Blackberry PlayBook (Tablet OS 2.0; 1024x600 screen) * Browser - only h.264 works
iPod Touch (iOS 5.1; 960x640 screen) * Safari - only h.264 works
iPad 3rd-gen (iOS 5.1; 2048x1536 screen) * Safari - only h.264 works
Dell Inspiron Duo tablet (Win8 consumer preview; 1366x768 screen) * IE 10 - only h.264 works
It's looking pretty bleak for anything but h.264 on the mobile front (phones & tablets). :P
We've also been talking about h.264 ingest, which is completely different
and arguably more important. There are millions of HD camcorders wandering the world inside people's phones, which are also reasonably capable video editing platforms. We could be taking advantage of that.
Agreed; accepting incoming video in h.264 will be a must.
-- brion