使用 webengine 视频和音频编解码器
Posted
技术标签:
【中文标题】使用 webengine 视频和音频编解码器【英文标题】:Use webengine video and audio codecs 【发布时间】:2019-12-03 17:28:42 【问题描述】:对于我的 PyQt5 项目,我使用的是 QWebEngineView
,但某些视频(例如 .mp4
)无法播放。我可以用pip
安装编解码器,或者通过QApplication()
或类似的东西传递某个参数来解决这个问题吗?
我通过pip
安装了PyQt5,所以我没有C:\Qt\...
文件,只有Appdata\Local\Programs\Python\Python37\Lib\site-packages
中的PyQt5
、pyqt5_tools
文件夹。
我正在使用Python 3.7.2
和PyQt5.11
【问题讨论】:
pip 与此无关。蟒蛇也不行。这是 Qt 多媒体框架的问题。您应该研究它如何与编解码器集成。我认为它将委派给操作系统以获得编解码器支持,这就是您必须安装它们的地方。不过不确定。 【参考方案1】:pypi提供的pyqtwebengine没有启用use_proprietary_codecs
标志所以你不能播放.mp4。
如果你想获得一个播放 mp4 的 pyqtwebengine,你必须按照以下步骤操作:
您必须使用WEBENGINE_CONFIG += use_proprietary_codecs
标志编译Qt 才能启用播放mp4 所需的编解码器(Qt WebEngine Features: Audio and Video Codecs)
然后使用那个 Qt 你必须编译 pyqtwebengine。
【讨论】:
如何从 PyQt5 模块文件夹中编译 QT? @SamG101 你已经用指向你的标志编译了Qt5吗? 我所做的只是 pip 安装了 PyQt5 和 pyqt5_tools,然后我将它们导入 Python(使用 from PyQt5.QtGui import * 等...) @SamG101 正如我指出的那样,pyqt5 对您不起作用,因为它没有使用我在回答中指出的选项进行编译。如果您从未手动编译过 Qt/PyQt,那么您将不得不学习如何编译,这可能需要很长时间。 一旦我构建了新的 webengine,我可以简单地将它放在 PyQt5 文件夹中代替原来的 webengine exe 吗??以上是关于使用 webengine 视频和音频编解码器的主要内容,如果未能解决你的问题,请参考以下文章