与Qt WebGL共享屏幕(如VNC)

与Qt WebGL共享屏幕(如VNC),qt,qml,streaming,webgl,qt-quick,Qt,Qml,Streaming,Webgl,Qt Quick,我刚刚试用了Qt WebGL,看到我的应用程序在浏览器中运行而不做任何更改(除了用-platform WebGL启动外),我非常激动 我想使用WebGL进行屏幕共享,这样它在设备上仍然可用,同时也可以通过浏览器与应用程序交互。目前的平台插件是否有可能实现这一点,或者将来是否有可能扩展平台插件以支持这一点?Qt WebGL流媒体仅针对每个应用程序的单个用户进行。提到Qt WebGL流媒体的原因如下: 为什么是单用户 用户输入有问题 查询GPU的问题 我们可以改善安全 然而,我发现一篇博客文章提

我刚刚试用了Qt WebGL,看到我的应用程序在浏览器中运行而不做任何更改(除了用-platform WebGL启动外),我非常激动


我想使用WebGL进行屏幕共享,这样它在设备上仍然可用,同时也可以通过浏览器与应用程序交互。目前的平台插件是否有可能实现这一点,或者将来是否有可能扩展平台插件以支持这一点?

Qt WebGL流媒体仅针对每个应用程序的单个用户进行。提到Qt WebGL流媒体的原因如下:

为什么是单用户

  • 用户输入有问题
  • 查询GPU的问题
  • 我们可以改善安全
然而,我发现一篇博客文章提出了一个解决方案:启动Qt应用程序的多个并行进程,每次使用一个,然后使用同步来同步所有这些进程的状态。其中一个过程将是“主应用程序”,其他过程将复制它所显示的内容。应用程序的状态必须包括影响其渲染内容的所有内容,包括模型内容和窗口大小

有关此技术的详细配方,请参见

本节还确认了该方法的可行性:

顺便说一句,有一种想法是用镜像功能来补充流,因为在某些情况下,镜像功能更为重要

说到镜像,我想提及我们与Toradex合作的[edit:link update by me]。在这里,您可以看到WebGL流媒体和的有趣组合,它允许您现在就实现镜像功能

在上面链接的网络研讨会视频中,开始演示镜像/屏幕共享。这种类型的镜像甚至是双向的,允许同时从多个屏幕操作应用程序


与“真实”屏幕共享不同,鼠标指针不会被共享。但是,您可能能够将鼠标指针位置作为主应用程序的状态属性进行跟踪,然后绘制“人工”鼠标指针指向客户端应用程序中的该位置。

当前不可能进行屏幕共享,因为每个进程只允许一个连接。是的,但可以扩展平台插件?主要问题是每个客户端可能有不同的窗口大小,因为插件允许您通过调整客户端浏览器窗口的大小来调整服务器窗口的大小。如果您可以设法将它们全部强制为相同的分辨率,那么您可以管理连接并将gl命令发送到每个套接字。