首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在macOS上曝光虚拟相机?

如何在macOS上曝光虚拟相机?
EN

Stack Overflow用户
提问于 2020-04-09 02:42:44
回答 2查看 7.8K关注 0票数 21

我想写我自己的摄像机过滤器为视频,并理想地应用在任何/所有流行的视频应用程序(缩放,Hangout,Skype等)。我设想的工作方式是编写一个macOS应用程序,该应用程序读取相机提要,应用我的过滤器,并公开一个额外的虚拟摄像机。然后,可以在任何视频应用程序中选择此虚拟相机。

我花了很多时间研究如何做到这一点,但我仍然不清楚现代macOS API是否可能做到这一点。在StackOverflow上有一些类似的问题(例如这里这里),但它们要么没有答案,要么很老。我希望这个问题能为到2020年如何做到这一点收集到正确的建议/链接/想法。

到目前为止,我得到的是:

  • 在现场直播社区中有一个流行的工具叫做OBS Studio。它捕获来自不同来源(照相机、桌面等)的输入,有一个用于应用效果的插件系统,然后将输出流到流行的服务(例如Twitch)。但是,没有在macOS上将流公开为虚拟摄像机的功能。在讨论这个问题时(线程线程),人们谈论一个叫做Syphon的工具和一个叫做CamTwist的工具。
  • 不幸的是,Syphon没有公开虚拟摄像头更多:"SyphonInject不再适用于macOS 10.14 (Mojave)。苹果堵住了允许在全局目录中添加脚本的漏洞,将脚本添加到任何进程中。试图注入任何进程都会悄无声息地失败。如果SIP被禁用,它会工作,但这是一个糟糕的想法,我不会建议或帮助任何人这样做。“
  • 幸运的是,CamTwist可以工作。我让它在我的macOS Catalina上运行,在我的相机流上应用了它的一些内置效果,并在我的Hangout设置(继重新启动 Chrome之后)看到它作为一台新相机出现。这是令人鼓舞的。
  • 不幸的是,CamTwist相当陈旧,维护也不太好。它使用Quartz Composer来实现效果,但是Quartz Composer是苹果公司的已弃用,它很可能活在Catalina的最后一天。
  • macOS SDK过去有一个名为CoreMediaIO的API,这可能是公开虚拟相机的方法,但是这个API也被否决了。这是不清楚 if/什么是现代的替代方案。
  • 我想,提出这个问题的另一种方法是: CamTwist是如何实现的,为什么它在macOS Catalina中仍然有效?到2020年,您将如何实现相同的东西?

任何能照亮这一切的东西都会受到高度的感谢!

EN

回答 2

Stack Overflow用户

发布于 2020-04-12 17:26:50

我也想创造自己的相机过滤器,像快照相机。所以我研究了CoreMediaIO和虹吸管。你查过这个吉特布项目了吗?https://github.com/lvsti/CoreMediaIO-DAL-Example

这个存储库最初是苹果正式的CoreMediaIO示例代码的分叉。你知道,自2012年上一次更新代码以来,原始代码并没有很好地老化。因此,存储库的所有者进行了更改,使其在现代系统上进行编译。

您可以知道代码在macOS 10.14 (Mojave)中工作,可以看到以下问题。https://github.com/lvsti/CoreMediaIO-DAL-Example/issues/4

实际上,我还没有创建相机过滤器,因为我不知道如何将图像发送到由CoreMediaIO构建的虚拟相机。我想知道更多的信息。如果你知道,请告诉我。

票数 2
EN

Stack Overflow用户

发布于 2020-04-09 03:54:23

CamTwist使用CoreMedioIO。你凭什么认为这是不可取的?查看10.15SDK中的标头,我没有看到它被弃用的迹象。最近出现了最新情况,为10.14。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61113129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档