Tools and Techniques for Content Providers Using QuickTime and QuickTime VR Movies

Apple's QuickTime plug-in lets you embed QuickTime movies and QuickTime VR Panoramas and Objects directly into your web pages. We hope you will find many creative ways to enhance your Web pages with QuickTime. The following information should help you get started.

How to create QuickTime movies for "fast-start" web playback

First of all, you need QuickTime 2.5 for the Macintosh. If you have not upgraded to QuickTime 2.5, you can download it from the QuickTime Software Page.

The MoviePlayer that ships with QuickTime 2.5 prepares QuickTime movies so the plug-in can present the first frame of an embedded movie almost immediately, and can begin playing even before the movie has been completely downloaded. Just click the "make movie self-contained" and "make movie playable on other computers" items in the "Save As" dialog.

You can also use a utility called the Internet Movie Tool to convert your movies to "fast-start". The Internet Movie Tool is convenient if you want to do a batch conversion of many movie files. The Internet Movie Tool is available on the QuickTime Software Page. To use the Internet Movie Tool, first make sure you have QuickTime 2.5 installed. Then you can just drag and drop the movies you want to convert from the desktop or Finder window to the Internet Movie Tool icon and they will be converted.

When you convert a movie, the Internet Movie Tool is performing two tasks:

¥A typical QuickTime movie file may have information located in an area (the resource fork) that machines other than the Macintosh would not be able to read correctly. The Internet Movie Tool makes sure that all of the data for the movie located where it can be read on platforms other than a Macintosh.

¥A typical QuickTime movie file has certain important information (meta data) at the end of the file. The QuickTime Plug-in is constructed in such a fashion that it can start displaying the movie before all of the movie file has been transferred from your server - but only if this information is present at the beginning of the movie. Movies created with QuickTime 2.5 have this data at the beginning, but pre-2.5 movies do not. The Internet Movie Tool moves this information to the front of the file so that the plug-in can "fast-start" the movie.

Here's how you embed QuickTime into your web page...

<EMBED SRC="SampleQT.mov" HEIGHT=176 WIDTH=136>

Replace the name "SampleQT.mov" with the name of your movie, and the values for height and width of the movie with the dimensions of your movie (add 24 to the height of the movie for the default controller). (Hint, if you don't know these values open your movie with MoviePlayer that comes with QuickTime and select Get Info from the Movie menu. Choose Size from the right pop-up menu. You will need to add 24 pixels to the height for the height of the controller unless you have specified CONTROLLER=FALSE (see below). Now, you're ready to test your optimized QuickTime movie for fast-start playback.

SampleQT.mov Syntax for the EMBED tag <EMBED> The EMBED tag is used to embed different kinds of contents within an HTML page such as QuickTime movies. When the document specified in the SRC parameter is a QuickTime movie then the QuickTime plug-in will be used to display it. As with the rest of HTML, all parameter keywords listed below are case insensitive.

SRC=url The URL of the source document.

PLUGINSPAGE=url PlugInsPage is an optional parameter. The PlugInsPage parameter allows you to specify a URL from which the user can fetch the necessary plug-in if it is not installed. This parameter is handled by Netscape. If Netscape cannot find the plug-in when loading your page, it will warn the user and allow them to bring up the specified URL, from which one could download the QuickTime plug-in. IMPORTANT: Please set this parameter to: "http:/ /quicktime.apple.com" which will point to the most appropriate plug-in for various versions of Navigator and different operating systems. This option is appropriate for both QuickTime movies and QuickTime VR Objects and Panoramas.

WIDTH=size in pixels The WIDTH attribute specifies the width of the embedded document, in pixels. This option is appropriate for both QuickTime and QuickTime VR movies. The WIDTH parameter is required unless you use the HIDDEN parameter (below). Never specify a width of less than 2 as this can cause problems with Navigator. If you are trying to use tiny width and height to hide the movie, use the HIDDEN tag instead, as explained below. If you don't know the width of the movie, open your movie with MoviePlayer (PLAYER.EXE on Windows 3.1 or PLAY32.EXE on Windows NT/'95) that comes with QuickTime and select Get Info (Get Movie Info under Windows) from the Movie menu. If you supply a width that is smaller than the actual width of the movie, the movie will be cropped to fit the width. If you supply a width that is greater than the width of the movie, the movie will be centered inside this width.

