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

Posted

技术标签:

【中文标题】在 Windows 10 上为 Qt 构建 WMF(Windows Media Foundation)媒体驱动程序插件【英文标题】:Building WMF (Windows Media Foundation) mediadriver plugin for Qt on Windows 10 【发布时间】:2016-11-08 11:54:13 【问题描述】:

我已经通过 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>\5.7\msvc2015_64\plugins\mediaservice\dsengine.dll找到 我知道我必须自己构建和部署 WMF 插件,但我没有找到任何文档或教程。

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

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

感谢您的帮助!

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于在 Windows 10 上为 Qt 构建 WMF(Windows Media Foundation)媒体驱动程序插件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 10.6 上为 OS X 10.5 构建 Qt

在 Windows 上为 Android 构建时找不到 windows.h 文件

Qt - 在 Windows 上为 Linux 交叉编译

由于 NDK 路径中的反斜杠,Qt Creator 无法构建 Android 库

使用动态链接在 Linux 上为 Windows 交叉编译 Qt 应用程序

在 Windows 7 上为 Qt Creator 安装 Qwt