QuickTime Pro: SMIL Extensions

This document lists and describes the SMIL extensions available with QuickTime Pro.

This article has been archived and is no longer updated by Apple.

SMIL is an extensible standard, and QuickTime provides several SMIL extensions. This allows you to add QuickTime specific attributes to your SMIL presentation. See technical document 42651 "QuickTime Pro: About SMIL" for additional information.

To use QuickTime extensions in your SMIL document, include the xmlns: parameter and the URL of the QuickTime extensions as part of the initial <smil> tag like this:
<smil xmlns:qt="http://www.apple.com/quicktime/resources/smilextensions">

QuickTime does not actually access the URL; it is used only to uniquely identify the QuickTime SMIL extensions.

In the examples that follow, the xmlns: parameter and the URL shown above have been omitted for readability, but they are a required part of the <smil> tag when any QuickTime extensions are used in a SMIL presentation.


Specifies whether the presentation should play automatically. Legal values are true or false. The default is false.

<smil qt:autoplay="true">


Specifies the bandwidth a media object needs in order to play back in real time. This is used to give QuickTime enough information to decide how far in advance to begin loading a media element to provide seamless playback. Possible values are positive integers, in bits per second.

<video src="stream56k.mov" qt:bitrate="56000" />

Note: Do not confuse qt:bitrate with system-bitrate. Use system-bitrate to select a media element based on the user's connection speed. Use qt:bitrate to help QuickTime determine when to start downloading a media element.


Specifies a chapter name for a media element. Valid values are any character string. Use this to create named points in your presentation that the viewer can jump to interactively. The chapter names appear as a pop-up list in the controller. This allows you to add a QuickTime chapter list to a SMIL presentation.

<video src="Intro.mov" region="r1" qt:chapter="Introduction"/>
<video src="Chap1.mov" region="r1" qt:chapter="Overview" />
<video src="Chap2.mov" region="r1" qt:chapter="Under the Hood" />

In the example above, the movie controller would have a pop-up menu with three choices: Introduction, Overview, and Under the Hood. The viewer could jump to the corresponding point in the SMIL presentation at any time.


Specifies whether the Time slider represents the duration of the whole presentation or the duration of the current chapter. Legal values are all and clip. Specify all for the whole presentation, clip for chapter-at-a-time.

For Example:
<smil qt:chapter-mode="clip"/>


Specifies the graphics mode of a media element. This is used to create partial or complete transparency. The composite-mode attribute goes in any of the media element tags: video, img, or animation. Possible modes are

  • copy
  • none
  • direct.

These modes all specify no transparency, which is the default for most image formats.

<img qt:composit-mode="copy"/>

  • blend;percent

Specifies a blend between the image and the background, with a required percent integer value specifying the blend weight<0% means complete transparency, 100% complete opacity.

<video qt:composite-mode="blend;50%"/>

  • transparent-color;color

Specifies that all pixels of a particular color within the image should be treated as transparent. It accepts a second parameter, color, that specifies the color to be rendered as transparent. The color parameter may be any valid color specification supported by Cascading Style Sheets, level 2.

<animation qt:composite-mode="transparent-color;black"/>

  • alpha
  • straight-alpha
  • premultiplied-white-alpha
  • premultiplied-black-alpha

Specify that the image has an internal alpha channel that should be used when compositing. The alpha and straight-alpha modes refer to a separate alpha component; the premultiplied modes refer to an image that has been premultiplied with the alpha against a white or black background, respectively.

<video qt:composite-mode="straight-alpha;50%"/>

  • straight-alpha-blend;percent

Specifies that the image has an internal alpha channel as a separate component, and that an additional level of transparency should be applied to the whole image.

<img qt:composite-mode="straight-alpha-blend;50%"/>


When used in the <smil> tag, specifies whether all the media elements in the presentation should be downloaded (or streamed) immediately, or whether this should be deferred until each element is about to be played. Legal values are true and false. Default is false. Opening all the media elements at the beginning of the presentation can take considerable time and memory, so we recommend that it be done only for simple presentations with a few small media elements.
When used in an element tag, specifies that this particular element should be downloaded or streamed as soon as the presentation is opened. You might use this to preload an element to be sure it is already in memory when it needs to play.

Example: <smil qt:immediate-instantiation="true">
Example 2: <img src="bgimg.png" qt:immediate-instantiation="true"/>
Example 3: <video src="bgimg.png" qt:immediate-instantiation="true"/>
Example 4: <text src="bgimg.png" qt:immediate-instantiation="true"/>
Example 5: <audio src="bgimg.png" qt:immediate-instantiation="true"/>
Example 6: <animation src="bgimg.png" qt:immediate-instantiation="true"/>


Specifies a presentation to play when this presentation finishes. Legal value is the URL of something QuickTime can play: a media file, a movie, a stream, or a SMIL presentation. This is similar to the QuickTime plug-in's QTNEXT parameter.

Example: <smil qt:next="nextpresentation.smi>


Specifies the MIME type that needs to be supported in order to play a media element. This is normally used in conjunction with the <switch> tag to allow the player software to choose a media element that it can handle. Possible values are character strings matching a valid MIME type.

<img src="qt.mov
" qt:system-mime-type-supported="video/quicktime"/><img src="someotherformat.suffix" qt:system-mime-type-supported= "other/mime-type"/>


Specifies a target for a presentation specified by the href parameter in the anchor tag. Possible targets are an existing browser window, a browser frame, or quicktimeplayer. If the target string is none of these, a new browser window is created. Used in conjunction with show="new".

For example:
<a href="http://www.server.com/another.smi" show="new" qt:target="quicktimeplayer">
<img src="OpenNewSMIL.gif" region="r2" dur="5:00" />


Specifies whether the movie controller should include a Time slider. During a SMIL presentation, QuickTime dynamically loads media elements as required, so the known duration of the overall presentation can change as a movie is played or navigated. When the known duration changes, the scale of the Time slider changes to reflect that. This can be confusing to the viewer. Because of this, QuickTime movies created from SMIL documents do not normally display a Time slider. Legal values are true and false. Default is false.

Note: If you want to import a SMIL presentation into QuickTime and edit it using QuickTime Players editing features to add a chapter list for example you must set time-slider="true". QuickTime Player©^s editing features rely on the Time slider.
For example: <smil qt:time-slider="true">

Published Date: Feb 20, 2012