HEIGHT=size in pixels The HEIGHT attribute specifies the height of the embedded document, in pixels. This option is appropriate for both QuickTime and QuickTime VR movies. If you want to display the movie's controller, you will need to add 24 pixels to the HEIGHT. The HEIGHT parameter is required unless you use the HIDDEN parameter (below). Never specify a height of less than 2 as this can cause problems with Navigator. If you are trying to use tiny width and height to hide the movie, use the HIDDEN tag instead, as explained below.If you don't know the height of the movie, open your movie with the MoviePlayer that comes with QuickTime (PLAYER.EXE or PLAY32.EXE on Windows 3.1) and select Get Info (Get Movie Info under Windows) from the Movie menu. If you supply a height that is smaller than the actual height of the movie (plus 24 if you are showing the controller), the movie will be cropped to fit the height. If you supply a height that is greater than the height of the movie, the movie will be centered inside this height.

HIDDEN HIDDEN is an optional parameter. The HIDDEN parameter controls the visibility of the movie. There are no values to supply for this parameter. If you do not supply HIDDEN, then the movie will be visible. If you supply HIDDEN, the movie is not visible on the page. This option is not appropriate for QuickTime VR Objects or Panoramas. You can use the HIDDEN setting to hide a sound-only movie.

AUTOPLAY=value AUTOPLAY is an optional parameter. When set to TRUE, the AUTOPLAY parameter causes the movie to start playing as soon as the QuickTime plug-in estimates that it will be able to play the entire movie without waiting for additional data. Acceptable values for this parameter are TRUE and FALSE. The default value of AUTOPLAY is FALSE. This option is not appropriate for QuickTime VR Objects and Panoramas.

CONTROLLER=value CONTROLLER is an optional parameter. The CONTROLLER parameter sets the visibility of the movie controller. Acceptable values for this parameter are TRUE and FALSE. The default value of the CONTROLLER parameter is TRUE. This option is not appropriate for QuickTime VR Objects and Panoramas.

LOOP=value LOOP is an optional parameter. When set, the LOOP parameter makes the movie play in a loop. Acceptable values for this parameter are TRUE, FALSE and PALINDROME. Setting LOOP to PALINDROME causes the movie to play alternately forwards and backwards. The default value of LOOP is FALSE. This option is not appropriate for QuickTime VR Objects and Panoramas.

PLAYEVERYFRAME=value PlayEveryFrame is an optional parameter. When set, the PlayEveryFrame parameter causes the movie to play every frame even if it is necessary to play at a slower rate to do so. This parameter is particularly useful to play simple animations. Acceptable values for this parameter are TRUE and FALSE. The default value of the PlayEveryFrame parameter is FALSE. This option is appropriate for QuickTime movies. Note: PLAYEVERYFRAME=TRUE will turn off any audio tracks your movie may have.

HREF=url HREF is an optional parameter. When set, the HREF parameter provides a link to another page when the movie is clicked on. This option would only be appropriate for a movie without a controller. Note: if you are using a relative pathname for the HREF then it should be relative to location of the movie specified in the SRC= parameter. This option is not appropriate for QuickTime VR Objects and Panoramas.

TARGET=frame TARGET is an optional parameter. When set, the TARGET parameter is the name of a valid frame that will be the target of a link (including _self, _top, _parent, _blank or an explicit frame name). This parameter is for use with the HREF parameter. This option is not appropriate for QuickTime VR Objects and Panoramas.

PAN=integer PAN is an optional parameter. The PAN parameter allows you to specify the initial pan angle for a QuickTime VR movie.The range of values for a typical movie would be 0.0 to 360.0 degrees. This parameter has no meaning for a standard QuickTime movie.

TILT=integer TILT is an optional parameter. The TILT parameter allows you to specify the initial tilt angle for a QuickTime VR movie. The range of values for a typical movie would be -42.5 to 42.5 degrees. This parameter has no meaning for a standard QuickTime movie.

