Quicktime Scripting & playing Fullscreen

Sometimes building QuickTime Scripting Controls into your web pages can be tricky. The differences between Windows Media Player and the Quicktime Player are very significant. The first problem is that they have different scripting APIs. When you are a video profressional trying to post your work to the web this can be tasking.

One of the Javascript function calls for the Windows Media Player allows fullscreen playback on the client desktop. The quicktime API doesn’t support this feature from within the plugin. The video producer will have to force the plugin to send the video to the QuickTime Player. The media, being either a .qtl or a .smil file, is basically a reference or pointer to the real Quicktime video or audio file. The Quicktime Plugin reads the directives or properties within the file and follows the commands. That includes telling the plugin to play a video at fullscreen and sending it to the player to accomplish the task.

The files are both XML formatted but with different tagging structures. I am going to cover the easier of the two – QTL. I will save the SMIL lecture for another post.

Quicktime media Link or QTL for short allows you to create a text link on a web page that opens a movie in QuickTime player. For this to work, your web server must be configured to associate the .qtl file extension with the correct MIME type. The MIME type can be handled by placing a .htaccess file into the movies directory. Type the following info into the .htaccess file:

AddType application/x-quicktimeplayer qtl

The XML within the .qtl file will look something like this:

<?xml version="1.0"?>
<?quicktime type="application/x-quicktime-media-link"?>
<embed
autoplay="true"
controller="true"
fullscreen="full"
kioskmode="false"
loop="false"
playeveryframe="true"
quitwhendone="true"
src="http://movies.apple.com/movies/paramount/waroftheworlds/waroftheworlds_480.mov"
type="movie/quicktime"
volume="100"
/>

Save this XML as “qtfullscreen.qtl” and into the same folder as your .htaccess file or vise versa. Now you can make a link from within a web page that calls your .qtl file. You now have a control to play your movie Fullscreen!!

Other important Commands for your XML file:

autoplay = “true” or “false”
controller=”true” or “false”
fullscreen=”normal” or “double” or “half” or “current” or “full”
href=”url”
loop=”true” or “false” or “palindrome”
playeveryframe=”true” or “false”

qtnext=”url”
quitwhendone=”true” or “false”

Play Sample Movie Now!!

BTW: You can always open an HREF to your .qtl file using a javascript call.

7 Responses to “Quicktime Scripting & playing Fullscreen”

  1. Terry Says:

    This works well with QT6.5.2, but in QT7.0.4 the fullscreen is now full black with a tiny movie centre screen – unless you have paid for the upgrade to QT7 PRO.

    There are other issues with .qtl files which do not behave as they did before.

    I have a problem with .qtl code which works perfectly in QT6.5.2 but not in Quicktime 7.0.4. I have three .qtl files that spawn each other with QTNEXT links. The first .qtl file is called PART1.qtl:

    T”
    />

    This plays PART1.mov and links to PART 2.qtl:

    T”
    />

    …which plays PART2.mov and links to the last file PART3.qtl:

    I expected the files to play in sequence – as they do with 6.5.2. Instead I get nothing happening at all in QT7.0.4. – just the blue Q error screen.

    (This method is perfect for streaming large files in sequence from CD when you don’t want to have them load into memory before playing. They just sort of coast along from the CD. But not in QT7.0.4 (or other QT7 versions???).

    Uninstalling QT7 and reinstalling QT6.5.2 and it all works again.

    I assume it is a bug or another deliberate difference in the way the versions handle .qtl files. But why?

  2. Ken Villines Says:

    Hi Terry,
    I am not sure what the difference is? I would join the free online developer program Apple has and then report a bug here:

    http://developer.apple.com/bugreporter/

    I don’t have the latest version of QT but will upgrade this week. I will then try what you have reported. Thx for the info.

    -Ken

  3. Dan Says:

    Hi Ken,

    In Safari, when you click on the .qtl file, it automatically spawns the QuickTime Player which is what it should do. However, in Firefox, it asks you if you want to save it to disk or open with a chosen app. Is there a way aroung this so that it spawns in Firefox the same way it does in Safari?

  4. Dan Says:

    Ken, I figured it out.

  5. Adam Says:

    I am trying to follow your instructions, but I get a Error -2048 that it doesn’t recognize the .qtl file. Works with your link, but not when I direct it to my own qtl file. Is there some sort of size limit on the .mov file? I have a few hours to complete my project and this is just killing me.

  6. Ken Villines Says:

    @Adam

    Sorry, I missed your post. I haven’t tried my instructions with the latest version of QT. I guess I need to do that. Apple has broken so many things over the last couple of years it is hard to keep up. When I have some time on my plate I will check it out…Ken

  7. Fred Malenfant Says:

    I followed your instructions about the QTL file creation, because I wanted my Revision3 shows to start in quicktime player full screen, and it worked almost fine. But it seems to be a trouble with QTL and Quicktime player (I use the latest one). Like another one post here, I got the 2048 error telling me that quicktime does not support a file format. But, this error is random, if I retry the exact same file 30 seconds later, it may work! And, if take the SRC file source and I use “open url” directly in quicktime, it always works fine. So I think that Apple may have a bug to correct in QT player when loading QTL files. Site to test this issue: http://www.fredericmalenfant.com/Revision3QuicktimePlayer.aspx

Leave a Reply