创建虚拟桌面和流式传输其内容的方法

Way to Create Virtual Desktops and Stream Their Contents

我正在寻找一种方法来以编程方式创建多个 "virtual" 桌面,并将它们的内容流式传输到任何地方。

本质上,这些人 https://cindori.org/vrdesktop/ 使用什么 macOS api 来创建这些虚拟桌面,另外他们如何获得它的视频流?

只是在寻找正确的指导 apis/docs。无需代码:)

您需要创建一个模拟图形适配器的内核扩展,本质上只是将所有内容渲染到帧缓冲区中。然后可以将帧缓冲区导出为视频流或您选择的任何内容。

您可以在此处找到要查看的示例源代码:

https://github.com/tSoniq/displayx

https://github.com/andreacremaschi/Syphon-virtual-screen/tree/develop

https://github.com/mkernel/EWProxyFramebuffer

https://code.google.com/archive/p/ioproxyvideofamily/source/default/source

请注意,这些项目在支持最新的 macOS 版本方面不是最新的。更高版本的 macOS 引入了诸如强制内核扩展签名之类的东西,这使得 "hobby-developers" 更难产生可以在内核扩展方面在互联网上免费共享的东西。这也让恶意软件作者更难,这是好的一面。

所以看看这些源存储库,您会找到您的指导 - 但不要指望它们是完整的解决方案。