一、问题
使用 pyqt、pyside 的 QWebEngineView 编写的浏览器无法播放html页面中的视频
二、原因
查阅资料后发现,对于视频是 m3u8 格式的文件 , QT 安装包自带的 QWebEngineView 是不支持在线解码的,所以播放不了,大致和 html5 视频播放技术的相关版权有关,具体不深究。总之官网提供的 QWebEngineView 出于各种非技术层面的原因不能播放H5的视频
三、解决办法
- 重新编译 QT 生成 dll 文件
- 将文件中的 Qt6WebEngineWidgets.dll 和 Qt6WebEngineCore.dll 替换掉项目环境目录下的对应文件(对应项目环境目录在项目根路径下的
venv\Lib\site-packages\PySide6或venv\Lib\site-packages\PyQt6中)
编译过程需要依赖指定环境,且流程相对复杂,编译时间较长,网上有很多类似的编译方法,可以自行去搜,我就不贴别人的链接了
编译好的 QT 文件可以从这里下载:
- PySide6.6.2
- windows版 https://download.youkuaiyun.com/do
本文介绍了使用PyQT的QWebEngineView遇到的无法播放H5中mp4视频的问题,原因是QT自带的QWebEngineView不支持m3u8格式的在线解码。解决方法是重新编译QT生成dll文件,并替换项目环境中的对应文件。提供了不同平台的编译好的QT文件下载链接。
订阅专栏 解锁全文
5140

被折叠的 条评论
为什么被折叠?



