So I got the idea for this post when I was making my Space Bunny animation…
I was testing it at first and watching his stupid little face as he was blasted into space.. when it occured to me… the smoke effects are actionscripted… and not just that.. there are some levels of alpha in there too!
Hmmmm…. this wasn’t really an issue with my own setup as I have a beautiful NP8660 laptop specd out to run pretty much anything! But I wanted to make sure other people would see my work with the same quality I was putting into it!
So I tested it on my friends laptop (not so good) and unfortunately it went out of sync very quickly :(
I also tested it on another 13″ Sony Vaio and it started lagging before it began!
So as you can imagine I was some what annoyed and thought to myself… If I turn it into an avi.. then it can’t go out of sync.. and it will play on pretty much anything (even rubbish laptops can play AVIs ok)
So several days and hours work later after finishing the animation… I went through the horrific ordeal of having to convert an swf to avi…
Now… there are LOADS of programs that claim to do this.. and they are all crap… there are also lots of forum posts everywhere with people asking how to do it.. and people giving answers that don’t work!
When it comes down to it… nothing can directly convert an swf to an avi… you are going to have to screen capture it. Now I could let you spend the next several hours of your life dying inside as you play around with different codecs and download all sorts of programs, but I thought I would save you the hassle and tell you my step-by-step guide to doing it well.
Ok.. So the swf converters work fine if you’re swf is a simple piece of rubbish (They still only work by capturing btw)… but if you have one that runs slow on other peoples computers… I recommend this:
1. Make sure you have a powerful computer/laptop
This is a no-no:

DO NOT WANT
If you do not own your own powerful computer… buy one! Your doing flash stuff and you deserve it!….. or find a friend who has one and kick them off for a bit!

Slightly biased view of what a good computer is! :D
2. Download Hypercam 2 - It is the best caputre software I found for doing this… camstudio is good.. but nothing compares to hypercam 2… just trust me ok!

HyperCam... it's good ok!
Right… first things first you want to record that bad-boy of an swf you’ve been working on for so long… I recommend exporting it from the latest version of flash, preferably CS4 then you can export it as a flash player 10 file… which is nice and optimised! Also… build a simple button into the first frame of your animation, I had an invisible one which simply contained the code:
on (keyPress “p”) {
gotoAndPlay(2);
}
This will just allow you to play the animation as soon as you start recording….
Now… I was making a music video… so I basically had one continuous track running, so I exported the swf WITHOUT sound… this made it run faster (although it didn’t matter that much) but also I could add the sound later without having hypercam do it and possibly reducing the quality. If you want to try and record sound too then go for it! But I’m telling you how I did it… so listen up if you’re interested…
Get your swf ready to go on your desktop and then close everything else… stop talking on msn.. pause avast (or if you’re not using avast.. whatever poor-excuse for an antivirus that you have)
You want maximum efficiency when you record the swf to ensure a good clean avi version!
So… load up Hypercam 2, and the swf… which should hopefully be paused in the first frame.
These are the settings I used for hypercam:
First I disabled record cursor in ‘other options’ for obvious reasons…
Turned off sound recording…
Then for the avi settings - record at 60fps, playback 60fps [My animation was 24fps by the way... so it doesn't need to match flash!]
Capture ratio of 1 and keyframe every 100 frames.
The compressor I used was Xvid (Download it if it doesn’t appear on the menu http://www.xvid.org/) .. I found it gave very good results when set up correctly (and yes.. I spent AGES playing with numerous other codecs!)
Set the frame compression quality to 100% then press configure compressor.
I used a profile @ level of: Advanced Simple @ L5
then single pass encoding type, with a target quantizer of 5.95 (you can play around with this using the slider.. you might want to make a few test recording before deciding what works best for you)
And I also used a ‘real-time’ quality preset.

My HyperCam Settings
So use the button on hypercam to select window, and select the swf that should be playing in a standalone flash player (not a browser or from within flash… it’s just wasting extra CPU!)
The default button should be F2 to start/stop recording… so make sure you have your flash player as the active window… then try and simulataneously hit F2 and ‘P’ (assuming you used the same method as myself)
After it finishes hit F2 to stop and you should have a nice high quality AVI of your swf! You might want to play around with some settings but that’s what worked best for me.
The next issue for my particular animation was the lack of audio! This is where 2 FREE programs came in very handy….
1. Virtual Dub
and 2. Audacity
I opened up the avi in virtual dub, because although the music track is set to perfectly start at the beginning of the animation (I spliced the solidgamers bit to the beginning after using virtual dub) it still has the bang sound effect for when the satelitte hits the earth. I found the exact frame where I wanted the sound to play and recorded the milliseconds into the avi that I needed (at the bottom on virtualdub)
Then in audacity.. I opened the music track, went to the corresponding millisecond count, and spliced in the bang sound effect (contact me if you need more info on how to do this)
Now, back in virtual dub, I simply went Audio > From other file… and chose the mp3 I created.
Then I could have used video > Direct Stream Copy to not use any re-compression on the animation, and simply export it with the now included audio.
But I found 2 issues with this… 1st off, the file was still around 50 meg… which isn’t too much of a problem really.. but it would be nicer if I could get it a bit smaller without losing quality!
2. When I attempted to upload this avi to youtube (and vimeo, my now favourite and I recommend)
Youtube took the file, but when I tested the video.. it jumped a bit and was a tiny bit laggy… and vimeo didn’t like the video at all and just came up blank!
So I went back to virtualdub and instead compressed the video again using the ffdshow codecs (which I think come as part of the community codecs: http://www.cccp-project.net/)
I used the FLV1 encoder with FOURCC: FLV and mode as one pass - quality.. with quality set to 100
I left the other settings alone. After compressing like this.. it made a nice 30 meg avi, with pretty much no difference in quality from my 50 meg one!
After re-uploading this to both youtube and vimeo.. I found it was still a bit jumpy on youtube.. but it worked on vimeo.. and played fine!
I personally think youtube reduce the quality of the stuff you upload which is why I favour vimeo… and that avi is the current one you can see when you play the video currently embedded on the homepage!
So that was the long-winded but ultimately successful way I converted my intense swf into a watchable online video (or just avi).
If you have any questions or stuff I might be able to help you with.. or suggesstions on better ways of doing things then leave a comment or contact me!
Hope this has been some use to any of you who might be as stuck as I was!
—-
Dom