qt - 在 Linux 上为 Qt5 WebEngine 启用 mp4/mpeg4/avc 支持

标签 qt ubuntu ffmpeg mp4 chromium

我在 LUbuntu 上安装了 Qt 5.4.1 x64 并创建了一个使用新 QtWebEngine 的应用程序。

我正在尝试显示一个带有使用该标签的组件的 html5 页面。 一切正常,除非我尝试播放 mp4 视频。视频区域保持黑色。如果我使用其他视频类型(如 webm/ogg)作为源,它会起作用。

我知道这是由于许可限制,因此 mp4 在 Ubuntu/Linux for Qt 中默认被停用。

在 Qt 中需要什么来激活它以允许播放 mp4 以及在许可条款的情况下我要注意什么(我读到允许静态链接库?)?

我已经尝试将包含在 Chrome (2,2Mb) 中的 libffmpegsuo.so 的 x64 发行版复制到 Qt 目录的/plugins/webengine/并替换已经存在的那个 (1, 1 Mb) 但它没有效果。 顺便说一下,在 Chrome 中播放效果很好。

如果您需要更多详细信息,例如路径等,请告诉我。

谢谢!

最佳答案

您可以在编译 Qt WebEngine 时显式启用专有编解码器(H264、MP3):

在/path-to-qt-src-dir/qtwebengine 执行:

qmake WEBENGINE_CONFIG+=use_proprietary_codecs

您应该能够在输出中看到启用了 H264 编解码器,这不是默认配置。

关于qt - 在 Linux 上为 Qt5 WebEngine 启用 mp4/mpeg4/avc 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28981666/

相关文章:

c++ - 从左侧 QT 调整窗口大小时闪烁

c++ - 如何从绝对路径转到相对路径?

QT QTcpServer::incomingConnection(qintptr handle) 没有触发?

video - 当 got_picture_ptr 为 0 时,avcodec_decode_video2 返回正数

linux - Debian Linux 更新 FFmpeg 到 4.2+

linux - 在结构列表上调用 std::sort 时将 const 作为 'this' 参数错误传递

python替换为捕获组

ubuntu - 即使有较新的证书,我也可以使用未过期的letsencrypt证书吗?

linux - 为文件夹中的许多文件添加编号前缀

video - 使用 ffmpeg 搜索电影原子