FOV=integer FOV is an optional parameter. The FOV parameter allows you to specify the initial field of view angle for a QuickTime VR movie.The range of values for a typical movie would be 5.0 to 85.0 degrees. This parameter has no meaning for a standard QuickTime movie.

NODE=integer NODE is an optional parameter. The NODE parameter allows you to specify The initial node for a multi-node QuickTime VR movie.

CORRECTION=value CORRECTION is an optional parameter. Possible values are NONE, PARTIAL, or FULL. This parameter is only appropriate for QuickTime VR objects and panoramas.

Here are some Frequently Asked Questions

Q I have some movies embedded in a table. When I view them on a Macintosh I hear distorted sound and see banded video. What could cause this?

A This seems to be associated with "bad" HTML code for tables, and is triggered when your browser window hides a piece of your movie or movies. Try checking your code with the "Check Markup" or "Check HTML" command of BBEdit 4.0. This will point out any errors in your HTML code. Fix them and this problem should go away.

Q What do users need to view my QuickTime-enhanced pages?

A Full instructions and all the utilities your audience needs are contained in the QuickTime Read-me file that comes with Netscape Navigator 3.0. The latest version of this document is also available on-line. Briefly, here's the list:

¥A Mac running MacOS System 7 or later, or a PC running Windows 95, NT, or 3.1.

¥Latest version(s) of QuickTime and Macintosh Sound Manager (QuickTime 2.5 for Macintosh, Sound Manager 3.2 for Macintosh (included in System 7.5.3), or QuickTime 2.1.1 for Windows)

¥Apple's QuickTime plug-in

¥The QuickTime plug-in is included with the 3.0 release of Netscape Navigator. It can also be obtained on the Apple QuickTime Software page.

¥If you are using QuickTime VR (Virtual Reality) Panoramas and Objects on your page, viewers will need the QTVR Components file (for Macintosh) or the QTVR library version 1.0.3 (for Windows). These are available on the Apple QuickTime Software page.

¥Netscape Navigator 3.0 or later. The current version is available on Netscape's web site. The Apple QuickTime plug-ins have not been fully tested with other browsers and have specifically been disabled for Netscape 2.0/2.01. We are working on a future release that supports other browsers.

Q If I choose not to display the movie controller, does the viewer have any way to start/stop the movie?

A There may be times when you decide not to show a movie's controller using the CONTROLLER=FALSE tag. For instance, a short clip of sound that you want to play once through as a voice over, or a movie that you want to use as an animation (possibly looping) directly on your page. In this case, the user still has some control over the movie - provided it is not hidden. On a Macintosh, if a movie is visible and does not have an HREF tag associated with it, double-clicking on the movie will start the movie and a single click will pause it. This also works for movies with controllers. On a PC, a single click toggles the pause/play state (again, this will not work with movies with an HREF tag associated with them, since clicking in this case will take the user to the location specified by the HREF).

Q I want to include a QuickTime VR panorama in my page. Will users be able to use the same keys as in the QuickTime VR Movie Player - option and control (shift and control on Windows) to zoom in/zoom out of the movie? Likewise, with a regular QuickTime movie, will the arrow keys to step through the movie a frame at a time?

A The keys for QuickTime VR work as expected, although users need to select the VR panaroma or QuickTime movie first by clicking on it For regular movies, the arrow keys do not work on Windows. If you want the user to be able to single-step through the movie, use the CONTROLLER=TRUE parameter to display the movie controller.

Q Should Windows users download the 16-bit or 32-bit version of the QuickTime plug-in, or both?

