文章目录
1.前言
目前的项目有个需求,要在QWebEngineView中加载网页,并播放网页上的视频。一开始以为只要直接加载网页就行,结果加载后发现点击网页上的视频,视频无法播放。
找了一些资料。资料说,Qt官方编译的QWebEngineView是不支持h5里面的video这个tag的。假如想要支持,还得自己编译,编译时加上-webengine-proprietary-codecs。
2.注意事项
2.1.在编译前,一定要留有足够的磁盘空间,大约要留个120G(release+debug)
我这里只是编译了release版本,就产生的文件就达到73.6G。
听别人说debug和release一起编译的话,大概需要80G;不是成倍增加的原因应该是很多东西共用?
(经过测试,的确是,所以大家直接release和debug一起编译吧)
20220815:我这边重新用nmake而不是nmake release编译后,编译出来的东西占用空间达到了116GB,所以,预留的硬盘空间最好还是120G左右吧。
2.2.资料也提到可能要修复一些bug,int改float
【Fix build with msvc2019 16.8.0】
我没修也可以编译成功。有兴趣的同学可以修完之后再编译,然后再一起交流一下有啥区别。
3.操作步骤
3.1.安装Qt时,选择源码。
在安装时,选择安装source,省很多事。
假如自己下载源码编译的话,还需要装很多比如perl之类的软件。但是你在安装Qt时选择安装了source,那除了python2以外,其他东西都是qt自带了。
在这个路径下D:\Qt\Qt5.12.9\5.12.9\Src\gnuwin32。这个路径你也无须加到环境变量path中,他自己内部连接好了。
3.2.安装python2
从【Building Qt WebEngine from Source】可以得知,编译时,必须使用python2,不支持python3
因此需要下载python 2.7.5及以上的python2【Python下载】,下载安装好后,得把安装路径加到Path中,而且要写在python3的前面。
3.3.右键,用管理员打开这个命令行工具
依次执行
#引入一些环境
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_x86.bat"
#cd到你的源码路径
cd D:\Qt\Qt5.12.9\5.12.9\Src\qtwebengine
#建立一个独立的文件夹,防止不同版本的互相干扰
mkdir build_x64_x86
cd build_x64_x86
#执行编译指令
D:\Qt\Qt5.12.9\5.12.9\msvc2017\bin\qmake.exe ..\qtwebengine.pro -- -webengine-proprietary-codecs
#只编译release版本 (大家还是直接nmake把debug版本也编译了,反正都是需要很长时间)
nmake releas
编译完之后,就可以在编译目录下的bin下面了。
3.4.拷贝文件
将bin下面的这几个文件拷贝到你的安装目录下的对应位置,我的是
D:\Qt\Qt5.12.9\5.12.9\msvc2017\bin
注意将原来的备份,万一不行还可以换回去
4.其他
4.1.部分电脑出现 “QtWebEngineProcess.exe 已停止工作”错误,但是功能还是正常的
据说是编译32bit的才会这样,64bit的不会。
【QtWebEngineProcess.exe 频繁崩溃,提示停止工作】
参考:
【Qt5.12.2编译qwebengine开H264支持】
【编译QT5.12.3/QT5.13.2的QtWebEngine模块 支持mp4】
【使用qt5.15.2 qmake 编译qtwebengine支持mp4】