Showing SWF Tag Details - "swfdump --full"

This section provides a tutorial example on how to use 'swfdump --full' command to dump more SWF tag details from SWF files.

If you want to learn more details about SWF file tags, you can use the "swfdump --full" command from SWFTools.

Let's try "swfdump --full" on the same SWF file, "frame.swf":

C:\herong>\local\SWFTools\swfdump --full frame.swf

[HEADER]   File version: 6
[HEADER]   File is zlib compressed. Ratio: 41%
[HEADER]   File size: 591
[HEADER]   Frame rate: 12.000000
[HEADER]   Frame count: 61
[HEADER]   Movie width: 150.00
[HEADER]   Movie height: 350.00
[009]    3 SETBACKGROUNDCOLOR (be/be/be)
[020]   76 DEFINESHAPE3 defines id 0001
            | fillstyles(01)        linestyles(01)
            | 1 ) SOLID 00ff00ff    1 ) 4.00 000000ff
            |
            | fill: 01/00 line:01 - moveTo 0.00 0.00
            | fill: 01/00 line:01 - moveTo 85.30 85.30
            | fill: 01/00 line:01 - splineTo (70.70 99.90) 50.05 99.90
            | fill: 01/00 line:01 - splineTo (29.40 99.90) 14.80 85.30
            | fill: 01/00 line:01 - splineTo (0.20 70.70) 0.20 50.05
            | fill: 01/00 line:01 - splineTo (0.20 29.40) 14.80 14.80
            | fill: 01/00 line:01 - splineTo (29.40 0.20) 50.05 0.20
            | fill: 01/00 line:01 - splineTo (70.70 0.20) 85.30 14.80
            | fill: 01/00 line:01 - splineTo (99.90 29.40) 99.90 50.05
            | fill: 01/00 line:01 - splineTo (99.90 70.70) 85.30 85.30
            |
[028]   13 NAMECHARACTER adds information to id 0001 "greenLight"
[038]   15 EXPORTASSETS
           exports 0001 as "greenLight"
[020]   76 DEFINESHAPE3 defines id 0002
            | fillstyles(01)        linestyles(01)
            | 1 ) SOLID ffff00ff    1 ) 4.00 000000ff
            |
            | fill: 01/00 line:01 - moveTo 0.00 0.00
            | fill: 01/00 line:01 - moveTo 85.30 85.30
            | fill: 01/00 line:01 - splineTo (70.70 99.90) 50.05 99.90
            | fill: 01/00 line:01 - splineTo (29.40 99.90) 14.80 85.30
            | fill: 01/00 line:01 - splineTo (0.20 70.70) 0.20 50.05
            | fill: 01/00 line:01 - splineTo (0.20 29.40) 14.80 14.80
            | fill: 01/00 line:01 - splineTo (29.40 0.20) 50.05 0.20
            | fill: 01/00 line:01 - splineTo (70.70 0.20) 85.30 14.80
            | fill: 01/00 line:01 - splineTo (99.90 29.40) 99.90 50.05
            | fill: 01/00 line:01 - splineTo (99.90 70.70) 85.30 85.30
            |
[028]   14 NAMECHARACTER adds information to id 0002 "yellowLight"
[038]   16 EXPORTASSETS
           exports 0002 as "yellowLight"
[020]   76 DEFINESHAPE3 defines id 0003
            | fillstyles(01)        linestyles(01)
            | 1 ) SOLID ff0000ff    1 ) 4.00 000000ff
            |
            | fill: 01/00 line:01 - moveTo 0.00 0.00
            | fill: 01/00 line:01 - moveTo 85.30 85.30
            | fill: 01/00 line:01 - splineTo (70.70 99.90) 50.05 99.90
            | fill: 01/00 line:01 - splineTo (29.40 99.90) 14.80 85.30
            | fill: 01/00 line:01 - splineTo (0.20 70.70) 0.20 50.05
            | fill: 01/00 line:01 - splineTo (0.20 29.40) 14.80 14.80
            | fill: 01/00 line:01 - splineTo (29.40 0.20) 50.05 0.20
            | fill: 01/00 line:01 - splineTo (70.70 0.20) 85.30 14.80
            | fill: 01/00 line:01 - splineTo (99.90 29.40) 99.90 50.05
            | fill: 01/00 line:01 - splineTo (99.90 70.70) 85.30 85.30
            |
[028]   11 NAMECHARACTER adds information to id 0003 "redLight"
[038]   13 EXPORTASSETS
           exports 0003 as "redLight"
[01a]   21 PLACEOBJECT2 places id 0001 at depth 0001 name "greenLight"
            | Matrix
            | 1.000 0.000  25.00
            | 0.000 1.000 225.00
[001]    0 SHOWFRAME 1-24 (00:00:00,000-00:00:01,917)
[01c]    2 REMOVEOBJECT2 removes object from depth 0001
[01a]   22 PLACEOBJECT2 places id 0002 at depth 0002 name "yellowLight"
            | Matrix
            | 1.000 0.000  25.00
            | 0.000 1.000 125.00
[001]    0 SHOWFRAME 25-36 (00:00:01,1000-00:00:02,917)
[01c]    2 REMOVEOBJECT2 removes object from depth 0002
[01a]   18 PLACEOBJECT2 places id 0003 at depth 0003 name "redLight"
            | Matrix
            | 1.000 0.000  25.00
            | 0.000 1.000  25.00
[001]    0 SHOWFRAME 37-60 (00:00:02,1000-00:00:04,917)
[01c]    2 REMOVEOBJECT2 removes object from depth 0003
[01a]   21 PLACEOBJECT2 places id 0001 at depth 0004 name "greenLight"
            | Matrix
            | 1.000 0.000  25.00
            | 0.000 1.000 225.00
[001]    0 SHOWFRAME 61 (00:00:04,1000)
[000]    0 END

Now we can have a much better understanding on DEFINESHAPE3 and PLACEOBJECT2 tags:

Table of Contents

 About This Book

 Introduction of Adobe Flash

 Adobe Flash Player Plugin for Firefox

 Adobe Flash Player Plugin for Chrome

 Adobe Flash Player Plugin for Safari

 Adobe Flash Player ActiveX for IE

 Using "object" Elements for Flash Files

 Using "embed" Elements for Flash Files

 "mp3player" - MP3 Music Player

 SWFObject - Hidding "object" behind JavaScript

 Flash Player Projector

 SWFTools - SWF File Manipulation Tools

 SWFC Script to Generate Flash SWF Files

 ActionScript Embedded in SWFC Script

 AS3Compile - ActionScript 3 Compiler

 Adobe Flex SDK 4

 SWF File Structure and Tags

SWF File Processing Rules

 Flash Player Lifecycle - Timeline and Frame Rate

 SWF Tag Process Flow - SHOWFRAME Synchronization

 SWF Player Lifecycle Example

Showing SWF Tag Details - "swfdump --full"

 Flash Player Supports Dynamic Actions

 Action Instruction Example - "GotoFrame"

 Creating Display Objects with Action Instructions

 More Action Instructions and Less SWF Tags

 SWF Files for Video and Audio Streams

 Outdated Tutorials

 References

 Full Version in PDF/EPUB