【发布时间】:2012-05-04 03:57:54
【问题描述】:
我主要使用 Qt 库进行编码,它的跨平台足以满足我的需要。但是,我发现如果我想播放视频文件,则没有很好的跨平台视频播放选项。 Phonon 模块似乎无法在我的机器上运行,我不确定主要平台(Windows、OSX、Linux)是否支持它。
是否有任何用于简单视频播放的轻量级替代品?我可以将我的视频更改为任何格式,只要它可以跨平台播放。
【问题讨论】:
标签: c++ qt video playback phonon
我主要使用 Qt 库进行编码,它的跨平台足以满足我的需要。但是,我发现如果我想播放视频文件,则没有很好的跨平台视频播放选项。 Phonon 模块似乎无法在我的机器上运行,我不确定主要平台(Windows、OSX、Linux)是否支持它。
是否有任何用于简单视频播放的轻量级替代品?我可以将我的视频更改为任何格式,只要它可以跨平台播放。
【问题讨论】:
标签: c++ qt video playback phonon
我正在考虑将 libVLC 作为一种选择。已经有人发了wrapper,但是只支持Windows和Linux。
【讨论】:
wrapper 库恰好是 GPL 代码...如果您打算将此包装用于商业目的,或者当您选择分发时不打算在 GPL 下发布它的代码,请小心它,正如 GPL 要求的那样......
我发现Theora playback library 非常有用,并且只依赖于原始的 theora 库。 Here 是我制作的一个简单的 Qt 项目,它封装了播放(仅视频)theora 媒体所需的一切。您只需输入“qmake”即可。
【讨论】:
根据文档显示,Phonon 需要第三方库才能正常工作。您是否为您所在的平台安装了适当的后端?
后端
多媒体功能不是由 Phonon 自己实现的,而是 通过后端 - 通常也称为引擎。这包括 连接、管理和驱动底层硬件或 中间技术。对于程序员来说,这意味着 产生媒体节点,例如媒体对象、处理器和接收器 在后端。此外,它还负责构建图形,即 连接节点。 Qt 的后端使用媒体系统 Windows 上的 DirectShow(需要 DirectX)、Mac 上的 QuickTime 和 Linux 上的 GStreamer。 平台依赖于这些底层系统,并且可能会有所不同 在某种程度上,例如,在支持的媒体格式中。
后端暴露 有关底层系统的信息。它可以分辨出哪些媒体 支持格式,例如 AVI、mp3 或 OGG。
用户通常可以添加 支持底层系统的新格式和过滤器,by, for 例如,安装 DivX codex。因此我们不能给出一个 Qt 后端可用的格式的确切概述。
【讨论】:
QtWebKit 2.2 支持 HTML5 媒体。它应该(至少最终)是相当跨平台的,但可能与 Phonon 有相同的后端问题。但是带有<video> 元素的Q(Graphics)WebView 可以实现真正的即玩即忘解决方案。
【讨论】: