Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在macOS上公开虚拟相机?_Macos_Video Processing_Video Capture_Macos Catalina_Video Conversion - Fatal编程技术网

如何在macOS上公开虚拟相机?

如何在macOS上公开虚拟相机?,macos,video-processing,video-capture,macos-catalina,video-conversion,Macos,Video Processing,Video Capture,Macos Catalina,Video Conversion,我想为视频聊天编写自己的相机过滤器,并将其理想地应用于任何/所有流行的视频聊天应用程序(缩放、闲逛、Skype等)。我想象这项工作的方式是编写一个macOS应用程序,读取摄像头提要,应用我的过滤器,并公开一个额外的虚拟摄像头。然后可以在任何视频聊天应用程序中选择该虚拟摄像机 我已经花了很多时间研究如何做到这一点,但我仍然不清楚现代macOS API是否可以做到这一点。关于StackOverflow有一些类似的问题(例如),但它们要么没有答案,要么非常陈旧。我希望这个问题能收集到关于2020年如何

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

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

以下是我目前得到的信息:

  • 在流媒体直播社区中有一个很流行的工具叫做OBS Studio。它捕获来自不同来源(照相机、桌面等)的输入,具有应用效果的插件系统,然后将输出流式传输到流行服务(例如Twitch)。但是,在macOS上没有将流作为虚拟相机公开的功能。在关于这个(,)的讨论中,人们谈论一种叫做虹吸管的工具和一种叫做CamTwist的工具

  • 不幸的是,Syphon没有公开虚拟摄像机:“SyphonInject在macOS 10.14(莫哈韦)中不再工作了。”。苹果填补了允许在全局目录中添加脚本加载到任何进程中的漏洞。尝试注入任何进程都会失败。如果SIP被禁用,它将起作用,但这是一个糟糕的主意,我不会建议或帮助任何人这样做。”

  • 幸运的是,这种方法很有效。我让它在我的macOS Catalina上运行,在我的相机流上应用了一些内置效果,并看到它在我的Hangouts设置中显示为一个新的相机(在Chrome之后)。这是令人鼓舞的

  • 不幸的是,CamTwist相当旧,维护不好。它使用Quartz Composer来实现效果,但Quartz Composer是由苹果公司开发的,它可能在卡塔利纳度过了最后的日子

  • macOS SDK过去有一个API调用,这可能是公开虚拟相机的方式,但该API也被弃用。这是一个现代的选择

  • 我想问这个问题的另一种方式是:CamTwist是如何实施的,为什么它在macOS Catalina中仍然有效,以及在2020年你将如何实施同样的事情


任何能对这一切有所启发的东西都将不胜感激

CamTwist使用CoreMedio。你怎么会认为这是不推荐的?查看10.15 SDK中的头文件,我看不出有任何迹象表明它已被弃用。最近10.14有更新。

我还想创建自己的相机过滤器,比如快照相机。 所以我研究了CoreMediao和Syphon。 你检查过这个Github项目吗?

这个存储库最初是作为苹果官方CoreMediao示例代码的分支。 你知道,最初的代码自2012年最后一次更新以来没有很好地保存。 因此,存储库的所有者进行了更改,使其能够在现代系统上编译

您可以知道,该代码在MacOS10.14(Mojave)中工作,可以看到以下问题。

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

上面写着“此文档不再更新”,我在最新文档中找不到相应的文档。此外,谷歌搜索“CoreMediao”时会显示(来自SO和其他论坛)关于示例代码被破坏和其他混淆的讨论。如果CoreMediao是一条路要走,那么有没有一个学习如何使用它的好地方?谢谢文档的归档令人困惑。苹果改变了他们文档的风格,并使用旧的风格归档了所有文档,无论其内容是否仍然相关。标题是确定的。我不确定示例代码是否不起作用。[你链接到的问题]()已经得到了自我回答,海报解决了问题,并使事情顺利进行,就是这样。另外,正如我所说的,CamTwist,你所报道的很有效,它使用coreMediao.fwiw。自从我买了mac电脑以来,在过去的一周左右我一直在使用OBS+CamTwist。zoom/etc可以正常工作。直到今天(几个小时前)我安装了一个新的osx更新,它坏了:| edit:实际上,它似乎只在zoom上坏了。必须是今天的新缩放更新。所有其他的都很好:)编辑:看起来它在google meets和OBS中都能正常工作,但它并没有出现在photobooth中。可能是osx api问题请勾选此项。您可以在github项目中检查以下内容。现在它不起作用了。但我相信它很快就会奏效。