Animation Flash Open source / Freeware Tools of the trade

Convert SWF to AVI – part2

How to convert a SWF to an AVI (without spending any cash)? I have written about this question before [Covert SWF to AVI (SWF2AVI or SWFtoAVI)] and my answer was back then: swf2avi, a freeware project by Mario Pizzinini.
SWF2AVI is not an active project (last update from 2002-08-27), but does the job very well.
I’ve used it a couple of times, and when you know who this program works, you get the result you need.

Back then I didn’t have an alternative, but I do now!

And the alternative, in my opinion, is better and more user friendly:
swf avi convert screenshot


is a more recent project (the last update is from 2005-07-20), and does the same thing as swf2avi but has some extra very handy features:

  • Drag and drop files in the converter
  • Play the file in a small popup
  • Select an output folder
  • Set output frame rate
  • Batch Convert: convert more then one SWF to AVI
  • Profiles: you can create custom conversion profiles whereto the SWF can be exported (captures size, output size, frame rate and rotation)

But it doesn’t convert sound and interactive animations may not be properly converted

It’s an freeware program, which does what it says: it converts SWF to (uncompressed) AVI. So if you need a compressed version of your animation you need another program to do that (something to write about in another post). SWF>>AVI is a Windows program which needs Microsoft .Net Framework (it will be automatically downloaded and installed if required).

The same rules (code) apply to SWF>>AVI as it did with SWF2AVI
It’s smart to use frame based animation, although it seems that SWF>>AVI is faster in grabbing the images, so timebased animation is can be an option if you don’t care for an exact export.
Otherwise use the code posted here for you convenience:

The only thing you have to remember that your script should be based upon frame-rate (fps) and not on time (milli-seconds).
The next examples are based on a FLA with framerate of 25 fps, there is a movieClip with the name ball_mc in the root and a dynamic text field named time_txt also in the root.

Example 1:

import mx.transitions.Tween;
// this code doesn't work (very well) because it is based on time (seconds)
var myTween:Tween = new Tween (this.ball_mc, '_x', mx.transitions.easing.Elastic.easeOut, 0, 300, 5, true);
// this code will work: it's based on frames
var myTween:Tween = new Tween (this.ball_mc, '_x', mx.transitions.easing.Elastic.easeOut, 0, 300, (5 * 25), false);

Example 2:

// timebased: doesn't work
this.onEnterFrame = function () {
	this.time_txt.text = (getTimer ()/1000) +  " sec.";
// based on framerate
this.onEnterFrame = function () {
	this.time_txt.text = (_root._currentframe / 25) + " sec.";

more information about mx.transitions: macromedia

One reply on “Convert SWF to AVI – part2”

Comments are closed.