媒体基金会可以允许多个客户端同时访问单个网络摄像头设备吗?

Can mediafoundation allow multiple clients to simultaneously access a single webcam device?

本文关键字:摄像头 网络 单个 访问 基金会 许多个 客户端 媒体      更新时间:2023-10-16

我打算构建一个适配器,使用 mediafoundation 公开"StartCapture"和"StopCapture"等方法,并希望多个客户端能够从单个网络摄像头设备同时访问这些方法。

目前,我在示例中看到的代码只允许 1 个流捕获文件中的数据(另一个最终为空(。

媒体基础是否允许同时访问设备?如果是这样,怎么办?

传统上,视频输入设备是独占使用资源。一旦一个客户端启动了会话,其他客户端就无法在正在运行的会话释放相机之前使用该摄像机。

Windows 10周年更新引入了所谓的框架服务器,这是一个中间件层,正如宣传的那样,在某些情况下在客户端之间共享相机。

这结束了对设备的"独占"使用,可以说这是Windows早就应该做出的改变。存在用于在应用程序之间共享摄像机的第三方软件,但操作系统应本机支持此方案,就像它已经为音频设备所做的那样。

据我所知,这是行不通的。至少它不适用于我尝试过的几个相机,到目前为止,共享不适用于 Windows 10 创意者更新。尽管存在该功能正在实现共享的某些摄像机/模式,但可能引用。