秦始皇二一四
停止思考是一种堕落

编译QtWebEngine模块支持音视频播放

默认的QT的模块QtWebEngine默认并不支持浏览器的音频和视频播放,需要使用源代码重新编译,以下仅针对Windows系统进行研究。(请注意:QtWebEngine模块,在windows下,必须使用msvc,否则不支持调用)

前提条件:

  • Windows 10 64位(2004),操作系统可以自行确定,因为实际体验是这个系统
  • Qt 5.12.9(安装时需要勾选源代码),安装在默认位置,推荐直接C:\qt(如果路径太长,可能编译的时候出现错误)
  • Python2.7(不要使用Python3)
  • Visual Studio 2017(或2019)需要支持msvc2017支持,需要开启c++支持
  • 所在盘符需要至少150GB空间剩余,例如C:\Qt所在的C盘

 

本文编译的QT版本为5.12.9,VS版本为2017。QT安装路径为C:\Qt\Qt5.12.9\5.12.9\msvc2017_64
本文默认编译的是64位版本QtWebEngine,32位版本暂不考虑
参考文章:

How to compile Qt webengine (5.11) on Windows with proprietary codecs

https://blog.csdn.net/weixin_44231643/article/details/105010734

设置环境变量(PATH)

  • Python(>=2.7.x)并确保添加到了环境变量中
  • 添加第三方工具路径到系统环境变量,
    C:\Qt\Qt5.12.9\5.12.9\Src\gnuwin32\bin
  • 添加Qt可执行程序目录到系统环境变量,
    C:\Qt\Qt5.12.9\5.12.9\msvc2017_64\bin

设置VS为64位模式:

cmd管理员模式切换路径到64位环境批处理工具所在路径,例如:(根据你的vs版本和专业版、企业版等有所区别),

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build

并运行64位环境的批处理工具,例如:

cd C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\
vcvars64.bat

此时建议重启下电脑。

重启后,继续:

打开vs命令行工具

  • 在开始菜单中找到VS2017的菜单目录,以管理员权限打开”适用于VS 2017的x64本机工具命令提示”

切换到qtwebengine的源码目录(在上一步打开的工具里继续操作)

  • vs命令行工具切换到qtwebengine的源码目录
    cd C:\Qt\Qt5.12.9\5.12.9\Src\qtwebengine
  • 修改qtwebengine的编译选项以支持音视频的播放
    在命令行工具输入:
    qmake -- -webengine-proprietary-codecs
  • 若编译成功,则会提示”nmake”(nmake字样,和nmake install字样)

执行nmake进行编译

  • nmake release (仅编译release版本)。如果release和debug一起编译,则执行 nmake

编译成功后,执行nmake install会自动安装到Qt所在目录,替换相关dll(也可以在C:\Qt\Qt5.12.9\5.12.9\Src\qtwebengine\Bin下找到这些dll)

 

编译文件下载

下载:https://download.csdn.net/download/sandy0214/12666210

 

 

赞(1) 打赏
版权声明:本文采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议(CC BY-NC-SA 4.0) 进行授权
文章名称:《编译QtWebEngine模块支持音视频播放》
文章链接:https://www.qyh.name/338/%e7%bc%96%e8%af%91qtwebengine%e6%a8%a1%e5%9d%97%e6%94%af%e6%8c%81%e9%9f%b3%e8%a7%86%e9%a2%91%e6%92%ad%e6%94%be/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

觉得文章有用就打赏一下

非常感谢你的打赏,我们将继续努力提供更多优质内容,让我们一起创建更加美好的网络世界!(注意:私密文章打赏不代表可以获得查看权限)

支付宝扫一扫

微信扫一扫