- From: Ian Hickson <ian@hixie.ch>
- Date: Wed, 29 Apr 2009 00:59:14 +0000 (UTC)
On Sat, 28 Mar 2009, Benjamin M. Schwartz wrote: > > The <video> tag has great potential to be useful on low-powered > computers and computing devices, where current internet video streaming > solutions (such as Adobe's Flash) are too computationally expensive. > My personal experience is with OLPC XO-1, on which Flash (and Gnash) are > terribly slow for any purpose, but Theora+Vorbis playback is quite > smooth at reasonable resolutions and bitrates. > > The <video> standard allows arbitrary manipulations of the video stream > within the HTML renderer. To permit this, the initial implementations > (such as the one in Firefox 3.5) will perform all video decoding > operations on the CPU, including the tremendously expensive YUV->RGB > conversion and scaling. This is viable only for moderate resolutions > and extremely fast processors. > > Recognizing this, the Firefox developers expect that the decoding > process will eventually be accelerated. However, an accelerated > implementation of the <video> spec inevitably requires a 3D GPU, in > order to permit transparent video, blended overlays, and arbitrary > rotations. > > Pure software playback of video looks like a slideshow on the XO, or any > device with similar CPU power, achieving 1 or 2 fps. However, these > devices typically have a 2D graphics chip that provides "video overlay" > acceleration: 1-bit alpha, YUV->RGB, and simple scaling, all in > special-purpose hardware. Using the overlay (via XVideo on Linux) allows > smooth, full-speed playback. > > THE QUESTION: > What is the recommended way to handle the <video> tag on such hardware? Upgrade the hardware. > There are two obvious solutions: > 0. Implement the spec, and just let it be really slow. > 1. Attempt to approximate the correct behavior, given the limitations of > the hardware. Make the video appear where it's supposed to appear, and > use the 1-bit alpha (dithered?) to blend static items over it. Ignore > transparency of the video. Ignore rotations, etc. > 2. Ignore the HTML context. Show the video "in manners more suitable to > the user (e.g. full-screen or in an independent resizable window)". > > Which is preferable? Is it worth specifying a preferred behavior? >From HTML's point of view, all are acceptable. From the user's point of view, 1 and 2 are preferable, probably at the user's option. I don't know what else to tell you. :-) -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Tuesday, 28 April 2009 17:59:14 UTC