在 windows 桌面上使用 MediaCapture 读取网络摄像头

Reading web camera with MediaCapture on windows desktop

我需要在 Windows 8.1 手机、平板电脑和台式机上处理来自网络摄像头的帧。 我已经实现了使用自定义媒体基础转换来访问框架的手机和平板电脑(=商店应用程序)。现在我正在开发桌面版。

MSDN 说 MediaCapture class is supported on both store apps and desktop apps. The third-party MediaCaptureWPF 代替缺少的 CaptureElement 工作正常。

但是 MediaCapture.AddEffectAsync 文档说“effectActivationID:实现效果的可激活运行时 class 的 class 标识符。” 而我can’t use a custom WinRT component in a desktop app.

还有另一个添加效果的选项,MediaCapture.AddVideoEffectAsync,它采用 IVideoEffectDefinition 参数而不是 class ID。但是该接口是 only supported on the phones.

所以,我的问题是。 我可以在 Windows 8 桌面平台上使用 MediaCapture class + 自定义 MF 转换吗?怎么样?

或者我是否需要开发一个 MF 源 reader 来支持桌面平台?那还有更好的办法吗?

提前致谢。

在桌面上 运行 时,MediaCapture 似乎与自定义 MFT 不兼容。

我最终根据代码 from this article.

实现了媒体接收器

不幸的是,the relevant parts 的媒体基础框架被标记为“[仅限桌面应用]”。看起来我将不得不支持 2 个不同版本的图像采集卡,一个用于桌面,另一个用于商店 + phone.