Wednesday, April 02, 2008

Capturing Streaming QuickTime Movies

I wanted to save some of the promotional movies of Activision's Marvel Ultimate Alliance video game using my MacBook. These clips are implemented as save-protected QuickTime movies: they open in a browser-embedded QuickTime player, and the option to save them is only available for QuickTime Pro owners. I'm too cheap to purchase QuickTime Pro, so I looked around for an alternative.

The URL of each video link is just a PHP file. I first attempted to get the real URL from Safari's Activity viewer (Window > Activity) -- this is the first step in downloading a YouTube video, for example -- but the URL wasn't appearing there. Next I opened the video in its own tab, viewed the source, and found the real URL referenced there; it was a URL to a file with a .mov extension. But opening this URL simply played the video in the browser, just as before.

A little Googling (and a failed attempt with iGetMovies) led me to conclude that these videos are streaming movies, which don't get cached on disk but are instead played in realtime (and apparently cached in memory). But there was also the hint that VLC could capture streams, and after some experimentation I found a solution. Here's the approach I got to work (using VLC 0.8.6d):
  1. Select File > Open Network...
  2. Select HTTP/FTP/MMS/RTSP.
  3. Enter the URL of the .mov file.
  4. Select Streaming/Saving.
  5. Click Settings...
  6. Select File and specify a valid file location and name with a .mov extension (clicking Browse... and then Save will do this automatically). This is where the captured streaming movie will be saved.
  7. Check Dump raw output.
  8. Specify an Encapsulation Method of Quicktime.
  9. Click OK, and then click OK on the original window.
That does it! The movie is now saved locally.