SWF reading/rendering (outside of Flash Player)

flashvideo

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?

Related Topic