Save "Sita Sings the Blues" from the Flash format: can you convert FLA?

Save "Sita Sings the Blues" from the Flash format: can you convert FLA?

Nina Paley's "Sita Sings the Blues" is becoming a huge critical success, and may even succeed financially, which is unusual for any independent film, but virtually unprecedented for free culture films ("Sita" was released under the CC By-SA). There's only one sad thing about this for free software fans, and that's that "Sita" was made using proprietary software, and the "source code" is in a proprietary format: Adobe Flash's "FLA" format, to be precise. Paley has posted these files on the Internet Archive, but she doesn't know how to translate them into any free software friendly format (and neither do I). Can you help?

Like Sita trapped by the evil Ravana, the source data for "Sita Sings the Blues" is trapped in a proprietary file format which makes it very hard for derivatives to be made using free software tools. Want to help rescue it?

Can you help rescue Sita from the evil proprietary prison of Flash format? (Image: Nina Paley / CC By-SA 3.0)Can you help rescue Sita from the evil proprietary prison of Flash format? (Image: Nina Paley / CC By-SA 3.0)

There's no question that Flash is the leading tool for free culture animators at this time. I wish I could say it was Synfig or KToon or some other free software tool, but it isn't. "Sita Sings the Blues" is only the most visible case.

It would be extremely beneficial if there were a way to migrate such animations from their existing proprietary homes into free software friendly formats so that they can be extended upon and derived from as their authors hope they will be. Doing this would likely increase the number of animators using the free tools, as they would have a way to migrate their previous work to the new platform.

Animation standards are not very standard, as it turns out

This is not such an easy task, though, as I discovered when I went looking for tools to convert the data. Animation standards are not very, well, standard, as it turns out -- much like desktop publishing standards 20 years ago.

It would be nice to be able to flat-out convert an FLA file to a SIF (Synfig Animation) file, but just being able to extract the animation cels from an FLA in SVG format would be a huge step forward.

What is FLA format?

"FLA" stands for "FLash Animation". It is the "source" format for animators using the Flash animation application to create their animations. It is, however, apparently a proprietary, binary file format.

According to the Wikipedia Adobe Flash page:

.fla files contain source material for the Flash application. Flash authoring software can edit FLA files and compile them into .swf files. The Flash source file format is currently a binary file format based on the Microsoft compound file format.

Naturally, you'd want to know what the "Microsoft compound file format", this appears to refer to Microsoft CFBF:

Compound File Binary Format (CFBF), also called Compound File for short, is a file format for storing numerous files and streams within a single file on a disk. CFBF is developed by Microsoft and is an implementation of Microsoft COM Structured Storage.

Yes, at this point my eyes are beginning to glaze over. Hopefully there are hardier folks among my readers, because the plot thickens: COM Structured Storage.

Presumably, the contents of this compound file are vector representations of the "cels" or individual frame drawings for the animation, additional metadata or timing information, and sound files. It's probably quite complex.

Leads for conversion tools

I couldn't find any free software application or library that was intended to access FLA files to extract resources from them. Ironically, there was much more information about how to extract SVG data from "SWF" -- the "compiled" format from Flash (I presume this is because you need this to be able to write viewers for Flash animations).

Here's what I found though, as a quick start for anyone interested in researching this problem:

Toolchain, library, application, or service?

It's not clear to me which is the right strategy for approaching this problem. One could use Flash itself to generate SWF files, then use one of the above tools to convert the SWF to SVG format. This would presumably lose some information compared to accessing the FLA directly -- but the tools do seem to be better developed.

If you know more about how to solve this problem, please leave a comment below

On the other hand, one might start by writing a compound format reader and exploring what the contents of an FLA file are.

And of course, it's also possible that the solution is already out there, and I just haven't been able to locate it.

This is where you come in. If you're reading this, and you know some more about how to solve this problem -- please leave a comment below and some sort of lead that could be used to find out more.

For a set of FLA files which need converting, check out the ones for Sita Sings the Blues Files, which are free-licensed (Creative Commons Attribution-ShareAlike 3.0).


Comments's picture

It's available in OGG, h.264, mov (QT), & DVD ISO (unencrypted) for video. This is in a number of resolutions, including 480p through 1080p (h.264), and available uncompressed (QT). I think the OGG video is SD res/quality. In just audio: wav, flac, ogg, & mp3.

I'm guessing you didn't try google and if you did, you didn't check the 2nd link down (googled "download sita sings the blues").

Anyway, yes flash sucks. But don't go knocking something (like Sita) before doing a little research.

Terry Hancock's picture

Please pay attention: This article is about converting the source data of the Sita film from its original Flash-specific proprietary format to a free source format.

Examples of the latter include SVG and SIF format.

The video is of course available in a variety of free formats, and the original source format (FLA) has been made available by the author.

No one is "knocking" Sita!

Terry Hancock's picture

When I said that Nina Paley didn't know how to convert the files, I wasn't guessing -- I asked her about it, and she said she didn't know how to do it (but would like to convert them). This article is an attempt to pursue the problem further so as to help her out with that problem. I will of course, also be attempting some other channels.

The reason we want source data for the film is the same reason you want it for a piece of software -- it would allow you to make derivatives and reuse the materials in more complex ways.

For example, it is possible to create art composed from Sita by freeze-framing the video and carefully selecting elements from it with Gimp. But the image quality will generally be low, and you're limited to compositions that actually occur in the film.

The FLA on the other hand, contains vector representations of many of the animation "cels" which are used in animating the film. Being able to extract these and work with them directly would enable extraction of arbitrarily scaled, high-quality artwork. It also gives you the same kind of compositional freedom that the artist had when she put them together to make the film.

If Paley herself were to attempt to create further derivative works from Sita, or use elements in later works created using Synfig, she would need this capability. Not being able to do it means that she is "locked in" to using proprietary Flash software to do her animations.

Terry Hancock's picture

Um, I appear to have made a slip of the brain... it should read "the evil king Ravana", not "Hanuman". Hanuman is a "good guy" in the story -- the monkey king who finds Sita.

Apologies. (It's fixed now -- Thanks Tony!).

Author information

Terry Hancock's picture


Terry Hancock is co-owner and technical officer of Anansi Spaceworks. Currently he is working on a free-culture animated series project about space development, called Lunatics as well helping out with the Morevna Project.