在mpeg4ip(好像VLC也有)开源项目中看到一个工具:libavi,可以读写avi格式的音视频数据:
可以直接用.h 和 .cpp 添加到工程中。
最简单的方法就是:直接用mpeg4ip工程中编译好的lib文件和.h文件(在VC6以上版本应用);
例子如下:
1:读文件:获取AVI文件中相关信息和制定位置图像:
#include "avilib.h"
#pragma comment(lib,"libavi.lib")
void Ctmfc1Dlg::OnBnClickedGetInformation()
{
// TODO: 在此添加控件通知处理程序代码
avi_t * avi;
avi = AVI_open_input_file("G:\\t.avi",1);
long Len = 0;
char * pVideoBuf = new char[ avi->video_index->len ];
AVI_read_data( avi, pVideoBuf, avi->video_index->len, 0,0, &Len ); //获取视频图像数据,当然也可也获取音频数据;
YFileTool YFileToolobj;
YFileToolobj.create_bmp( "G:\\testget.bmp", (LPBYTE)pVideoBuf, avi->width, avi->height );
}
2:写文件:文件写下去后不可播放,再研究;