WebAIM - Web Accessibility In Mind

E-mail List Archives

Thread: Multi-bitrate Quicktime SMIL files

for

Number of posts in this thread: 4 (In chronological order)

From: Terry Thompson
Date: Mon, Jun 25 2007 6:50PM
Subject: Multi-bitrate Quicktime SMIL files
No previous message | Next message →

Hi All,

Does anyone have a sample SMIL file that serves captioned videos to users at
different bitrates? Here's what I'm trying to accomplish:

1. I have three different Quicktime videos, each encoded at different
bitrates.

2. The physical dimensions vary for each of the videos, which affects how
many words will fit on a line. Therefore, I also have three different
caption files (qt.txt).

3. I'd like to deliver the correct version of both the video and caption
text, based on user's bandwidth as detected by Quicktime (I don't want to
burden users with having to select the correct version).

I know that in the SMIL file, <switch> in combination with the
system-bitrate attribute allows me to present different objects for
different bitrates, but I'm not clear how best to use <switch>. Here's
pseudo-code for what I have currently:

<head>
<layout>
<switch>
<!-- define three <root-layout> elements, one for each system-bitrate -->
</switch>
<!-- define all possible regions with id's like "video_modem",
"video_high", etc.-->
</layout>
</head>
<body>
<par>
<switch>
<!--choice of <video> elements, one for each system-bitrate.
Each has a unique region attribute corresponding with
one of the regions defined above -->
</switch>
<switch>
<!--choice of <textstream> elements, same approach as with video.-->
</switch>
</par>
</body>

This actually works ok for the modem version, but for the higher bandwidth
versions the Quicktime Player window is the same size as the modem version -
too small to accommodate the larger video. It's as if the <root_layout>
element doesn't respond to being included within <switch>. I've tried 101
variations on the above, which usually fixes one problem but creates
another. I think I just need to study a proven template if others have
already done this.

Thanks for any help!
Terry

Terry Thompson
Technology Specialist, DO-IT
University of Washington
= EMAIL ADDRESS REMOVED =

From: Andrew Kirkpatrick
Date: Mon, Jun 25 2007 7:10PM
Subject: Re: Multi-bitrate Quicktime SMIL files
← Previous message | Next message →

You're going to format the caption file three times? Yikes. Why not
just make the video sit in the center of a video area and when the video
is smaller in dimension there will be some additional border around the
video but the captions will still take up the same amount of space. In
some cases this will result in captions that are wider than the video,
but it won't be that dramatic and I think it will likely be a better
reading experience.

For the video, I'm not sure about QT's bitrate switch support in SMIL,
but you can easily do this with ref movies to control the video.

AWK

> -----Original Message-----
> From: = EMAIL ADDRESS REMOVED =
> [mailto: = EMAIL ADDRESS REMOVED = ] On Behalf Of
> Terry Thompson
> Sent: Monday, June 25, 2007 8:41 PM
> To: 'WebAIM Discussion List'
> Subject: [WebAIM] Multi-bitrate Quicktime SMIL files
>
> Hi All,
>
> Does anyone have a sample SMIL file that serves captioned
> videos to users at different bitrates? Here's what I'm trying
> to accomplish:
>
> 1. I have three different Quicktime videos, each encoded at
> different bitrates.
>
> 2. The physical dimensions vary for each of the videos, which
> affects how many words will fit on a line. Therefore, I also
> have three different caption files (qt.txt).
>
> 3. I'd like to deliver the correct version of both the video
> and caption text, based on user's bandwidth as detected by
> Quicktime (I don't want to burden users with having to select
> the correct version).
>
> I know that in the SMIL file, <switch> in combination with
> the system-bitrate attribute allows me to present different
> objects for different bitrates, but I'm not clear how best to
> use <switch>. Here's pseudo-code for what I have currently:
>
> <head>
> <layout>
> <switch>
> <!-- define three <root-layout> elements, one for each
> system-bitrate --> </switch>
> <!-- define all possible regions with id's like
> "video_modem", "video_high", etc.--> </layout> </head> <body> <par>
> <switch>
> <!--choice of <video> elements, one for each system-bitrate.
> Each has a unique region attribute corresponding with
> one of the regions defined above -->
> </switch>
> <switch>
> <!--choice of <textstream> elements, same approach as
> with video.-->
> </switch>
> </par>
> </body>
>
> This actually works ok for the modem version, but for the
> higher bandwidth versions the Quicktime Player window is the
> same size as the modem version - too small to accommodate the
> larger video. It's as if the <root_layout> element doesn't
> respond to being included within <switch>. I've tried 101
> variations on the above, which usually fixes one problem but
> creates another. I think I just need to study a proven
> template if others have already done this.
>
> Thanks for any help!
> Terry
>
> Terry Thompson
> Technology Specialist, DO-IT
> University of Washington
> = EMAIL ADDRESS REMOVED =
>
>

From: Jared Smith
Date: Mon, Jun 25 2007 9:30PM
Subject: Re: Multi-bitrate Quicktime SMIL files
← Previous message | Next message →

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

From: Andrew Kirkpatrick
Date: Mon, Jun 25 2007 9:40PM
Subject: Re: Multi-bitrate Quicktime SMIL files
← Previous message | No next message

Better still is to use Flash for the video. We support DXFP caption
data, and you can use SMIL for bandwidth negotiation in the Flash
content, AND you can make the user interface to the video controls
accessible.

AWK

> -----Original Message-----
> From: = EMAIL ADDRESS REMOVED =
> [mailto: = EMAIL ADDRESS REMOVED = ] On Behalf Of Jared Smith
> Sent: Monday, June 25, 2007 11:21 PM
> To: = EMAIL ADDRESS REMOVED = ; WebAIM Discussion List
> Subject: Re: [WebAIM] Multi-bitrate Quicktime SMIL files
>
> 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
>