问题标签 [rfb-protocol]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2496 浏览

node.js - 带有 WebRTC 的 Vnc 用于远程屏幕控制

概述

是否可以使用带有 WebRTC 的 VNC (RFB) 来使用 Node Js 实现远程屏幕控制?我从 RFB 获取远程屏幕帧,我想将其转换为 MediaStream,然后发送到客户端。我试图在网上搜索任何解决方案,但没有找到我可以使用的东西。

我发现的可能解决方案

  1. ffmpeg 帧编码(我不确定是否可以将帧编码为适合 MediaStream 的内容)
  2. 将帧放入画布元素,然后捕获到 MediaStream

主要问题

如何编码 rfb 帧以​​适合 Mediastream 和 WebRTC

到目前为止我一直在使用的东西

我只是将 rfb 帧转换为 png 图片,发送到客户端并使用画布渲染它。问题 - 低帧率,相当大的延迟

除了WebRTC还有其他解决方案吗?

0 投票
1 回答
127 浏览

remote-access - libVNC 实现远程桌面

我正在尝试使用 libvnc 实现远程桌面服务器,我已经下载了 libvnc 并构建了库并能够运行示例代码。在示例代码中,我可以看到函数rfbGetScreen http://libvnc.github.io/doc/html/libvncserver_doc.html显示纯背景而不是桌面。这是否意味着我必须找到一些其他库来获取桌面并使用 vnc 共享,或者 vnc 具有一些内置功能来执行此操作。

0 投票
1 回答
452 浏览

encoding - 使用 GStreamer 进行 VNC 屏幕直播

介绍

我一直在尝试使用 GStreamer 捕获 vnc 屏幕,然后将其发送到 rtp 端点。我已经使用了一个rfbsrc插件,但它工作不稳定并且有第一帧丢失和冻结。也许我的 GStreamer 管道中存在问题:

我正在尝试使用另一种捕获方式 - 对来自标准输入的帧进行编码,但实际上我没有成功使用以下管道:

问题

使用 GStreamer 捕获 vnc 屏幕并发送到 RTP 端点的正确方法是什么?我的 GStreamer 管道中是否有任何明显的错误?

0 投票
0 回答
9 浏览

vnc - x11vnc 强制画屏

我设法在您的服务器上运行 x11vnc,并且可以与客户端上的 Linux 应用程序进行交互。但有时在某些情况下(例如在应用程序中加载 API 调用之后)客户端屏幕不会更新,我需要将一些鼠标输入发送到服务器以更新客户端显示。我读了 x11vnc man 并且找不到任何强制绘制的命令。是否有任何命令可用于从服务器强制绘制屏幕?

0 投票
3 回答
105 浏览

vnc - (紧密)VNC/RFB 中的客户端上传规范?

我希望了解文件传输如何在 VNC/TightVNC/RFB 中工作。

https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#serverinit中,我看到提到了某些客户端消息,如果使用严格的安全类型,这些消息看起来很相关,例如

但我没有看到有关这些消息如何在协议中使用的详细信息

https://www.tightvnc.com/上有很多关于使用的信息,但到目前为止还没有找到任何关于协议本身的信息。

文件传输如何工作?例如,双向发送的消息的低级细节是什么,以启动和完成从客户端到服务器的上传?

(最终我希望实现这一点,比如在NoVNC中,但此时我距离任何编码都只有几步之遥)