适用于 C++ 的任何跨平台视频播放库

Any cross-platform video playback library for c++?

本文关键字:视频 播放 跨平台 任何 C++ 适用于      更新时间:2023-10-16

我主要使用Qt库进行编码,该库的跨平台足以满足我的需求。但是,我发现如果我想播放视频文件,则跨平台视频播放没有好的选择。Phonon模块似乎在我的机器上不起作用,我不确定它是否在主要平台(Windows,OSX,Linux(上受支持。

他们是否有任何用于简单视频播放的轻量级替代品?我可以将我的视频更改为任何格式,只要它是可跨平台播放的。

我正在考虑将libVLC作为一种选择。有人已经做了一个包装器,但它只支持Windows和Linux。

我发现 Theora 播放库非常有用,只依赖于原始的 theora 库。这是我制作的一个简单的Qt项目,它封装了播放(仅视频(理论媒体所需的一切。你只需输入"qmake",你就可以开始了。

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

从文档中:

后端

多媒体功能不是由Phonon本身实现的,而是 后端 - 通常也称为引擎。这包括 连接、管理和驱动底层硬件,或 中间技术。对于程序员来说,这意味着 生成媒体节点,例如媒体对象、处理器和接收器 由后端。此外,它还负责构建图形,即 连接节点。Qt的后端使用媒体系统 Windows上的DirectShow(需要DirectX(,Mac上的QuickTime和 GStreamer on Linux.不同 平台依赖于这些底层系统,并且可能会有所不同 有些,例如,在支持的媒体格式中。

后端公开 有关基础系统的信息。它可以分辨哪些媒体 支持格式,例如 AVI、mp3 或 OGG。

用户通常可以添加 支持底层系统的新格式和过滤器,由、为 实例,安装 DivX Codex。因此,我们不能给出 Qt后端可用的格式的确切概述。

QtWebKit 2.2支持HTML5媒体。它应该(至少最终(是跨平台的,但可能具有与Phonon相同的后端问题。但是,具有<video>元素的Q(Graphics)WebView可以做到真正的"一劳永逸"解决方案。