我正在寻找一个视频库的Qt 4(C++/Windows)上有:Qt的C++视频库
1)基本视频的播放功能
应该播放所有常见的视频格式如DVD VOB和MP4/MKV/AVI(h264,xvid,divx)。它还应该能够自动对视频进行隔行扫描,并以显示宽高比显示。
2)裁剪
它应该有一些基本的功能,以除去黑条(用户提供的参数)。
3)快照
它应具有的功能拍摄快照在存储器中。
4)一帧一帧求
它应该有一些基本的功能做帧接一帧求,例如prevFrame(),nextFrame(),jumpTo(frame)和getNumFrames()。
我曾尝试以下,从我能找到他们所支持的功能:
Qt的声子:
- 是。播放所有需要的格式并正确显示。
- 编号
- 编号未执行(返回空图像)。
- 号
QtFFmpegWrapper:
- 部分。不会对DVD VOB进行隔行扫描。不在DAR中显示DVD VOB。
- 第
- 是的。
- 部分。损坏为MKV(h264)。
Qt的VLC:
- 是。播放所有需要的格式并正确显示。
- 是的。如果它能正常工作,还没有尝试过。
- 部分。仅限于磁盘。 编辑: QPixmap :: grabWindow(player-> videoWidget() - > winId())的作品。
- 不,只有毫秒。
现在我正在寻找QVision,它似乎具有除裁剪之外的所有功能。也许实施裁剪并不困难。但是我想知道是否还有其他库我应该看看?或者也许我错过了一些东西,而且他们有可能使用这些库中的一个。谢谢。
一个帧在压缩视频中并不存在。当您指定帧速率时,以毫秒为单位的偏移量将非常容易。 – CapelliC
@CapelliC *“一帧实际上并不存在于压缩视频中”* **如果该方法使用帧间压缩,而不是[帧内](http://en.wikipedia.org/wiki /帧内) – HostileFork
'逐帧搜索'特别是prevFrame()对所有的视频序列都是不可能的。对于所有内部帧(I帧)来说都很好,但对于大多数库中的P或B帧(帧的依赖性)来说很难或不可能。 (除非你自己让你自己缓存,但如果缓存太大,会有内存大小问题) – Eric