A Definitely *not* both. They should download the version of the Plug-in that matches the version of Navigator they are running. All of the Windows software comes in two flavors: 16-bit (for Windows 3.1 users) and 32-bit (for Windows '95 and NT users). In order for the plug-in to work, it (and QuickTime and the QuickTime VR software) must be the same "flavor" as the version of Navigator it is running with. When users download any of the software listed above, they should be careful to download the correct version: the 32-bit version if they are using Navigator for Windows '95 or NT, or the 16-bit version if they are using Navigator for Windows 3.1. They can determine which version of Navigator they have by looking inside the PLUGINS folder in their NETSCAPE folder. If the name of the default Netscape plug-in s Npnull16.dll, they are using 16-bit Navigator. If it is Npnull32.dll, they are using 32-bit Navigator.

Q I am including QuickTime VR files in my pages. I've gotten feedback from Windows '95 (or NT) users that my VR files appear blank.

A They may be using the 16-bit (Window 3.1) version of the QuickTime VR software with the 32-bit (Windows NT/''95) version of Navigator, or vice versa. The version of QTVR must be compatible with the version of Navigator they are running (see previous question).

Q I am including QuickTime VR files in my pages. I've gotten feedback from a Macintosh user that my VR files either appear blank or just play like regular movies - no interactivity.

A Two possibilities: The user may not have the latest QuickTime VR components file (1.0.2 for Macintosh) in his/her plug-ins folder. The QuickTime VR components file contains software used by the Quicktime plug-in to play QuickTime VR Objects and Panoramas, and must be in the same folder as the QuickTime plug-in. The user should visit the QuickTime Software page to download the QuickTime VR components software. If the user has the VR Components file installed properly and still gets a blank window, he/she may not have enough free memory. Quitting open applications or disabling unneeded extensions to increase free memory can help in this case.

Q I am including QuickTime VR files in my pages. I've gotten feedback from a Windows user that my VR files appear blank - even though they are using matching versions of Netscape and the VR software version of Netscape Navigator.

A Two possibilities: The user may not have the most recent version (1.03b9 or later) of the QTVRW.QTC file in his/her WINDOWS or WINDOWS\SYSTEM directory. Older versions of this file are not designed to work with the plug-in. QTVRW.QTC 1.0.3b9 contains the software required by the Quicktime plug-in to play QuickTime VR Objects and Panoramas, and must be in the WINDOWS or WINDOWS\SYSTEM directory. The user should visit the Apple QuickTime Software page to download this version of QTVRW.QTC. If the user has QTVRW.QTC installed properly and still gets a blank window, he/she may not have enough free memory. Quitting open applications or adjusting the virtual memory settings in the System Control Panel may help.

Q Everyone who visits my page says they get a dialog saying something like "PLAY32.EXE will be launched to view this document" or "What do you want to do with this document?". What's wrong?

A One of the movies can not be found or read where your HTML code says it should be. Check to make sure all the content on the page is indeed where you have claimed it is.

Q A user says that he downloaded Netscape Navigator 3.0, but the QuickTime plug-in doesn't seem to be working.

A Navigator 3.0 lets you pick plug-ins for different types of content, just like you pick helper apps. The user may need to pick the QuickTime plug-in in the Navigator General Preferences/ Helpers dialog to make the QuickTime plug-in work.

Q A user is trying to specify the plug-in in Navigator's General Preferences/ Helpers dialog, but the "plug-in" radio item is greyed out.

A If the name of the plug-in has changed, Netscape Navigator will not recognize it until you quit and restart Navigator. If the user had an older version of the plug-in with a different name, he will need to quit and restart Navigator. If that doesn't work, he may need to delete the old Navigator preferences file (he will have to reset mail server options, etc. if he does this).

Q I'm embedding movies with controllers, so I add 24 to the height of the movie as directed. I'm just wondering where the number 24 came from. Controllers on the Macintosh are 16 pixels high.

A Under Windows with Large Fonts turned on (as you would on a high-res monitor), the controller is actually 24 pixels high. If you didn't allow 24 pixels for the controller, users with large fonts would see only the top part of the controller.

Q I'm embedding movies with controllers, so I add 24 to the height of the movie as directed. I'm curious as to what will happen on a Macintosh (where the controller is only 16 pixels high) or a PC with normal (not large) fonts (where the controller is 18 pixels high).

A As long as you are using a solid color background and not using frames, the plug-in will paint the background color in the unused area below the controller. If you are using frames, the plug-in will paint grey in the unused area. If you are using a background gif or jpeg, the controller will paint the background color - in this case we suggest you try to pick a background color as close in average color to your background image to minimize distraction. The inconsistency of controller heights will be resolved in a future version of QuickTime for Windows.

Q What about users who are using a browser other than Netscape Navigator to view my pages. Will the plug-in work?

A Currently we only support Netscape Navigator 3.0 or later. You should put a note on your pages mentioning that they are enhanced for Navigator 3.0 and QuickTime. Apple is investigating support for other browsers. For up-to-date information on the Apple QuickTime plug-in, check the Apple QuickTime Software page.

Q Will the QuickTime plug-in work with movies with sprite tracks?

A On the Macintosh side, yes. On the Windows side, the movie will not display. A future version of QuickTime for Windows will address this issue.

Q I am authoring my web pages on a PC. Is there a version of the QuickTime Internet Tool for the PC?

A Not at this time. You need a Macintosh to use the Internet Movie Tool.

Q What about UNIX?

A At this time Apple does not support QuickTime on UNIX platforms, so there is not a version of the plug-in for UNIX.

Q What happens if I embed a movie and the viewer does not have the QuickTime plug-in?

A Your page will display a frame where the movie should be and the standard Netscape missing-element icon. For this reason, you should always use the PLUGINSPAGE parameter of the EMBED tag to point your viewers to http://quicktime.apple.com, where they can download the plug-in.

Q Is there a way to use non-QTVR movies as "buttons", so that when the user clicks on them they go to another page?

A Yes, you can use an HREF parameter to specify the URL to go to. But note, if you are using a relative pathname for the HREF then it should be relative to location of the movie specified in the SRC= parameter.

Q What effect does the plug-in have on the ability of a viewer to save a movie from my page to his hard drive?

A If the QuickTime plug-in is installed, viewers will not be able to save embedded movies to their disk using the tradional techniques. However, users can click on the movie to select it, then click and hold the mouse button (right-hand button on PCs) to bring up a popup menu with a "save" command.

Q I've optimized all of my movies for fast-start playback and embedded them with AUTOPLAY=TRUE. But they don't seem to be working very well, especially over modem connections.

A Don't expect large movies to start playing as soon as the page appears. A movie will not start playing until the plug-in is sure it can download the rest of the movie before the movie finishes playing! As an example, a 45 second movie will not start playing until the plug-in thinks it will only take about 40 seconds (90% of the 45 seconds) to finish the download. Over a modem, this usually means that almost all of the movie will be transferred before the movie starts to play! So don't regard fast start movies as a solution to the time problem associated with downloading large movies over modems. As more compressor /decompressors are created that are tailored for internet playback, you can begin to use these to compress your movies so that the fast start feature will have a more obvious effect. And as more people gain access to faster internet connections, fast-start movies will be more universally appreciated. But for the time being, unless your movie has a data rate of 2.5K/second or less(!), do not expect the plug-in to begin playing your movies immediately. In general, lower data-rate and frame-rate movies will take better advantage of the fast-start feature.

Q What will the experience be for users who do not have the plug-in or a browser that supports it?

A Movies that are embedded using the EMBED tag won't show up - instead the plug-in prompts the user to go to the URL specified by the PLUGINSPAGE parameter. So if you want to give users the alternative of using the good old MoviePlayer-as-a-helper-app strategy, you could put some text next to your movie like this: "Click here if you don't have Netscape 3.0 and Apple's QuickTime plug-in, but you have specified a helper-app capable of displaying QTVR movies." You need to have an HREF tag around the word "here", like this:&ltA HREF="mymovie.mov"&gthere</A&gt. Then as long as "mymovie.mov" is in your current directory, if the user clicks on the word "here", MoviePlayer (or PLAYER.EXE on the Windows side) should launch, assuming the user configured it as the helper app for .mov files in their browser.

Q Any other suggestions regarding the fast-start feature of the plug-in?

A Many users will click the play button before the movie is finished, expecially for large movies. You should design your pages and movies with this behavior in mind. You may want to make sure the movie starts with something interesting (as opposed to a fade-in from black!). If you don't want the user to be able to click the start button, use the controller=false option and make sure autoplay=true is set.

Creating QuickTime content for the Internet

There is a big difference between QuickTime movies that work well over the Internet and the QuickTime movies you may be used to seeing on CD-ROMs. This section explains the reasons for the difference and some tips and tricks you can use to optimize your movies for playback over the internet. Many people still have 14.4 or 28.8 modem links to the Internet. A 28.8 modem can download a movie at about 2.5 kBytes per second maximum, so a 10 second, 500k movie can take several minutes to download.

Even if you are creating content for an intranet-only T1 or T3 connection you will find yourself limited by bandwidth. A T1 line can transfer about 100K per second so under the best conditions, a 500k movie may appear almost instantly - but in practice anything more than 50Kps is tremendously unlikely, and 10Kps is much more realistic).

