Join 3,418 readers in helping fund MetaFilter (Hide)


How to capture photos from an online Flash slideshow?
October 18, 2006 3:37 PM   Subscribe

How can I capture a photo from an online Flash slideshow? Yahoo! News and the WashPost use these slideshows and I'd love to be able to capture one or more pics. Any info appreciated.
posted by the sobsister to Computers & Internet (18 answers total) 1 user marked this as a favorite
 
You can just take a screenshot of it. WindowsKey + PrntScrn on PCs, Cmd+Shfit+4 on Macs.
posted by gramcracker at 3:41 PM on October 18, 2006


(..then you need to open something like Photoshop, 'paste' (CTRL+V) the image, and save it, etc.)
posted by unmake at 3:55 PM on October 18, 2006


Or view the page source, find the string ending in ".swf" that reveals the name of the actual Flash file, download that file, and use a Flash decompiler on it to extract the photo. This is better than taking a screenshot because you won't be lossily-encoding from a lossy format, further reducing the image's quality.
posted by evariste at 4:00 PM on October 18, 2006


This thread pretty much tells you how to do it.
posted by I Am Not a Lobster at 4:04 PM on October 18, 2006


Thanks to all for the tips.

I tried the page-source trick but couldn't find any .swf files on the page. Too bad 'cause that sounded like a good approach.

The MeFi thread seems to concern downloading .flv files off YouTube, so I'm not sure how to apply this to my situation.

Currently trying to grab pic of Christy Turlington off the GAP (PRODUCT)RED slideshow.
posted by the sobsister at 4:23 PM on October 18, 2006


They're using a Javascript include to dynamically write the swf file into the page. There's your swf file's address.
posted by evariste at 4:49 PM on October 18, 2006


Hmm...maybe not. It's only 178 bytes.
posted by evariste at 4:53 PM on October 18, 2006


As the name imples, the swf is just a loader of external content - it can be saved, but doing so doesn't save the content it loads..
posted by unmake at 4:55 PM on October 18, 2006 [1 favorite]


Well, it looks like the screenshot is your only hope in this particular instance.
posted by evariste at 5:04 PM on October 18, 2006


Hmm...maybe not. It's only 178 bytes.

The original movie is probably just a loader that loads other swf(s).
If you really want to wade into it, decompiling that one can probably find you urls for the other ones it loads.
Seems like an awful lot of work for something that can be approximated with printscreen though.

ack. unmake beat me to the punch.
posted by juv3nal at 5:07 PM on October 18, 2006



If you really want to wade into it, decompiling that one can probably find you urls for the other ones it loads.


actually firing up the loader locally doesn't seem to do anything, so I'm guessing what you'd find wouldn't be urls, but paths to those other swfs.
posted by juv3nal at 5:14 PM on October 18, 2006


The first .swf file is a loader. The actual flash animation is www.gap.com/Asset_Archive/GPWeb/content/0000/627/083/assets/RedHomePage.swf. I took the liberty of running this through a flash decompiler and here is a .zip file containing the 13 images contained therein.
posted by Rhomboid at 5:26 PM on October 18, 2006


Nice, Rhomboid!
posted by evariste at 7:55 PM on October 18, 2006


Unless the people who made those slideshows are "designer" type (read: incompetent) then looking at the SWF is not the way to go. The SWF is almost certainly loading external images and even its data is probably loaded from an external XML source (at least, if these guys know what they are doing it is).

It is actually very easy to get these images. All you need to do is grab a tool to monitor your own HTTP traffic (eg: Charles or the LiveHTTP Headers plugin for Mozilla) and view the gallery. You will see the full path of every request made by the flash app including the images. Then just directly access them in your browser and save-as.
posted by Riemann at 7:56 PM on October 18, 2006


You're right, ideally the images would be standard http objects but in this case they are all embedded in the .swf.
posted by Rhomboid at 7:58 PM on October 18, 2006


Really? Damn. I need to get in on some of that action. They must spend a fortune on consulting for Flash punks.
posted by Riemann at 8:06 PM on October 18, 2006


FWIW, the 'Activity Window' in Safari is awesome for this. It gives you a big list of the URLs for all the HTTP requests that have been made for each page, including things that Flash movies request behind the scenes. It also shows you how large each request was, so you have a guess at where all the big pictures live.

Much easier than trawling through multiple layers of HTML and JS source code.
posted by chrismear at 2:26 AM on October 19, 2006 [1 favorite]


Rhomboid, thank you. You, of course, rock.

And to all respondents, thanks for working this thing harder than I could. Your answers have pointed me towards some woodshedding I need to do.
posted by the sobsister at 5:19 AM on October 19, 2006


« Older Part of my Powerbook's aluminu...   |  I drove through a work area to... Newer »
This thread is closed to new comments.