vncSnapshot用于从vncServer获取图片并保存为JPG格式,最新的版本是1.2a,新增了-fps和-count参数。其中-count设定连续保存图片的张数,-fps用于设定保存的间隔时间。比如你可以这样用:
vncSnapshot.exe -ignoreblank -count 5 -fps 15 192.168.0.1:0 test.jpg
测试的结果发现连续保存的5张图片,完全乱了,具体你可以打开Windows Timer来对照。
vncSnapshot的源码非常简单,和vncViewer获取图像信息比较了一下发现其中发送rfbFramebufferUpdateRequest有点区别。按照vncViewer的方式对代码进行了简单的调整就能正常工作了。
另外vncSnapshot关于间隔时间的处理太简单了,根本没有考虑因为网络延时和图像运算时间造成的误差,我也没有仔细调整,简单增加一个5秒的误差。如果要好好的作,可以参照NTP的处理。