Название: Ошибка при загрузке плагинов в Qt (плагин есть, но не загружается) Отправлено: Radmir от Ноябрь 24, 2019, 09:51 Добрый день знатокам!
Хочу показать html с видео в QWebView. html показывает видео при его загрузке в браузеры Firefox, Chrome. Мое приложение html грузит, но видео не показывает. установка переменной окружения QT_DEBUG_PLUGINS=1 дает следующую информацию: 2019.11.24 12:19:28[D] QFactoryLoader::QFactoryLoader() looking at "C:/Qt/5.3.1/5.3/msvc2010_opengl/plugins/mediaservice/wmfengine.dll" 2019.11.24 12:19:28[W] Found metadata in lib C:/Qt/5.3.1/5.3/msvc2010_opengl/plugins/mediaservice/wmfengine.dll, metadata= { "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0", "MetaData": { "Keys": [ "windowsmediafoundation" ], "Services": [ "org.qt-project.qt.mediaplayer", "org.qt-project.qt.audiodecode" ] }, "className": "WMFServicePlugin", "debug": false, "version": 328449 } То есть плагин есть, и далее: 2019.11.24 12:19:28[D] loaded library "C:/Qt/5.3.1/5.3/msvc2010_opengl/plugins/mediaservice/wmfengine.dll" 2019.11.24 12:19:28[W] QLibraryPrivate::loadPlugin failed on "C:/Qt/5.3.1/5.3/msvc2010_opengl/plugins/mediaservice/wmfengine.dll" : "Cannot load library C:/Qt/5.3.1/5.3/msvc2010_opengl/plugins/mediaservice/wmfengine.dll: Не найден указанный модуль." То есть плагин есть, но не грузится, и в итоге естесственно: 2019.11.24 12:19:28[W] defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer" что это? чего-то еще не хватает? С уважением, Радмир Название: Re: Ошибка при загрузке плагинов в Qt (плагин есть, но не загружается) Отправлено: Radmir от Ноябрь 24, 2019, 15:03 Если посмотреть зависимости для wmfengine.dll, то оказывается она использует следующие *.dll:
mf.dll; mfplat.dll; mfreadwrite.dll значить wmfengine.dll есть, но загрузить ее не выйдет. На моей машине таких mf.dll; mfplat.dll; mfreadwrite.dll нет, ясно, что в свою очередь они могут зависить еще от чего-нибудь. Был бы признателен, если подсткажете, откуда они, какого продукта не хватает и что нужно поставить? С уважением, Радмир Название: Re: Ошибка при загрузке плагинов в Qt (плагин есть, но не загружается) Отправлено: Radmir от Ноябрь 25, 2019, 15:58 Похоже все это входит в Media Foundation для Windows... Подскажите, как это правильно называется и откуда его скачать?
С уважением, Радмир Название: Re: Ошибка при загрузке плагинов в Qt (плагин есть, но не загружается) Отправлено: Radmir от Ноябрь 26, 2019, 17:20 Действительно,
mfplat.dll в свою очередь зависит от mfcore.dll, а та зависит от других *.dll и самых разных методов других *.dll, Учитывая, что нужно также согласовать версии модулей, то нужно искать соответствующие пакеты/продукты. Если у кого-то QWebview версии 5.3.1 под Windows (XP-32, 7-32/64) показывает видео в html, то скажите, какие продукты у вас стоят? А быть может кто знает, как использовать плагины Firefox, Chrome в Qt? С уважением, Радмир Название: Re: Ошибка при загрузке плагинов в Qt (плагин есть, но не загружается) Отправлено: Radmir от Декабрь 02, 2019, 15:59 Оказывается решение заключается в перекомпиляции модуля qtmultimedia.
У меня это http://download.qt.io/archive/qt/5.3/5.3.1/submodules/qtmultimedia-opensource-src-5.3.1.zip. Модуль должен соотвествовать вашей версии Qt. Нужно внести изменения согласно посту: https://forum.qt.io/topic/28620/solved-qtmultimedia-defaultserviceprovider-requestservice-no-service-found-for-org-qt-project-qt-mediaplayer/9 Изменения убирают config:wmf и все ненужные зависимости. Перекомпилируйте qtmultimedia.pro и заберите из каталога release вновь созданные plugins: audio, mediaservice, playlistformats. При установке не забудьте о плагине flash и кодеках (например,K-lite simple). У меня это работает под Windows XP, 7 сборка MSVC2010 32 бит. Успехов, С уважением, Радмир |