0

我正在编写一个用于预览、捕获和快照相机输入的应用程序。为此,我使用 Media Foundation 进行输入。要求之一是它可以与 Black Magic Intensive Pro 4K 采集卡一起使用,其行为类似于普通相机。

不幸的是,媒体基金会无法从此设备创建 IMFMediaSource 对象。一些研究让我相信我可以实现自己的 MediaSource。

然后我开始查看样本,并试图解开文档。那时我遇到了一些问题:

  1. 有谁知道我想做的事情是否可行?
  2. Windows 示例显示了源的基本实现,但使用了IMFSensorProfile。什么是传感器配置文件,我应该将其用于什么?几乎没有关于此的文档。
  3. 有人可以解释实现自定义媒体源的工作原理:内部实际发生了什么?我只是创建自己的格式,还是允许我从相机中提取自己的帧并自己处理它们?我尝试按照msdn guide进行操作,但到目前为止还没有运气。

规格:

  • 将 WPF 与 C# 一起使用,但我可以编写 C++ 并在 C# 中使用它。
  • 渲染到屏幕使用 Direct3D9。
  • 采集卡规格可以在他们的网站上找到(BlackMagic Intensity Pro 4K)。
  • 发生的具体问题是我可以获得设备的 IMFActivator,但我无法激活它。激活时,会发生MF_E_INVALIDMEDIATYPE错误。
  • IMFActivator 可以告诉我设备应该输出 UYVY 格式。
  • 我最后的手段是使用 DeckLinkAPI,但由于我正在使用几种不同类型的相机,我不想被另一个依赖项困住。

任何指示或帮助将不胜感激。如果有任何不清楚或需要更多详细信息,请告诉我。

4

0 回答 0