QT6.8.2编译qtwebengine配置带音频和视频编解码器_qt6.9 webengine支持播放
QT自己带的qtwebengine居然没有MP4那些的解码支持,在线播放视频会失效
QT官方原文:Qt WebEngine Features | Qt WebEngine | Qt 6.9.0
配置模块
在QT安装目录下,使用qt-configure-module.bat
脚本配置QT WebEngine模块,并启用专有编解码器支持。(QT6貌似是这种新方式,QT5版本的不一样)
D:\\QT\\6.8.2\\msvc2022_64\\bin\\qt-configure-module.bat D:\\QT\\6.8.2\\Src\\qtwebengine -webengine-proprietary-codecs
确保在安装QT时选择了包含源码的选项。使用x64 Native Tools Command Prompt for VS 2022命令行进入编译环境。
cd D:\\QT\\6.8.2\\Src\\qtwebenginemkdir buildcd build
配置生成器
下载并手动配置生成器所需的内容,使用CMake进行配置。以下命令示例中,PYTHON_EXECUTABLE
、NODE_EXECUTABLE
、BISON_EXECUTABLE
、FLEX_EXECUTABLE
和GPERF_EXECUTABLE
需要根据实际路径进行修改。(我用python最新版本3.13貌似都不行,还得3.8-3.11才支持,我用3.8.2版本的重新试了试,反正挺多环境相关配置的坑慢慢摸索)建议使用-DCMAKE_BUILD_TYPE=Release 编译release版本要快点
cmake -S .. -B . -G \"Ninja\" ^ -DPYTHON_EXECUTABLE=\"D:\\Python\\python.exe\" ^ -DNODE_EXECUTABLE=\"D:\\nodeJS\\node.exe\" ^ -DBISON_EXECUTABLE=\"D:\\bison\\GnuWin32\\bin\\bison.exe\" ^ -DFLEX_EXECUTABLE=\"D:\\Flex\\GnuWin32\\bin\\flex.exe\" ^ -DGPERF_EXECUTABLE=\"D:\\gperf\\GnuWin32\\bin\\gperf.exe\" ^ -DCMAKE_BUILD_TYPE=Release ^ -DQT_FEATURE_webengine_proprietary_codecs=ON ^ -DUSE_SYSTEM_BORINGSSL=OFF
编译QT WebEngine
使用Ninja进行编译,确保编译过程中包含视频解码功能。
# 编译cmake --build . --parallel# 安装cmake --install .
有报错的话建议
ninja -v -j1 > compile_log.txt 2>&1 打印出错误日志看看一般来说源码编译不太会出现大问题,可能编译不过就是环境问题较多数,如果看编译报错,错误有出现UTF8编码问题
如果同类似编码问题的话就改下系统UTF8支持吧,默认win端应该是GBK的,chromium需要UTF8支持步骤如下:
启用系统 UTF-8 支持(必须重启)
进入「控制面板→时钟和区域→区域→管理→更改系统区域设置」,勾选「使用 Unicode UTF-8 提供全球语言支持」,点击确定后重启电脑。
用完可以改回去
编译过程有点慢,而且比较吃资源
通过以上步骤,可以成功配置并编译带有视频解码功能的QT WebEngine模块。
还有别人编译过的项目文件预览 - QT6.2.4自编译WebEngine版本:QT 6.2.4 自编译 WebEngine 版本 - GitCode
具体还没测试使用,等我后续看看
或者考虑使用别的格式的在线视频:
音频类似: