Back in 2001, macosxhints published a really neat solution for saving QuickTime (QT) movies from web pages (please see: Save 'unsavable' QuickTime movies for the details). However, the advent of Panther and one of its new menu features ("Go to Folder...") has made saving QT files even simpler and requires no UNIX knowledge.

General:

As noted in the original hint, the first thing to do is to make sure that "Save movies in disk cache" has been activated. This is accomplished by opening System Preferences, then clicking on the QuickTime icon. Next, check "Save movies in disk cache," then close System Preferences. You will only need to do this once. From now on, it will continue to cache the QT files.

Read the rest of the hint for the remainder of the how-to...

[robg adds: Go to Folder isn't new with Panther, so this revised non-UNIX method should work just fine in previous OS X releases.]

Step 1:

Using any web browser (I tested this using Safari), play a QuickTime movie from a website that typically does not allow you to save the movie. This will place a cached copy of the QT movie in the folder /tmp/501/TemporaryItems/.

Step 2:

Switch to the Finder. Under the Go menu, you will see "Go to Folder...". A dialog box opens that asks you to enter the path name to the folder you want to go to. Type in /tmp/501/TemporaryItems/. The Finder will present you with a window showing all of the files that are temporarily stored in this folder. Typically, you can't see this folder without using UNIX commands via Terminal.

Step 3:

Look thru the files until you find one that starts with the name "QTPluginTemp". It will have bunch of other random numbers and letters in the name -- just ignore those. For the sake of this example, let's call this file: "QTPluginTemp3763600". So now:

Move (or copy) the file to any folder you like. I have one called "Downloads" that I use.

Click on the file and press the "Enter" key so you can rename it.

Rename the file to MyMovie.mov (you can use replace MyMovie with any text that you like, but the .mov part is critical!)

Click Enter again to make the new name stick

A warning box will pop up asking "Are you sure you want to add the extension ".mov" to the end of the name?" Then it goes on to explain all of the scary things that could happen if you do this. Take a chance! Click "Add."

Notice that Panther not only renamed the file to MyMovie.mov, it also automatically changed the icon and made the default application to be QuickTime Player! So all you have to do now is get the popcorn, double click the file and watch the movie! No muss, no fuss and no UNIX code!

If you download QT movies a lot, then another time saver would be to make an alias to the "TemporaryItems" folder so that you don't have to do Step 2 every time. For the really fancy among you, you could write an AppleScript, and attach it to the "TemporaryItems" folder using FolderActions, that would look for new files that start with "QTPluginTemp" and automatically move them to a special folder for later processing of Step 3. Heck, if you are really adventurous, you could write an AppleScript, that performs Step 3, then Step 2 and you would never have to touch the file at all! But this exercise is left to the reader. Don't you just hate that?!

The greater-than sign redirects the output of curl from the standard out (display) to a file I called test.mov. Because I invoked curl from within my home directory, the output file was created in my home directory. You can then either use the GUI to double-click on the new file or stay in Terminal and use the "open" command.

Rightclick anywhere in the webpage, just not inside the quicktime movie frame, and show the code.

Press command-F or select search from the menu of your browser, and then search for .mov.

Select the URL for the .mov file, and copy it to the clipboard (command-c or similar)

Go to a terminal window and type the following, leaving out the text in parantheses:

cd Desktop (enter)
fetch -O (enter, and that is a large o, not a zero)

Where is where you paste in your copied text. The first line just switches to the desktop, so that you will get the file saved there. If you want it another place, just change to that directory before doing the fetch.

Many embedded movies are relative pathnames/URLs, so one needs to concatenate with the page URL itself. At that point, the web browser itself may be able to fetch the new URL if you paste it into the location box.

That "501" is not a magic number; it's the UID (user ID). Typically, the first user created on a Mac OS X system gets assigned the UID 501, but other users will get different UIDs.

IMHO, using the UNIX command line is far easier and straightforward: fire up Terminal.app and type:

cd /tmp/UID/TemporaryItems
ls -l

where UID is your user ID (you can find out your own UID with the "id" UNIX command). Then, find the "QTPluginTemp..." file you want to keep, and type

ln QTPluginTemp... ~/Desktop/MyMovie.mov

That command creates a "hard link" between the "QTPluginTemp..." file and "MyMovie.mov" on your Desktop. A hard link means that those two file are actually the same file referenced with two names ("links" in UNIX jargon) from different folders (UNIX directories).

What makes this method interesting is that you can make the hard link at any moment while the movie is being downloaded from your browser. If the "QTPluginTemp..." file is deleted (interrupted transfer, browser quits, browser window closed...), the link on the Desktop remains intact, and its precious contents too.

This would make a good task for Folder Action Scripts: Attach a script that does a shell script hard link to a desktop folder for anything arriving in the TemporaryItems folder with the extension .mov. Unfortunately, I don't know Applescript.

Or you could just go to Window menu > Activity in Safari which will list all downloads on a page. Then simply locate the movie and double-click on it. It will open up in a new page from where you can simply copy the url to a download manager.

This seems to be the most practical method.
By the way, this method works with Firefox. My guess, hence, is that the method works in all Mozilla based browsers.
This method is sweet on two fronts. There is only one download. And, it's clicker-friendly. In other words, non-CLI folks can use it to all their liking.

it's helpful to know how to grab the URL then download it separately, however for material that has already loaded into a webpage, grabbing it from /tmp avoids downloading it twice, which is very helpful with larger files

simpler, and not just for movies
Authored by: garbanzito on Jan 22, '04 02:03:56PM

i just go to the top-level /tmp folder (really /private/tmp) and look for recent files named "WebKitPluginStream" followed by arbitrary characters.. based on the name, i think this will work only with WebKit-based browsers (Safari, OmniWeb ...)

rather than move or rename the file, i duplicate it, and rename the duplicate with an appropriate extension.. this works with mp3 streams as well.. very handy for sites which obscure URLs via javascript (otherwise i'd use curl or wget, or the handy DeepVacuum gui for wget).. i do all this in Path Finder with the setting to view invisibles, and have tmp in my sidebar.. if i've been browsing a lot of media sites, i sort by date so i can tell which file is current.. looking at the file size can also help

for video, i usually use ".mpg" instead of ".mov", though i'm not sure why

Using the "Temporary Items" folder works well, and I can transfer and rename QT movies.
However, on some of the downloads, although the icon shows Q movie, I get the message "Couldn't open the file ___.mov because there is an error in the program", and on trying to import into iMovie I get the message "File cannot be imported. QT couldn't parse it."
Has anyone any ideas of how to get round this problem?

What about this:
Browsing in netscape, using panther, a quicktime movie loads completely, and i navigate to the cache folder. Sort by most recent, and some big files, about 9-11 megs show up. No file extensions on them, but they look like the movies...
But, any one of them that I rename to .mov I get an error in quicktime on opening. So I try .mpg, .mpeg, .avi, .wmv, etc. - nothing works.
Do these need to be joined? What's the deal? They're clearly in the cache in some form, but how can they be opened?

This location didn't work for me, actually. I found my movie in /private/tmp/ with the name "WebKitPlugInStreamuH64L1". Perhaps it was due to the movie being a streamed one? Searching for fiiles created today above a certain size seemed to work better for me on this one. The movie(s) in TemporaryItems were half the size of the actual one and wouldn't play once I renamed them with .mov

Using the "Temporary Items" folder works well, and I can transfer and rename QT movies quite easily.
Nevertheless, on some of the downloads, although the icon shows QT movie, I get the message "Couldn't open the file ___.mov because it is not a format the QT understands", and on trying to import into iMovie or QT I get the same message.
Has anyone any ideas of how to get round this problem?
I would greatly appreciate it

Had a little trouble making this work under Panther 10.3.5 but solved the location of the file using Xfile from rixstep.
Your user folder, whatever UID you are is in /private/tmp/
Look inside the ### folder (whatever your UID is) and you will locate a 'TemporaryItems' folder. The 'QTPluginTemp####... file will be there.

Hi, I have tried all the different instructions above and none of them work for me when trying to download keynote speeches. Is there someone who can please post working instructions on how to do this?

Yes.. somehow QT 7 deletes the file? because I have searched for invisible files created "today" and cannot find any cached files that would work when making them visible and changing the extension to ".mov".
I booted to another partition on my computer with the old Quicktime 6 running and found the invisible files easily. QTPluginTemp####. Copied the fille and pasted it on the desktop (or anywhere in your hard drive) and rename it with ".mov" extension, viola! it works.

There is a way to revert to QuickTime 6.5.2:
http://www.apple.com/support/downloads/quicktime652reinstallerformac.html
If anyone else can figure this out with QT7 please post.
I already bought the Pro version...but I don't like not being able to get these QT movies like we did in QT6

Have you tried this hint out yet? I don't know of any QT movies with those tags offhand, so I can't test it. I'm guessing it may not work since the file isn't actually downloaded to your hard drive, but you may want to try it anyway just in case it does.

One more trick i've seen. They use Quicktimes speed detection system to give you a blank file. Here's the solution...

Once you use one of the above techniques to determine the movie url, download that file and drop it on a hex or text editor. In the beginning of that file there should be something like MOVIE_144.MOV or MOVIE_200.MOV or MOVIE_ISDN.MOV. Now take that file name and you can get your original file.

I've used the show the code trick alot, but when they hide the source, or when there are Windows Media movies embedded in a webpage (I always prefer to have a QT mov file) I just use Snapz and capture the screen area to a movie, and include the sound.

Use tcpflow to capture the request for the .mov file (as described in this hint) so you can download it directly. This is the only method that worked for me since the QT files I wanted were not directly shown in the page source.