2
votes

I would like to use SWF files as source video data within a tool chain I am developing. The problem is, I can't seem to find a consistent way to convert them, and I'm concerned about the loss of quality that the conversion will introduce.

I actually even have Flash CS3, but the export process to anything other than swf is flaky at best. It does different things depending on what video format you export to, and doesn't seem to be consistent across Flash (fla) files.

The options I have come up with are:

1) integrate someone else's source code to parse/play back the swf files, and capture the output directly that way.

2) create some kind of frankenstein work flow using Air or Flex to play the swf and export each frame to an image format, and then read those into the application where I want the data.

Integrating someone else's code seems pretty gross to me. The code available that I can find is at least 2 Flash versions old, so I'd have to do a fair amount of work for this. And when Adobe releases the next version of Flash, I'll have to add support for the new features in myself anyways. Were I to write a player myself from scratch, using the SWF specifications Adobe has published (assuming everything is actually documented enough), I run into the same issue: continued maintenance on a regular basis. And for most likely undocumented (or slowly documented) features.

Creating a frankenstein work flow using Air/Flex seems like a smarter approach, but will be really cumbersome and most likely slow.

Does anyone have any other suggestions? Have I missed something? Has Adobe released source code for their player somewhere, or better yet, a (C++) library that I could use?

1
What do you mean by inconsistent? If you export as Quicktime (File > Export Movie > Quicktime ), that should be somewhat decent, and it saves actionscript generated Sprites and MovieClipsGeorge Profenza
I have a set of fla/swf files that are exactly 450 frames long. They are 30 fps and 15 seconds long. They loop seamlessly. When I export them, sometimes the length is 14 seconds, sometimes 15. As the post processing from them is precisely set to be 15 seconds long (30 fps, 450 frames), I need the export to be precise. None of the export options from Flash are precise. Or even close to it. And successive exports yield different results.mhughes
If you set Stop Exporting After time elapsed: 15 in the Quicktime Export Settings, you still get inconsistent durations ?George Profenza
This looks interesting: blog.joa-ebert.com/2010/08/19/introducing-jitb , worth to keep an eye out.George Profenza

1 Answers