vnc2flv/vnc2swf 原理解析

VNC使用远程帧缓存协议(VFB,remote framebuffer)来实现桌面共享和远程控制。一般包括VNC Client和VNC Server两部分,Server默认使用5500端口监听,VNC中不同的桌面(比如:0 to :3)使用不同的端口(比如5900到5903)。如果你在A上使用VNC访问B,那么VNC将把器A上的键盘鼠标操作传输给器B,而B则把需要显示的帧传输给A,这就是VNC的原理。

VNC Client在连接VNC Server的时候,可以使用share和viewonly的模式,这时候可以实现多人共享一个桌面。比如用户A使用VNC连接了VNC Server,并使用1号桌面,用户B可以使用share和viewonly的模式连接VNC server的1号桌面,那么用户B的连接不会断开用户A的连接,并且用户B只是观看模式,用户B可以看到用户A的所有操作。vnc2flv(或者vnc2swf)就是使用了这种Share和viewonly的模式。

vnc2flv(或者vnc2swf)本身就相当于一个VNC Viewer,它们都实现了VFB协议。不过它们接收到对应的显示帧的时候,不是显示出来,而是在内存中模拟显示,并且按照一定的时间间隔把帧存储起来。存储的时候可以选择不同的格式存储,vnc2flv与vnc2swf的主要不同就在于存储格式的不同。

每当你开启vnc2swf或者vnc2flv的时候,它就以Share和viewonly的模式的连接上VNC server的指定桌面,并把显示记录下来,这就实现了屏幕录制。

如果把它们配置在VNC启动的脚本中,那么就可以记录使用VNC连接到这台机器上的任何操作。由于VNC 缺乏安全性,可以和SSH结合使用。

你可能感兴趣的:(server,脚本,ssh,存储,flv)