我想知道如今使用哪种技术作为远程管理软件的基础屏幕捕获引擎

  • vnc
  • pcanywhere
  • TeamViewer
  • RAC遥控器
  • 行政人员
  • ETC..

编程语言并不重要,因为是否需要开发驱动程序,这是每秒30次对视频记忆进行轮询,或者Windows内核中构建了任何COM对象以帮助这样做?我对第三方组件对此不感兴趣。我必须使用DirectX设施吗?只想一些起点来开发我自己的屏幕流捕获引擎,这将减少CPU猪。

有帮助吗?

解决方案

当涉及VNC时,有一些与VNC兼容的开源工具,例如tixtvnc,我认为Ultravnc,因此您可以下载代码并查看。

这是下载cittervnc来源的链接:
http://www.tightvnc.com/download/1.3.10/tightvnc-1.3.10_winsrc.tar.bz2

其他提示

pcanywhere和RDP使用自定义协议,这些协议试图传输尽可能少的数据 - 例如传输窗口和控制属性(而不是窗口的图像),并让客户端呈现窗口。因此,非常适合窗户(并且并不总是显示 确切地 屏幕上的内容)。他们还提供了更多的安全性。

另一方面,VNC更加通用,只需传输屏幕的位图(或png,jpeg或其他编码)即可。为了防止必须每秒转移整个屏幕的图片30次,它仅发送自上次更新以来发生的区域。

DirectShow过滤器似乎是最受欢迎的方法。看到这个答案 使用Windows Media编码器记录屏幕. 。那里有一些好的链接。

Windows Media Encoder SDK也是一个选项,但要求用户对其进行正确安装和配置。搜索bing或Google寻找 “ Windows Media编码器SDK”“屏幕捕获”, ,您应该看到很多论坛帖子。

为了 拍摄很多屏幕截图 方法,有关此操作的文章,包括各种方法和源 http://gpalem.web.officelive.com/screencap.html.

Ultravnc的帮助有点谈论他们的 镜像视频驱动程序http://www.uvnc.com/onlinehelp/8.html. 。它的细节很亮,但提示了他们如何做到这一点。

我相信您的捕获方式将对您的协议产生重大影响。您需要整个屏幕吗?三角洲?等等。可以在...上找到商业和开源程序的主要协议列表。http://en.wikipedia.org/wiki/remote_desktop_software

以及详尽的程序列表,包括其协议和功能,可以在...http://en.wikipedia.org/wiki/comparison_of_remote_desktop_software

正如Ho所说,您可以查看其他方法。取决于申请的许可。第二个Wikipedia链接使用各种屏幕截图 /传输技术和协议具有15多个开源程序。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top