280 likes | 416 Views
Legalese. Flash and Generator are acknowledged trademarks of Macromedia Corporation. Flash in the Pan. Manipulating SWF files with Perl Simon Wistow simon@twoshortplanks.com. Contents. About the SWF file format The need for manipulation tools The problems encountered Achievements
E N D
Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation
Flash in the Pan Manipulating SWFfiles with Perl Simon Wistow simon@twoshortplanks.com
Contents • About the SWF file format • The need for manipulation tools • The problems encountered • Achievements • Applications • The future • Conclusion
Flash? • A little bit of History • FutureSplash was originally created by FutureWave • FutureWave bought by MacroMedia,FutureSplash renamed Flash • current version is 5 • Flash file format (SWF) wasopen-sourced in 1998
Flash? cont. • Vector animation format • shapes and lines • bitmaps (JPEGs, PNGs) • sounds (ADPCMs, MP3s) • These are known as objects • analogous to actors, scenery and soundtrack
Flash?cont. • Keeping with the film analogy • SWF format is a script to describeand control the ‘actors’ • divided into frames • frames divided into tags • these define and control objects • 34 different tags, using 17 data-types
Flash? cont. • Web Oriented • highly compressed • plug-in • pseudo-streaming
Flash? cont. • Scriptable • control events, within movie • reactive, not truly dynamic
The Idea • I needed • a tool for manipulating Flash files • a way of creating Flash files from scratch • some way of converting between formats • abstract representation
Why? • Can’t create totally dynamic content • prevents uses ondatabase applications • Because it’s complicated • it can’t be used within other applications, the facilities don’t exist • you can't do some thingswith the existing interface • Storing SWF binary is not always appropriate
The Competition • Macromedia Generator • limited • modification not creation • expensive (very) • and you still need Flash Authoring tool • slow • resource intensive
The Competitioncont. • Ming • enemy of flash • unfinished, only generates • not low level enough
The Competitioncont. • Middlesoft SDK • limited to C++ on Windows • complicated • restrictive licensing • creation only
Problems • Specification was wrong • required experimentation • incomplete, only dealt with version 3 • Very few knowledgeable people • NDAs • lack of community • Text representation • libswf very unstable • author unavailable
SWFParser AbstractObject SWF Writer Achievements
Applications • Broadband access • richer interfaces • Database driven flash websites • e.g. animated weather maps • Batch generation • personalised invitations
Applications cont. • Library for flash authoring application • Extraction of resources • images, sound, text • Conversion between other formats • save as SVG and MNG
Future Work • Improve interface to the Object • simplify • functions for various effects • Update Libraries to Flash 5 • legalities of reverse engineering • More Input/Output filters • improve the ones already done
Conclusions • A lot has been achieved • but things still to do • Interest from industry and community • Many real-world applications • Development will continue
Conclusions cont. • Structure is sound • Perl was appropriate • good support from user base • hundreds of pre-built libraries • performance issues
Flash in the Pan Manipulating SWFfiles with Perl Simon Wistow simon@twoshortplanks.com