+
29
-

为啥PyQtWebEngine写出的浏览器无法播放包含视频的网页?

为啥PyQtWebEngine写出的浏览器无法播放包含视频的网页?


网友回复

+
17
-

根本原因解析

PyQtWebEngine 的底层是谷歌的开源项目 Chromium。

开源格式(原生支持):官方通过 pip install PyQtWebEngine 下载的预编译版本,只包含了免费开源的音视频解码器(如 WebM, VP8, VP9, Ogg)。

受版权保护的格式(不支持):像 MP4、H.264 视频和 AAC 音频 这些绝大多数商业视频网站都在使用的标准格式,是受严格商业专利保护的(MPEG-LA 专利池)。

因为 Qt 官方和 PyQt 的作者不希望为免费提供的开源预编译包支付高昂的专利费,所以他们在编译打包时,默认去除了专有解码器(Proprietary Codecs)。

解决方案

方案一:替换带解码器的现成 DLL 文件(最快、最实用 - 仅限 Windows)

既然官方的预编译包把解码器阉割了,万能的开源社区早就有人自己用源码把带解码器的版本编译出来了。你只需要狸猫换太子,替换掉你电脑里的一个底层文件即可。操作步骤:

找到你当前 Python 环境中 PyQt5 的安装路径。一般在:

C:\Users\你的用户名\AppData\Local\Programs\Pytho...

点击查看剩余70%

我知道答案,我要回答