从.avi抓取帧
|
我试图从.avi文件中抓取单个帧(并最终获取音频)。最终,我想创建一个JNI绑定的库,该库允许我用Java打开.avi文件,但现在我正在使用本机win32 C ++。
我一直在用这种方法把头撞在墙上,尝试了VFW,它几乎不能用于较旧的视频,但是它断然拒绝给我任何最新视频的框架。我辞职了,以为VFW很老。
在尝试DirectShow时,我几乎找不到有关如何支持它的文档,并且收看一些文章说,由于其流式传输的特性,它在单个帧抓取中很烂。
然后我发现ffmpeg甚至不支持Visual Studio。
Java的JMF已经过时了,并且在新世纪似乎也完全不受支持,并且也没有很好的教程。
谁能指出我与编解码器无关的.avi解码器解决方案的方向?最好是本机或Java,但我想我可以尝试对.NET进行改造,如果它确实可用的话。
没有找到相关结果
已邀请:
2 个回复
逆捐凶撤小
淑灯
#定义_VPLAYER_H_ #包括 #包括 #包括 #include \“ cv.h \” #include \“ highgui.h \” VPlayer类{ 上市: VPlayer(); 〜VPlayer(); 私人的:
上市: int高度; int宽度; int fps; int numFrames; 双重CodecCode; 上市:
}; #万一 .cpp文件 #include \“ stdafx.h \” #include \“ VideoPlayer_PB_1.h \” bool VPlayer :: LoadVideo(char * fname){
} VPlayer :: VPlayer(){ pAvi = 0; pFrame = 0; } VPlayer ::〜VPlayer(){
} 无效VPlayer :: GetFrame(int FrameNo){
} 无效VPlayer :: GetImage(IplImage *&pOutBuffer){
} 无效VPlayer :: GetProperties(){ if(pAvi){ cvQueryFrame(pAvi); //此调用对于获取正确的捕获属性是必需的
}