Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert SWF to PNG

Tags:

php

flash

image

I'd like to be able to take a 1-frame SWF file and convert it to PNG through PHP. I'm okay with using command-line tools to get this done.

How could I go about doing this? I found an ActiveX library, but that seems like one too many layers. I also see that Gnash seems to have a PNG output class, but I can't figure out how to get to that from the command line without doing some deep coding of my own. Are there any other clever solutions available? Thanks!

EDIT: To clarify, this is not a one-time task I just want to be able to do once. I'd like to be able to have a PHP script perform this task on command. Thanks!

Another EDIT: One more clarification. This is not a situation in which, say, a user makes a drawing in Flash. I am downloading raw 1-frame SWF files, and want to save PNG copies in order to reduce download time. Is such a task possible? Thanks again!

like image 907
Matchu Avatar asked Jan 04 '10 20:01

Matchu


4 Answers

you can use swftools.
swfrender file.swf -X pixelsize -Y pixelsize -o output.png

If only one between -X -Y parameter is specified then proportions are respected

like image 85
bhups Avatar answered Sep 16 '22 21:09

bhups


Depending on the type of swf's you have you could try FFmpeg from the command line:

ffmpeg -i movie.swf -f image2 -vcodec png movie%d.png
like image 33
cOle2 Avatar answered Sep 19 '22 21:09

cOle2


See From Google: Flash screenshot

like image 21
CookieOfFortune Avatar answered Sep 17 '22 21:09

CookieOfFortune


not really a server based solution, but i developed an AIR utility to convert SWF to PNG sequences: http://swfrenderer.kurst.co.uk/

like image 38
karim Avatar answered Sep 16 '22 21:09

karim