在 Windows 10 上为 Qt 构建 WMF(Windows 媒体基础)媒体驱动程序插件

Building WMF (Windows Media Foundation) mediadriver plugin for Qt on Windows 10

我已经通过 Windows 10 的在线安装程序从 Qt official download page 下载并安装了 MSVC 编译的 Qt 5.7。

我尝试创建一个使用 QVideoProbe 的媒体播放器应用程序。 显然 there are 两个用于 Windows 的媒体驱动程序插件(或多媒体后端)。 DirectStreamer 和媒体基础(MF 或 WMF)。两者都有一些局限性。您可以使用 DirectStreamer 捕获视频,但不支持 QVideoProbe。在 WMF 方面,情况恰恰相反。您不能将相机捕获与 WMF 一起使用,但支持 QVideoProbe

我的问题是 Qt 默认带有 DirectStreamer。 它可以在 <qt-install-path>.7\msvc2015_64\plugins\mediaservice\dsengine.dll 找到 我知道我必须自己构建和部署 WMF 插件,但我没有找到任何文档或教程。

如果下载 Qt 源代码(也可在下载页面中找到),则可以在 <qt-src-path>\qt-everywhere-opensource-src-5.7.0\qtmultimedia\src\plugins\wmf 目录中找到插件的源代码。

我的问题: 如何从源代码为现有 Qt 安装创建此插件? 我需要一些额外的库或来自 Windows 的其他东西吗? 我在哪里可以找到一些教程?我进行了搜索,但这(媒体后端插件构建)似乎是一个白点。

感谢您的帮助!

好的,显然比我想象的要容易。 我做了什么:

  1. 已使用在线安装程序安装 Qt 5.7
  2. 已安装Visual Studio and Debugging Tools For Windows
  3. official download page
  4. 下载 Qt 5.7 的源代码
  5. 已从官方下载页面下载并安装QtCreator。如果顺序正确,IDE 会自动识别该套件(带有编译器和调试器)。
  6. 已将源代码复制到 Qt 目录(复制到 <qt-install-path>.7\src
  7. 使用 QtCreator 打开了 QMultimedia 项目(位于 <qt-install-path>.7\src\qtmultimedia 下)
  8. 建造QMultimedia
  9. 单独构建plugins/wmf个子项目

并且在build目录下(<build-path>\plugins\下)wmfengine.dll出现了