Technical: QuickTime
Advanced Search
Apple Developer Connection
Member Login Log In | Not a Member? Contact ADC

Introduction to Alternate Data Rate Movies

One of the great features introduced in QuickTime 3 is the ability to create Alternate Data Rate movies. Based on the users connection speed (specified in the QuickTime Control Panel) to the internet, the QuickTime Plug-in will select the appropriate alternate movie. For a content creator, this is important because this functionality presents the best quality media possible to the user. No longer do webmasters need to provide separate links in a web page for each movie. In essence, content providers will create two or more alternate versions of the source media containing different encoding options including data rates and codecs and use MakeRefMovie to create the reference movie. A higher data rate movie, such as 100kbps could be used for a user connected to a LAN. However, this data rate would be too high for a user connected with a 33.6 modem which could decode approximately 20kbps allowing for less quality than that file used for the LAN. In this case, content creaters can encode a movie appropriate for the 33.6 connection speed.

Alternate Data Rate functionality requires QuickTime 3 and is not supported in earlier versions. Therefore, if users do not have QuickTime 3 or later installed, a default movie or still image can be created providing a fallback mechanism. If content creators provide a QuickTime movie for backward compatibility, the movie must be encoded with compressors supported by earlier versions of QuickTime such as Cinepak. If a fallback still image is implemented, the image must be saved in the QuickTime image format (QTIF). All alternate fallbacks must be either a QuickTime movie or QuickTime image files (QTIF). Still images cannot be in JPEG or GIF file formats for example.

This tutorial assumes you have already captured your media and are ready to create Alternate Data Rate movies. Although other applications exist to create Alternate Data Rate movies, this tutorial uses QuickTime 3 Pro and MakeRefMovie.

How Data References Work

To use data references correctly in your page, you need to understand how they work and be aware of some of the "gotcha's".

The plug-in will re-resolve the file-based references that cannot be found in URL based references. If the files aren't present on the local machine (as is usually the case), then the plug-in will convert the reference into a relative URL (relative to the movie URL) and load the data from the web.

The way the QuickTime Plug-In resolves references (looking first on the local machine) supports hybrid CD-ROM/Internet presentations. You can create a CD that has a lot of media data on it; users browse your site that points to the same data and if they have the CD it will play it from the CD. If they don't have the CD (or you've added some new media) it will still deliver the media over the web. That way, you get the dynamic nature of the Web with the storage capacity of the CD. Obviously, unless you're planning on mastering a CD for this purpose, then the user won't have that file locally and the plug-in will go out to the web to find the data reference.

Take as an example a hard disk with the following directories and files:
   CoolStuff (drive name)
      Movies (directory)
         Politics (directory)
          clinton.mov (file)
       NewStuff (directory)
    Sound (directory)
       dole.wav (file)

Then create a movie that has sections pasted in from both CoolStuff:Movies:Politics:clinton.mov and CoolStuff:Sound:dole.wav and saved that movie as CoolStuff:Movies:NewStuff:Blah.mov.

Played locally with QuickTime Player, Blah.mov will load the appropriate data from both clinton.mov and dole.wav. The records in the movie that reference those two files contain the absolute path to the two moviesas well as the relative path from Blah.mov to clinton.mov and dole.wav.

Now suppose that the Movies and Sound directories of the hard disk are placed in a http://www.hithere.com/joe/cd/ subdirectory on the web. That would result in:
   http://www.hithere.com/joe/cd/Movies/
   http://www.hithere.com/joe/cd/Movies/Politics/
   http://www.hithere.com/joe/cd/Movies/Politics/clinton.mov
   http://www.hithere.com/joe/cd/Movies/NewStuff/
   http://www.hithere.com/joe/cd/Movies/NewStuff/Blah.mov
   http://www.hithere.com/joe/cd/Sound/
   http://www.hithere.com/joe/cd/Sound/dole.wav

If the movie Blah.mov is played with the plug-in, the plug-in will first look on the local machine (connected hard disks and CD-ROMs) for files called CoolStuff:Movies:Politics:clinton.mov and CoolStuff:Sound:dole.wav . If either of them cannot be found (and they probably won't be unless the user has a CD of your media), the plug-in will use the relative path information in the reference to form a URL based on the movie URL. In this case, the relative paths, expressed in URL syntax, from CoolStuff:Movies:NewStuff:Blah.mov to the two media files are:
   ../Politics/Clinton.mov
   ../../Sound/dole.wav
Resolving those relative paths based on the movie URL
(http://www.hithere.com/joe/cd/Movies/NewStuff/Blah.mov) yields:
   http://www.hithere.com/joe/cd/Movies/Politics/clinton.mov
   http://www.hithere.com/joe/cd/Sound/dole.wav

Which will find the correct media data.

Keep in Mind...

There are several precautions that must be taken when creating these movies:

  • The movies need to be saved on the same disk as the media files it references - if any media data exists on another volume or partition as that where the movie is saved, the relative path information cannot be created and the plug-in will not be able to synthesize a URL for the media data.
  • The volume with the media data and movies needs to be a local volume. If it is a remote (shared) volume, the Alias Manager stores information about the server in the reference. This will cause a Chooser "Mount Volume" dialog to be displayed when the movie is played.
  • Similarly to the above note, if you are creating the movie on a Macintosh, personal file sharing must be off (disable in the Sharing Setup control panel) when saving the new movies. If sharing is on, the Alias Manager will store the same sort of server information in the reference, and the same problem will result.
  • After saving the reference movie, make sure that the relative paths stay intact if you move any component of the final movie. If not, you will break the relative path stored in the reference, and the plug-in will fail to synthesize the correct URL.
On with the tutorial