在macOS Mojave中,CoreMediaIO DAL虚拟摄像头的替代方案是什么?

8
我试图使用CoreMediaIO DAL插件实现虚拟摄像头,但在Mojave上,虚拟设备不会出现在Photo Booth和其他应用程序中。是否在Mojave中弃用了CoreMediaIO插件方法?有什么替代方法吗?
我创建的虚拟摄像头基本上是基于https://developer.apple.com/library/archive/samplecode/CoreMediaIO和一些github示例。我期望当我打开Photo Booth应用程序时,虚拟设备会显示在摄像头列表中,但它没有显示。(Mojave)

我发现的一件事是,Mojave在CoreMediaIO DAL插件文件夹中有自己的AppleCamera.plugin。如果我将此文件移动到其他位置,相机将无法工作,看起来它仍在使用CoreMediaIO DAL进行相机控制。不确定这是否只支持物理相机,这很不可能。在这种情况下,可能有些技术更新。我尝试了SDK中附带的示例,但也无法正常工作。 - Steven
还有一个评论是,解释文档说DAL设备必须具有用户级别的DAL插件,这意味着kext和assistant是可选的,有人制作过纯DAL插件而没有使用kext/ass吗? - Steven
如果我不想要DPA,我们该如何摆脱它?它无处不在DP中,有没有苹果的人可以给予指引? - Steven
1个回答

5

原来我因为来自DirectShow世界,误解了输入/输出流,只保留了输入流,去掉了所有的助手、kext相关内容,只保留了纯净的DAL插件,并将其与我的帧数据传输层连接起来,现在WebRTC、Zoom等应用可以在Mojave下使用它。


3
嗨Steven,我即将尝试做类似的事情。您是否有可能分享一下您已经完成了什么?如果需要,我会尝试重新创造轮子,但听起来这是一个比较困难的过程。 - Dustin Nielson
如果您的插件经过苹果认证,所有应用程序都可以加载它(包括那些启用了第三方强化保护的应用程序);否则,只有非强化应用程序才能使用它。我是指10.15、10.16版本,不确定10.17版本是否适用。 - Steven
嗨,史蒂文,你有什么代码可以分享吗?我一直在尝试做同样的事情但没有成功。文档也很混乱。谢谢! - jpbalarini
我的代码与整个项目绑定,我的老板不允许我分享。无论如何,对于DAL插件部分,它与苹果的示例代码 https://developer.apple.com/library/archive/samplecode/CoreMediaIO/Introduction/Intro.html 相当相似。 - Steven
我目前正在尝试理解DAL插件的工作原理,以便开发自己的插件。这个“Assistant”是什么意思?我可以看到所有虚拟摄像头驱动程序都在它们的“Resources”插件目录中有它。从源代码来看,助手只是插件本身的一种服务器。但是根据我的理解,插件本身可以独立处理所有图像数据吗?或者插件有限制(例如无网络访问),只能由助手运行? - Hyndrix
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接