我正在开展一个项目,我正在创建一个虚拟的第二屏幕设备,我想通过网络将其发送到另一个渲染设备(另一台计算机,连接到某种屏幕)。有点像 Windows 的 miracast 实现。
我想知道,模拟通过 HDMI 或 VGA 连接到本地机器的显示器或屏幕的最佳方法是什么。
我应该考虑使用哪种语言来实现这一点?我是否需要为正在构建的自定义虚拟设备编写自己的操作系统驱动程序?
答案1
用于抽象任意连接的真实显示接口的开放技术标准(例如 Miracast)似乎仍处于起步阶段,并且存在大量(不)兼容问题。另一方面,编写自己的虚拟显示驱动程序和客户端几乎肯定会导致各种麻烦,包括不同的显示协议、硬件供应商等。
然而,唯一的重要的显示界面的一部分是视频数据,并且有各种各样的标准用于捕获和传输视频数据。
因此,实现虚拟化第二屏幕效果的最简单方法可能是仅配置您的操作系统来渲染它(无需连接真正的显示设备),然后使用传统的现成的屏幕捕获和录制软件(例如 OBS 甚至 Skype)捕获和传输它。
如果您同意在最终解决方案中包含廉价的硬件组件,那么让本地机器渲染虚拟化的第二个屏幕的最简单方法可能是使用类似以下产品的物理加密狗:
(因此,您可以将其插入,像任何显示器一样进行设置,然后使用 OBS 流、Skype 通话、远程桌面会话或最适合您的视频流方法连接您的两台计算机。)
这还具有只需要在用户空间进行定制的好处,而且即使如此,也只需要在广泛支持的系统上进行定制。
答案2
与您的任务最相似的解决方案是 Spacedesk。 https://www.spacedesk.net/ 他们做得很棒,但这需要很多专业知识。作为对这里等待您的内容的回应:“地球上只有少数人(当然包括我们自己)可以编写这种非标准的 WDDM 驱动程序来伪造虚拟显示器,并能够在多个 Windows 版本和很长一段时间内维护它们。”(Marcel Rüdinger,Spacedesk/datronicsoft Inc.)
答案3
看来 teamviewer 应用程序可以成为您的朋友,它是免费的并且跨平台。 https://www.teamviewer.com/en/ 你是这个意思吗 ?