问题标签 [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.
node.js - 带有 WebRTC 的 Vnc 用于远程屏幕控制
概述
是否可以使用带有 WebRTC 的 VNC (RFB) 来使用 Node Js 实现远程屏幕控制?我从 RFB 获取远程屏幕帧,我想将其转换为 MediaStream,然后发送到客户端。我试图在网上搜索任何解决方案,但没有找到我可以使用的东西。
我发现的可能解决方案
- ffmpeg 帧编码(我不确定是否可以将帧编码为适合 MediaStream 的内容)
- 将帧放入画布元素,然后捕获到 MediaStream
主要问题
如何编码 rfb 帧以适合 Mediastream 和 WebRTC
到目前为止我一直在使用的东西
我只是将 rfb 帧转换为 png 图片,发送到客户端并使用画布渲染它。问题 - 低帧率,相当大的延迟
除了WebRTC还有其他解决方案吗?
remote-access - libVNC 实现远程桌面
我正在尝试使用 libvnc 实现远程桌面服务器,我已经下载了 libvnc 并构建了库并能够运行示例代码。在示例代码中,我可以看到函数rfbGetScreen
http://libvnc.github.io/doc/html/libvncserver_doc.html显示纯背景而不是桌面。这是否意味着我必须找到一些其他库来获取桌面并使用 vnc 共享,或者 vnc 具有一些内置功能来执行此操作。
encoding - 使用 GStreamer 进行 VNC 屏幕直播
介绍
我一直在尝试使用 GStreamer 捕获 vnc 屏幕,然后将其发送到 rtp 端点。我已经使用了一个rfbsrc插件,但它工作不稳定并且有第一帧丢失和冻结。也许我的 GStreamer 管道中存在问题:
我正在尝试使用另一种捕获方式 - 对来自标准输入的帧进行编码,但实际上我没有成功使用以下管道:
问题
使用 GStreamer 捕获 vnc 屏幕并发送到 RTP 端点的正确方法是什么?我的 GStreamer 管道中是否有任何明显的错误?
vnc - x11vnc 强制画屏
我设法在您的服务器上运行 x11vnc,并且可以与客户端上的 Linux 应用程序进行交互。但有时在某些情况下(例如在应用程序中加载 API 调用之后)客户端屏幕不会更新,我需要将一些鼠标输入发送到服务器以更新客户端显示。我读了 x11vnc man 并且找不到任何强制绘制的命令。是否有任何命令可用于从服务器强制绘制屏幕?
vnc - (紧密)VNC/RFB 中的客户端上传规范?
我希望了解文件传输如何在 VNC/TightVNC/RFB 中工作。
在https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#serverinit中,我看到提到了某些客户端消息,如果使用严格的安全类型,这些消息看起来很相关,例如
但我没有看到有关这些消息如何在协议中使用的详细信息
在https://www.tightvnc.com/上有很多关于使用的信息,但到目前为止还没有找到任何关于协议本身的信息。
文件传输如何工作?例如,双向发送的消息的低级细节是什么,以启动和完成从客户端到服务器的上传?
(最终我希望实现这一点,比如在NoVNC中,但此时我距离任何编码都只有几步之遥)