Unfortunately, digital video movies tend to be large. A typical 30-second sound and video QuickTime movie designed for CD-ROM delivery can be several megabytes in size and can take minutes to dowload even over a fast connection. As a webmaster you don't want to keep your audience waiting or overload your site. So if you have existing content prepared for CD-ROM delivery, you will want to take short clips of the movie and probably re-compress them at a smaller size and lower data rate. Two good tools for this purpose are Movie Cleaner Pro and WebMotion plugin for Movie Cleaner, available from Terran Interactive. WebMotion has built-in settings for compressing movies for transmitting over the internet. Movie Cleaner Pro has pre-processing features (such as adaptive noise reduction) that make movies look better at low data-rates.

The QuickTime plug-in can play many kinds of QuickTime movies. It currently supports all QuickTime 2.5 track types, including text tracks, MIDI tracks etc. Using these kinds of movies, you can add compelling features to your pages without significantly affecting the time they take to download. Some examples:

¥Background music - import a standard MIDI file into QuickTime using Movie Player and save it as a QuickTime movie (make sure you select the "Make movie self contained" and "Playable on non-Apple computers" options) . The resulting file will be very small and can be used with the looping and autoplay settings to act as background music for your page.

¥Animation - You can use any of the numerous QuickTime movie editing applications, or use Movie Player for simple editing. Many animation tools such as Cinemation 1.1 allow you to you to create animations and save them as QuickTime movies.

