有没有适用于C++的跨平台视频播放库?

3
我主要使用Qt库进行编码,这个库是跨平台的,能够满足我的需要。然而,我发现如果我想播放视频文件,没有好的跨平台视频播放选项。Phonon模块在我的机器上似乎无法工作,而且我不确定它是否被支持在主要平台(Windows,OSX,Linux)。
是否有任何简单视频播放的轻量级替代品?只要它可跨平台播放,我可以将我的视频更改为任何格式。
4个回答

1

我正在考虑使用libVLC作为其中一个选项。有人已经制作了包装器,但它只支持Windows和Linux。


“wrapper”库恰好是GPL代码...如果您打算将此包装器用于商业目的,或者在选择分发时不打算在GPL下发布其代码,请小心,因为GPL要求这样做... - user1055604

1

我发现Theora播放库非常有用,且仅依赖于原始的Theora库。这里是一个简单的Qt项目,它封装了播放(仅视频)Theora媒体所需的一切。只需键入“qmake”,您就可以开始使用了。


0

根据文档,Phonon似乎需要第三方库才能正常工作。您是否已经在所在平台上安装了适当的后端?

来自文档

后端

多媒体功能不是 Phonon 本身实现的,而是通过一个后端(通常也称为引擎)来实现。这包括连接、管理和驱动底层硬件或中间技术。对于程序员来说,这意味着媒体节点,如媒体对象、处理器和汇聚器是由后端产生的。同时,它还负责构建图形,即连接节点。 Qt 的后端使用 Windows 上的 DirectShow(需要 DirectX),Mac 上的 QuickTime 和 Linux 上的 GStreamer 媒体系统。 在不同平台上提供的功能取决于这些基础系统,并且可能略有不同,例如支持的媒体格式。

后端公开了关于底层系统的信息。它可以告诉我们支持哪些媒体格式,例如 AVI、mp3 或 OGG。

用户通常可以通过安装 DivX 编解码器等方式向底层系统添加对新格式和过滤器的支持。因此,我们无法给出 Qt 后端可用格式的确切概述。


我在另一台机器上尝试了Phonon,它直接工作了。我认为坏掉的机器有音频设备问题。不过,我想我会在更多的设备上尝试并观察。 - ennetws

0

QtWebKit 2.2支持HTML5媒体。它应该(至少最终)非常跨平台,但可能有与Phonon相同的后端问题。但是,使用<video>元素的Q(Graphics)WebView可以为真正的播放和忘记解决方案提供帮助。


你有在不同平台上尝试过吗?我会试一试看会发生什么。我的另一个选择是'libvlc'。我找到了一个库'VLC-Qt',但还没有尝试过。 - ennetws

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接