在 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)媒体驱动程序插件的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 上为 Android 构建时找不到 windows.h 文件
由于 NDK 路径中的反斜杠,Qt Creator 无法构建 Android 库