SWF Decompiler for Adobe (formerly Macromedia) Flash 4, 5, MX, MX 2004 and 8 SWF files
What is ASV?
About Manitu Group
ASV Tools Home
ASV Projector Creator
Version 5.01 March 16, 2006
ASV Projector Creator adds support to ASV for the following:
Please read this document to decide if you need to install this free tool. (ASV Projector Creator requires ASV to run. Also it's not available as a separate product).
ASV Projector Creator is a free add-on tool for Action Script Viewer (ASV). The discussion below applies to latest versions of Flash Players released (version 8.0r24) and only to PC versions.
French locatlization for ASV Projector Creator 2.01 (previous version) is available at Documentation section.
About SWF Compression
WWith the release of Flash MX on March 15, 2002, (SWF version 6) support was added for compressed SWF files. Compressed SWF files are compressed with zLib, which is a lossless compression just like ZIP compression. This compression is applied to the file (to be strict from the 9th byte till the end of the file) by Flash MX / MX 2004 / 8 as an export option (default for SWF version 6, 7, 8 files) or can be applied later by a 3rd party application.
Both the Standalone Flash Player and the browser plug-in Flash Player version 6 (and above) support compressed SWF files (no surprise here). According to the SWF 6 specification published by Macromedia on October 25, 2002, SWF compression is a feature for SWF version 6 and above SWF files. Earlier players wouldn't even recognize a compressed SWF file as a valid SWF file. (still no surprise). But version 6 players will play compressed SWF version 5 and below files fine! So whether you'll be using the standalone player or the browser plug-in, if you can guarantee that the player version will be 6 or higher, you can use compressed versions of version 5 and below SWF files.
Because Flash won't do the compression for earlier SWF versions for you (and many other 3rd party applications that go by the published specs), you'll need a 3rd party solution that can compress/decompress any SWF version 5 or below file you have in order to use the compressed SWF support built into Flash Players version 6 and above. (And also to decompress a SWF version 5 or below file that was previously compressed, for use with Players version 5 or below). In fact, there are separate commercial utilities for compression and decompression on the market.
ASV Projector Creator, adds (to ASV) support to compress or decompress a SWF file. Also ASV Projector Creator will warn you when a SWF file version 5 or below is being compressed.
Projectors, standalone EXE files that display SWF content, are created by Standalone Flash Player (SAFP from now on). If you have Flash installed, it's as easy as opening a SWF file by double-clicking on it and then choosing 'Create Projector' command in the SAFP. (One obvious benefit of using a projector rather than a 3rd party application that creates EXE files is that projectors will work even if no Flash player is installed on users system, while nearly all of the 3rd part tools will require that the Active-X browser Flash Plug-in be installed. And though most of the time the plug-in will be installed on users system, you cannot be sure of the version of the player)
Projector creation involves appending the SWF file to the SAFP executable file, and then appending a few more bytes (8 to be exact). So the size of the projector directly depends on the size of the SAFP and the SWF file.
If you will be distributing the projector on a CD or DVD, size probably won't matter much. (Although you might consider the situation where access and read times of a drive will be slower than reading the smaller file and decompressing in memory when necessary). Otherwise it matters a lot.
One obvious trend in SAFP size is that it gets bigger with every new version. Version 8 SAFP is about 1.5MB, version 7 SAFP is about 980KB, version 6 SAFP is about 844KB while version 5 SAFP is about 368KB and version 4 SAFP is just 280KB, not to mention version 3 SAFP is just 144KB. This is quite understandable; you need to have more bytes to have more functionality. But this also means that you should use the player version that matches your SWF if you care about the size. (Also though very rare, there might be issues when using different version of Players and SWF files).
So if your version 5 SWF file is 800KB uncompressed and 400KB compressed, should you be using the compressed SWF with version 6 SAFP or the uncompressed SWF with version 5 SAFP? Generally compression does not reduce SWF size by 50% as in this example. Because SWF file format is already optimized for size, the compression ratio achieved, especially for small files, will be quite less.
Fortunately there are EXE file compressors available that can reduce the Player size about 50%. So you can use a compressed SAFP in the first place. This helps but still something is missing.
When you create a projector with SAFP version 6, 7 or 8 and a compressed SWF, the math explained above won't hold. Investigating more, one finds out that the player actually decompresses the SWF file before creating the projector EXE. In the light of this behavior one might conclude that projectors are not capable of playing compressed SWF files. But wait, how can the player play compressed SWF files then? It might not have the ability to compress a SWF but the SWF file was compressed in the beginning... As it turns out, SAFP can be used to create a projector that has a compressed SWF file embedded but you cannot do this using the 'Create Projector' menu command present in the player!
(In fact, since there are many free utilities that can extract a SWF from a projector, you can create a projector using any compressed SWF you have and then extract the SWF from the projector with one of the tools. And there you will have 'free decompression' by the Flash Player itself!)
So not only Flash MX won't allow exporting a SWF version 5 or below file as a compressed SWF, the SAFP (version 6/7/8) will also decompress your compressed SWF file when creating a projector! (To make it clear, again, the SAFP version 6, 7 and 8 are perfectly capable of playing a compressed version 5 or below SWF file as a projector).
In conclusion, probably you wouldn't want to have your SWF files version 5 or below compressed in a version 6 projector, if you have older players at hand, because SWF compression generally won't get you more than what you can get by using a lower version player - considering file size. If player version 6, 7 or 8 is the only player you've got or your SWF files use Flash MX / MX2004 / 8 features and are at least version 6, then you'd definitely want your SWF files in your projectors compressed. In any case, applying an EXE compression to the player before creating the projector or to the projector once it's created also will help a lot. (Generally any compression will work better on previously uncompressed data - but the EXE compressor wouldn't touch the SWF file in the projector or else the player wouldn't be able to play it. In short, applying the compression to the player once - at its best setting - and using the compressed player then on, is a better idea).
(EXE compression has also its disadvantages, though won't matter most of the time. These are; since the EXE file is decompressed in memory after it's loaded, there *might* be incompatibilities with future versions of operating systems and again since they are compressed on disk, the OS won't be able to manage memory more efficiently *if* more than one instance is running.)
ASV Projector Creator, adds (to ASV) support to create projectors using both compressed and uncompressed versions of Standalone Flash Players (version 3, 4, 5, 6, 7 and 8) and also adds support to compress the SWF file in the projector if the player supports it. (ASV Projector Creator is open for adding more Standalone Flash Player data files. Also player data can easily be updated.)
Just copy the ZIP files contents to the folder you have ASV5.EXE. (ASV Projector Creator does not use an installer/uninstaller and we consider this as a feature).
ASV Projector Creator will add two menu items to the 'Tools' menu:
ASV Projector Creator will use the SWF file that is currently open in ASV. This will be the file you opened with ASV, ASV won't save the SWF before sending it to ASV Projector Creator.
If the 'Use compressed SWF' option is checked, compressed SWF will be used in the projector. If this is not checked or disabled (because the player doesn't support compressed SWF files), the SWF in the projector will be uncompressed.
You can add or remove definitions for Flash Standalone Player data files using the INI file ASVPC.INI. ASV Projector Creator can work with both Standalone Players or projectors.
The INI fle format is pretty obvious regarding adding or removing entries, though one explanation is necessary; the flags parameter can only be 0 (means no support for compressed SWFs) or 1 (means supports compressed SWFs).
ASV Projector Creator does not require any additional license and license terms of ASV applies.
Copyright © 2000-2009 Manitu Group, Istanbul, Turkey. All rights reserved. All trademarks acknowledged.