繁体   English   中英

使用 Qt WebGL 进行屏幕共享(如 VNC)

[英]Screen Sharing with Qt WebGL (like VNC)

我刚刚尝试了 Qt WebGL,很高兴看到我的应用程序在浏览器中运行而无需进行任何更改(然后使用 -platform webgl 启动它)!

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

Qt WebGL 流是有意只为每个应用程序的单个用户完成的。 原因关于 Qt WebGL 流的演示中提到:

为什么是单用户?

  • 用户输入问题
  • 查询GPU的问题
  • 我们可以提高安全性

但是,我发现一篇博客文章提出了一个解决方案:启动 Qt 应用程序的多个并行进程,每次使用一个,然后使用Qt 远程对象同步所有这些进程的状态。 其中一个进程是“主应用程序”,其他进程将复制它显示的内容。 应用程序的状态必须包括影响其渲染内容的所有内容,包括模型内容和窗口大小。

可以在本文中找到此技术的详细方法。

Qt 博客文章中的这一部分也证实了这种方法是可行的:

顺便说一下,有一个想法是用镜像能力来补充流媒体,因为在某些情况下,后者更为重要。

说到镜像,我想提一下我们最近与 Toradex 一起举办的网络研讨会[edit: link update by me] 在那里你可以看到一个有趣的 WebGL 流和远程对象组合,它允许你现在已经实现镜像功能。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM