SMIL provides a high-level scripting syntax for describing multimedia presentations. SMIL files are text files that use XML-based syntax to specify what media elements to present, and where and when to present them. Elements can be sequenced and synchronized in time; visual elements can be positioned, scaled, overlapped, and layered.
QuickTime SMIL Importer
SMIL Media and SMIL Players
Using SMIL in QuickTime
QuickTime 4.1 and later include a SMIL importer that allows many SMIL presentations to be played in the QuickTime Player application and the QuickTime browser plug-in or ActiveX control.
The QuickTime SMIL importer creates a memory-resident QuickTime movie based on the SMIL file. Each media element listed in the SMIL file becomes a QuickTime movie track; the timing, positioning, and layering specified for each element are imported as track characteristics.
The import process is generally very fast—QuickTime does not need to actually download all the media files to begin the presentation. If the presentation contains a large number of elements, however, it can take some time simply to locate all the source files and set up the appropriate movie importer for each file format. A SMIL presentation with half a dozen elements typically opens without a perceptible pause, for example, but a presentation with 30 or 50 elements is likely to open after a noticeable lag.
The QuickTime SMIL importer does not support the full feature set of the SMIL 1.0 or SMIL 2.0 standards, but it does provide a useful way to script a QuickTime presentation using a text file and any media files that QuickTime can display, such as text, still images, audio, digital video, VR panoramas, Flash, and so on.
Media elements in a SMIL document are specified by URLs. Media elements can be files—such as text files, JPEG images, and QuickTime movies—or streams. The URLs that specify the media elements can use any of the common protocols—HTTP, FTP, RTSP, file access, and so on. This allows a SMIL file to specify a presentation that mixes streaming and non-streaming media, as well as local and web-based media.
The SMIL specification defines basic media types but it does not define specific media formats. A SMIL file may identify a media element as text, an image, video, or sound, for example, but SMIL itself does not differentiate between AIFF, WAVE, or MP3 audio files, or between DV, AVI, or MPG video formats.
Consequently, the exact set of media elements that can be played by a given SMIL player varies. Any SMIL player is likely to handle a presentation containing only JPEG images and AIFF audio, for example, but for other media and compression formats you may need to target a specific SMIL interpreter for reliable results.
QuickTime supports over 200 different media formats. Any media file or stream that QuickTime can play can be used as a SMIL media element in QuickTime.
However, QuickTime cannot play a SMIL file that specifies media QuickTime cannot play, such as a Real Media stream or a WMV video file compressed with a codec not available in QuickTime. Similarly, a Real or Windows Media SMIL interpreter would probably be unable to play a SMIL file whose media elements include QuickTime-specific media elements, such as a VR panorama, a QuickTime movie compressed using Sorenson video, or a QuickTime movie containing interactive sprites or Flash tracks.
By stitching together media elements using a text editor and SMIL syntax, you can build customized presentations from existing media—movies, slides, text, and audio recordings—and play them using QuickTime.
You can also use SMIL to combine media stored on a web server or a local disk with stored content on a streaming server (video on demand) or with live streams, both unicast and multicast.
Because SMIL documents are text files, you can generate customized QuickTime movies using another script, such as an AppleScript, Perl, or CGI script—anything that can generate text output.
For example, a common use of SMIL in QuickTime is to have a CGI or PHP script generate a SMIL file that tells QuickTime to display a programatically chosen advertisement before connecting the user to a live stream such as a radio broadcast.
Like other non-QuickTime file formats, SMIL files may or may not be associated with QuickTime in the user’s browser or operating system. Consequently, clicking a hypertext link to a .smil file, or double-clicking a SMIL file on the desktop, may launch QuickTime or some other SMIL player. To prevent this, you may want to save your SMIL presentations as QuickTime movies, or use HTML scripting, to ensure that your SMIL presentations play in QuickTime on the user’s system. This is described in detail in the section “Playing SMIL Presentations in QuickTime.”
Last updated: 2005-06-04