由于版权限制,Qt官方无法在其二进制包中提供某些解码器,这导致Qt WebEngine无法支持一些常见的视频格式(如MP4)。为了解决这一问题,我们可以通过重新编译Qt WebEngine来集成所需的解码器
一、编译准备
1.获取源码
qtwebengine-everywhere-src-5.15.2.zip
2.编译环境
Python2.7.5: Python2.7.5
Perl: Strawberry Perl for Windows
Visual Studio 2019
Qt5.15.2 需要安装MSVC_2015_64-bit、Sources、Qt WebEngine模块
3.打补丁
https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/321741
文件路径:qtwebengine-everywhere-src-5.15.2\src\3rdparty\chromium\third_party\angle\src\common\mathutil.cpp
文件路径:qtwebengine-everywhere-src-5.15.2\src\3rdparty\chromium\third_party\blink\renderer\platform\graphics\lab_color_space.h
文件路径:qtwebengine-everywhere-src-5.15.2\src\3rdparty\chromium\third_party\perfetto\src\trace_processor\timestamped_trace_piece.h
4.Command Prompt for VS 2019的选择
x64 Native Tools Command Prompt for VS 2019 如果你的系统是64位,编译64位时选选择
x64_x86 Cross Tools Command Prompt for VS 2019 如果你的系统是64位,编译32位时选选择
x86 Native Tools Command Prompt for VS 2019如果你的系统是32位,编译32位时选选择
x86_x64 Cross Tools Command Prompt for VS 2019如果你的系统是32位,编译64位时选择
二、开始编译
- cd D:\Desktop\qtwebengine-everywhere-src-5.15.2
- mkdir _install
- cd _install
- D:\Qt\5.15.2\msvc2015\bin\qmake.exe ..\qtwebengine.pro -- -webengine-proprietary-codecs
- nmake
三、编译完成
编译完成后dll已经归集在bin目录,将对应的文件进行替换,就可以使用了。
tips:发布程序的时候带上QtWebEngineProcess.exe、translations文件夹、resources文件夹,不然无法正常运行。
目录是:.\Qt5.15.2\5.15.2\msvc2015_64\resources
目录是:.\Qt5.15.2\5.15.2\msvc2015_64\bin\QtWebEngineProcess.exe
版权归原作者 Hua-Jay 所有, 如有侵权,请联系我们删除。