因为要做国产化的软件,用的是pyside6+cef的模式,其中会有播放视频的业务,大部分都是要支持h264的,找一圈要自己编译源码,先试试windows的练练手看下效果。
有人问为啥不用自带的qtwebengine,首先它默认也不支持h264 其次,折腾了一圈源码编译,完全也是各种坑没有成功。测试了一下原生控件加载网页的操作,跟cef比起来感觉卡卡的不流畅。qtwebengine是基于cef的,pyside也支持cef,cef的源码编译资料比qt多,综合考虑,就转向亲自动手编译cef。
折腾三周终于搞定了,备注一下
官方参考:chromiumembedded / cef / wiki / MasterBuildQuickStart — Bitbucket
提示:官方步骤只参考就可以,没必要照搬,毕竟外网环境没那么好,否则下载源码排查问题很浪费时间。特别是下图这一步骤,会执行到怀疑人生
完全参考以下博主思路就可以,省很多时间
windows平台编译CEF支持H264(MP3、MP4)超详细 - zgliubo - 博客园 (cnblogs.com)
环境不同的地方是我用的VS2022,下载的最新代码,版本参考如下:
期间遇到一些坑可以参考以下博主的思路和排查方法:
CEF3 源码编译支持H264(win) - 知乎 (zhihu.com)
特别是如果安装目录不在C盘默认路径时,在构建编译过程中,提示找不到环境,无效的路径等等,要提前设置一下环境变量,如下:
set GYP_MSVS_VERSION=2022
set GYP_MSVS_OVERRIDE_PATH=E:\Program Files\Microsoft Visual Studio\2022\Preview
set WINDOWSSDKDIR=D:\Windows Kits\10
剩下的就看错误提示,改一下就问题不大
生成后的目录:
运行测试工具即可:
最终效果
下一步,找台国产机器编译试试效果,期待(*❦ω❦)
资源下载: