I recently had the need to generate some flash demos to demonstrate the Oedipus Web Scanner in action. Since I don’t happen to have one of the commercial Flash demo generators handy at home (I use Viewlet Builder for Linux at work) I decided to see what I could get done with an all Open Source solution.
Running vncserver on Linux starts a separate X Windows session that can have it’s own programs running. This was perfect for my needs, however if you need access to your entire desktop for some reason you could use x11vnc for this. For the purposes of what I needed, I configured my VNC session to run gnome terminal and metacity so I could get a Gnome-style capture. You do this by configuring your $HOME/.vnc/xstartup file on the server I was using. This is what mine looks like:
#!/bin/sh xrdb $HOME/.Xresources xsetroot -solid grey gnome-terminal & metacity &
After this is all setup, we point vnc2swf at the vncserver. In my case, the options I used (using the C version of vnc2swf) were similar to this:
vnc2swf -startrecording -geometry 800×600 -depth 16 -framerate 5 \
After recording a satisfactory demo, I recorded an audio commentary as a 44kbps WAV file, compressed this to a 24kbps MP3 file using LAME, and added this to the original Flash file (and did some compression as well) using edit.py from the Python version of vnc2swf as follows:
edit.py -a audio.mp3 -c -o output.swf original.swf
And we’re done! I should note that one of my audio files was a few seconds too long. I used Audacity to “speed up” the file so that it fit the length of the flash movie.
Final Note: A colleague pointed me to Wink after I had completed this. I will be trying this next time I need to do a software demo.