Screen Recorder
Vnc2swf Home Page: http://www.unixuser.org/~euske/vnc2swf/index.html
vnc2swf [ options ] swf_filename [ host ][: display ]
vnc2swf is a screen recording tool for X-Window (X11), Windows and Mac OS Desktop.
It records the live motion of a screen and
generates a Macromedia Flash(TM) movie (.swf
) file.
Motion capturing is divided into two parts:
The usage of vnc2swf is similar to that of vncviewer, a standard VNC client which was included in the original VNC distribution. First you need to start a VNC server. Then you can launch vnc2swf and connect to the server with your password (if any). After a session begins, pressing F9 key starts screen recording. When you quit the program (by choosing "Quit" from a popup menu or sending SIGINT), vnc2swf writes the Flash movie into the given swf_filename.
You need to obtain at least one VNC server in addition to the vnc2swf distribution. Currently the following VNC servers are supported:
Since vnc2swf is a derivative of vncviewer,
it accepts most of options which were for vncviewer, too.
You can get a list of options by giving -h
as an option to vnc2swf.
Most of these options can also be specified as X resources.
Here are additional options for vnc2swf:
-framerate frames_per_second
-soundfile mp3_to_play
-nommhack
-startrecording
-recordingmethod 0 or 1
0
: Immediate mode. Record every image update immediately (default).
This might cause the movie size grow very large if the wide area of a screen is
updated frequently.
1
: Buffered mode. Record only one image update per frame.
It tries to minimize the image size to be recorded
by tracking a minimal rectangular region which
covers all image changes occured within one frame.
-immediately
-recordingmethod 0
.
-buffered
-recordingmethod 1
.
-nowindow
-nostatus
-clippinggeometry geometry
width x height[+-]x[+-]y
.
This is useful if you want to record a specific region rather than the entire screen.
$ vncserver :1 -geometry 640x480 (start VNC Server) New 'X' desktop is grape:1 Starting applications specified in /home/yusuke/.vnc/xstartup Log file is /home/yusuke/.vnc/grape:1.log $ vnc2swf out.swf :1 (start vnc2swf) vnc2swf version 0.4 - built Apr 16 2004 21:32:59 Copyright (C) 2002-2004 Yusuke Shinyama <yusuke at cs dot nyu dot edu> - Based on VNC viewer version 3.3.7 Copyright (C) 2002-2003 RealVNC Ltd. Copyright (C) 1994-2000 AT&T Laboratories Cambridge. See http://www.realvnc.com for information on VNC. VNC server supports protocol version 3.3 (viewer 3.3) Password: (type your password) VNC authentication succeeded Desktop name "yusuke's X desktop (grape:1)" Connected to VNC server, using protocol version 3.3 VNC server default format: 8 bits per pixel. True colour: max red 7 green 7 blue 3, shift red 0 green 3 blue 6 Using default colormap and visual, TrueColor, depth 16. Using viewer's native pixel format: 16 bits per pixel. Least significant byte first in each pixel. True colour: max red 31 green 63 blue 31, shift red 11 green 5 blue 0 === WriteInitMovie: Warning: file out.swf already exists, overwriting. === WriteInitMovie: Pid=21007, Opening file: "out.swf" for a movie size (1024, 768), frame rate 12... === Stop Recording === Start Recording (RECORD_IMMEDIATELY) === Stop Recording CleanupSignalHandler called === WriteFinishMovie: 32 frames (2.7 sec), expanded_image: 3242296 === WriteFinishMovie: 21250 bytes dumped into "out.swf".
(These movies were also recorded with vnc2swf.)
$ swfdump -e out.swf <OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="244" HEIGHT="134" CODEBASE="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0"> <PARAM NAME="MOVIE" VALUE="out.swf"> <PARAM NAME="PLAY" VALUE="true"> <PARAM NAME="LOOP" VALUE="true"> <PARAM NAME="QUALITY" VALUE="high"> <EMBED SRC="out.swf" WIDTH="244" HEIGHT="134" PLAY="true" ALIGN="" LOOP="true" QUALITY="high" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"> </EMBED> </OBJECT>
Remember that if you don't specify the exact movie size, it leaves garbages on a screen (sample).
Related documents:
Yusuke Shinyama (yusuke @ cs dot nyu dot edu)
This software is distributed under the GNU General Public Licence as published by the Free Software Foundation. See the file LICENCE.TXT for the conditions under which this software is made available. VNC also contains code from other sources. See the Acknowledgements section below, and the individual files for details of the conditions under which they are made available.
Vnc2swf distribution doesn't contain zlib.
Vnc2swf:
Copyright (C) 2002-2003 Yusuke Shinyama. All Rights Reserved.
VNCViewer:
Copyright (C) 2002-2003 RealVNC Ltd.
Copyright (C) 1994-2000 Olivetti Research Ltd/AT&T Laboratories Cambridge. All Rights Reserved.
VNC was originally developed by the RealVNC team while at Olivetti Research Ltd / AT&T Laboratories Cambridge. It is now being maintained by RealVNC Ltd. See http://www.realvnc.com for details.
Vnc2swf distribution contains public domain DES software by Richard Outerbridge. This is:
Copyright (c) 1988,1989,1990,1991,1992 by Richard Outerbridge.
(GEnie : OUTER; CIS : [71755,204]) Graven Imagery, 1992.