WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: Multi-bitrate Quicktime SMIL files

for

From: Jared Smith
Date: Jun 25, 2007 9:30PM


On 6/25/07, Terry Thompson wrote:

> Does anyone have a sample SMIL file that serves captioned videos to users at
> different bitrates?

http://webaim.org/techniques/captions/quicktime/smil.php#creating

> It's as if the <root_layout>
> element doesn't respond to being included within <switch>.

Switch is only allowed within body. Because the region dimensions are
defined a level above the switch elements, I don't think you can
change the video and captions dimensions using switch.

Maybe try setting root-layout dimensions in pixels, then set the width
and height of each region to 100%. This *should* allow the areas to
scale to the appropriate video and caption size for each
system-bitrate identified in your switch. In this case, the video
player size (root-layout) will be fixed, but the video and caption
areas themselves (regions) should size appropriately, as Andrew
described. Be sure to identify width and height in each Quicktime Text
file.

Things might be made a bit easier if you embed the captions within the
.mov files themselves
(http://webaim.org/techniques/captions/quicktime/add_captions.php)
rather than using textstream in your SMIL. This way you don't have to
worry about the size of the caption areas at all - they'll be defined
in the mail .mov file. There might be an easier way, but I'm not one
of the three people on the planet that are familiar with SMIL. ;-)

Also of note, the system-bitrate isn't determined by the user's
bandwidth, but by the settings in the user's preferences. I've found
these to be inaccurate in most cases.

If you use true Quicktime streaming using Quicktime Streaming Server
or Darwin server, then it will account for fluctuations in bandwidth,
though not to extreme levels, but perhaps enough that you could
provide a high and low bandwidth option. If you're not doing true
streaming, then Windows Media Player allows multi-bitrate video that
does all of this natively. Or you could do some very basic bandwidth
detection in Flash and then show the video in a quality that is
appropriate.

If you find a solution, be sure to post it back here so we all know.

Jared Smith
WebAIM