c++ - Qt C++ 视频库

标签 c++ qt

我正在寻找 Qt 4 (C++/Windows) 的视频库,它具有:

1) 基本视频播放功能

它应该可以播放所有常见的视频格式,例如 DVD VOB 和 MP4/MKV/AVI(h264、xvid、divx)。它还应该能够自动去隔行扫描视频并以显示纵横比显示它。

2)裁剪

它应该有一些基本的功能来删除黑条(用户提供的参数)。

3) 快照

它应该具有在内存中拍摄快照的功能。

4)逐帧搜索

它应该有一些基本的功能来进行逐帧搜索,例如prevFrame()、nextFrame()、jumpTo(frame) 和 getNumFrames()。


我尝试了以下方法,并从中找到了它们支持的功能:

Qt 声子:

  1. 是的。播放所有需要的格式并正确显示它们。
  2. 没有。
  3. 没有。未实现(返回空图像)。
  4. 没有。

QtFFmpegWrapper:

  1. 部分。不去隔行扫描 DVD VOB。不在 DAR 中显示 DVD VOB。
  2. 没有。
  3. 是的。
  4. 部分。 MKV (h264) 损坏。

Qt VLC:

  1. 是的。播放所有需要的格式并正确显示它们。
  2. 是的。还没有尝试过它是否有效。
  3. 部分。只到磁盘。 编辑: QPixmap::grabWindow(player->videoWidget()->winId()) 有效。
  4. 没有。仅以毫秒为单位。

现在我正在研究 QVision,它似乎具有除裁剪之外的所有这些功能。也许实现裁剪并不那么困难。但是我想知道我是否应该研究其他任何图书馆?或者,也许我错过了一些东西,而这些库中的一个是可能的。谢谢。

最佳答案

可以考虑Movie Player Gold SDK ActiveX 3.6来自 ViscomSoft。我没有在他们的网站上看到裁剪,但内存快照和逐帧步骤是受支持的功能。

我在 Windows Qt 软件中使用了他们的 VideoEdit 和 Screen2Video SDK,效果很好。

关于c++ - Qt C++ 视频库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13539609/

相关文章:

c++ - 为什么enable_shared_from_this必须公开继承?

c++ - 构建 C++ CLR 托管 DLL

c++ - Ruby vs Lua 作为 C++ 的脚本语言

multithreading - Qt:使用线程和信号/槽时 GUI 有时会卡住

qt - 如何让我的 QMainWindow 始终在桌面内?

qt - PyQt:使用 alpha channel 而不是预乘颜色 channel 创建 QPixmap

c++ - 在中型项目中 CMake 的最佳方式是什么?

c++新手-pthread将其状态提供给另一个pthread

c++ - 如何转换此日期 :2011-02-10T07:18:04+0000 to unix timestamp in Qt

qt - 像设计师一样从应用程序编辑 QML 属性