有人在论坛上让搞一个屏幕录像,想想也是挺有用的,说不定啥时候自己也会用到,所以就准备看看,打个包。刚开始没找到时自己还想,如果真要找不到,下学期自己写一个算了(这学期已经定了写另外一个软件了),没想到最后还是让我给找到了,那就是vnc2swf。
从名字上就可以看出,这个软件需要vnc server。由于vnc是提供远程桌面访问的,那么就是当作一个网络服务进程来运行,而这个软件就是模拟一个远程登录并将这个数据流给捕获后转换成swf文件。vnc2swf有两种版本,Python版和c版,由于前者需要我们一般用不到的“Pygame or Python Imaging Library”,所以最好使用后者。对于我个人来说,我一般比较倾向于c和c++。
安装过程比较简单,就是make&make install。如果vnc已经安装,就可以直接使用了。
1. $ vncpasswd
用以设置vnc server访问密码,安全起见,必须设置一个密码,否则无法继续进行;
2. $ cp /etc/X11/xinit/xinitrc /root/.vnc/xstartup
设置vnc客户端的初始化文件,否则使用默认文件使客户端以命令行方式登录;
3. $ vncserver -geometry 800x600 -depth 16 :1
使用800x600桌面,色深16位,后面那个1表示这个进程当作vnc server的第一个服务进程;
4. $ vnc2swf -startrecording -geometry 800x600 -depth 16 /opt/test.swf localhost:1 > /opt/test.html
开启vnc并启动录制,使用800x600分辨率色深16位的窗口,将录制的结果存到"/opt/test.swf",vnc server的地址是localhost,display number是1(就是第一部设置的那个1),并同时生成一个test.html的文件供直接观看
由于第一次启动有一个登录载入窗口过程,可以关闭后再次登录,再次登录时就直接可以看到桌面,有助于减小生成的文件。