[Home] [Blog] [Contact] - [Talks] [Bio] [Customers]
twitter linkedin youtube github rss

Patrick Debois

Record your vmware sessions with vnc2swf

Vmware has a nice way of enabling a VNC session for the virtual machine that is running. Using vnc2swf you can record these session into a flash video.
Enable VNC in your vmware image
Stop your Virtual Machine first. (others changes will be overwritten)
Edit your .vmx file and set the following variables to your liking
RemoteDisplay.vnc.enabled = "TRUE"
RemoteDisplay.vnc.password = "vncpassword"
RemoteDisplay.vnc.port = "5900"
Restart your virtual machine and verify the connection with a vnc client
Get the vnc2swf package:
Source can be found at http://www.unixuser.org/~euske/vnc2swf/
I got mine for Centos x86_64 from the dag wieers repository:
[root@mymachine tmp]# wget http://dag.wieers.com/rpm/packages/vnc2swf/vnc2swf-0.5.0-2.el5.rf.x86_64.rpm
If you would install the package first, you need to satisfy some dependencies
[root@mymachine tmp]# rpm -ihv vnc2swf-0.5.0-2.el5.rf.x86_64.rpm warning: vnc2swf-0.5.0-2.el5.rf.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 6b8d79e6 error: Failed dependencies: libXaw.so.7()(64bit) is needed by vnc2swf-0.5.0-2.el5.rf.x86_64
Install dependencies:
[root@mymachine tmp]# yum install libXaw
...Installed: libXaw.x86_64 0:1.0.2-8.1 libXaw.i386 0:1.0.2-8.1 Dependency Installed: libXpm.i386 0:3.5.5-3 libXpm.x86_64 0:3.5.5-3 Complete!
Install the package:
[root@mymachine tmp]# rpm -ihv vnc2swf-0.5.0-2.el5.rf.x86_64.rpm
Record the session:
NOTE: you need a working X for this. So if do this from a remote machine, you should use the ssh -X flag and have xauth installed on the server system and a local X11 environment running.
[root@mymachine tmp]# vnc2swf -startrecording -framerate 25  recording.swf localhost:5900  -viewonly
vnc2swf version 0.5.0 Copyright (C) 2002-2005 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.8 (viewer 3.3) Password: VNC authentication succeeded Desktop name "mymachine"
we record at 25 frames/second the session on port 5900. It will ask for a password if necessary
Embed it into some html:
when you stop the recording it will spit out a piece of html that you can use to embed the flash file
<html><body> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="720" height="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"> <param name="movie" value="blib.swf"> <param name="play" value="true"> <param name="loop" value="true"> <param name="quality" value="high"> <embed src="recording.swf" width="720" height="400" play="true" loop="true" quality="high" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed> </object> </body> </html>