Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt C++;视频库_C++_Qt - Fatal编程技术网

C++ Qt C++;视频库

C++ Qt C++;视频库,c++,qt,C++,Qt,我正在寻找Qt 4(C++/Windows)的视频库,该库具有: 1)基本视频播放功能 它应该播放所有常见的视频格式,如DVD VOB和MP4/MKV/AVI(h264、xvid、divx)。它还应该能够自动逐行扫描视频,并以显示纵横比显示 2)裁剪 它应该具有一些基本功能来删除黑条(用户提供的参数) 3)快照 它应该具有在内存中拍摄快照的功能 4)逐帧搜索 它应该具有一些基本功能来逐帧搜索,例如prevFrame()、nextFrame()、jumpTo(frame)和getNumFrames

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

1)基本视频播放功能

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

2)裁剪

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

3)快照

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

4)逐帧搜索

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


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

Qt声子:

  • 对。播放所有需要的格式并正确显示
  • 没有
  • 否。未实现(返回空图像)
  • 没有
  • qtfmpegwrapper:

  • 部分的。不逐行扫描DVD VOB。不在DAR中显示DVD VOB
  • 没有
  • 部分的。为MKV(h264)而损坏 Qt VLC:

  • 对。播放所有需要的格式并正确显示
  • 对。不过,我还没有尝试过它是否有效
  • 部分的。仅限于磁盘编辑:QPixmap::grabWindow(播放器->视频小部件()->winId())工作正常
  • 不,只有毫秒
  • 现在我看的是QVision,它似乎拥有除裁剪之外的所有这些功能。也许种植作物并不难。但是我想知道是否还有其他的图书馆我应该去看看?或者也许我错过了一些东西,而这些库中的一个是可能的。谢谢。

    你可以从VisuSoCo中考虑。我没有看到他们的网站上提到过裁剪,但内存快照和逐帧步骤都是受支持的功能


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

    压缩视频中实际上不存在帧。当您指定帧速率时,从毫秒偏移量计算将非常容易。@capelical如果该方法使用帧间压缩,而不仅仅是“逐帧搜索”,则“压缩视频中实际上不存在帧”,尤其是prevFrame()不可能适用于所有视频序列。这对于所有帧内(I帧)都是好的,但是对于大多数库中的P或B帧(帧的依赖关系),这是困难的或不可能的。(除非您自己制作缓存。但是如果缓存太大,则会出现内存大小问题)