¥QuickTime VR - QuickTime VR Objects and Panaromas can be relatively small and highly compelling. If you really want to put a large movie up on your site for download, it's best not to embed the movie directly on the page. Rather, save a frame of the movie as a PICT using Movie Player, convert it to GIF and use that image as a map to the actual movie. Or make a postage size short clip of the movie with a "download fullsize" option. Finally, try not to put too many movies on a single page. The download times add up and this can keep users with modems waiting.

Known Bugs and Limitations

¥Netscape 3.0 is extremely picky about table HTML. Although tables often look fine, if your HTML is slightly incorrect, you can experience screeching sound and banded video when your browser window overlaps a movie within that table. This seems to be associated with "bad" HTML code for tables, and is triggered when your browser window hides a piece of your movie or movies. We have found that the "Check Markup" or "Check HTML" command of BBEdit 4.0 is extremely reliable in pointing out faulty table HTML.

¥MACE audio compression is not supported by QuickTime for Windows. Audio-only moves compressed by MACE will crash QuickTime and you will have to reboot your system.

¥There is a slight inconsistency with traditional HTML syntax and the EMBED tag. The syntax is EMBED SRC="movie.mov" WIDTH=xxx HEIGHT=yyy - do not put quotes around the values for xxx and yyy, even though according to strict HTML syntax you should be able to do so.

QuickTime Plug-in Sample Site

Visit the new QuickTime Plug-in Sample Site and see how developers are using embedded QuickTime media to enhance web sites. Before your visit, make sure you've already installed Netscape Navigator 3.0 with the QuickTime plug-in. You'll also need the QuickTime VR component to view embedded VR Panoramas and objects (available on the QuickTime software page.)


[Main Page] [About Kaidan] [QTVR Products]

[FAQ's] [Sales & Distribution]