블로그 > 무제
http://blog.naver.com/jebaboo/14496077제가 예전에 답변 올린것을 다시 가져옵니다.
MCI를 이용하는 법은 잘 모르겠고요.
vfw(video for window)를 이용하면 avi 파일을 한 프레임씩 얻어 내는 것이
가능합니다.
video for windows의 함수들을 보면..
AVIStreamGetFrame(pget, pos) 이란 함수가 있습니다 이 함수를 쓰시면 될듯.
첨에 헤더에..
PAVISTREAM pVideoStream;
PAVIFILE pfile;
PGETFRAME pget;
AVIFILEINFO pfi;
LPBITMAPINFOHEADER lpbi;
라고 쓰시고
***************************************************************************
AVIFileInit();
AVIFileOpen(&pfile, avifilename, OF_READ, 0L); //avifilename은 열고자 하는 avi파일 이름
AVIFileGetStream(pfile, &pVideoStream, streamtypeVIDEO, 0);
pget = AVIStreamGetFrameOpen(pVideoStream, NULL);
lpbi=(LPBITMAPINFOHEADER)AVIStreamGetFrame(pget, pos);
AVIStreamGetFrameClose(pget);
AVIStreamRelease(pVideoStream);
AVIStreamClose(pVideoStream);
AVIFileExit();
*****************************************************************************************
lpbi=(LPBITMAPINFOHEADER)AVIStreamGetFrame(pget, pos);
함수의 리턴은 프레임 데이터의 포인터인데 프레임데이터는 DIB 형태로 되어 있기 때문에 원하시는 비트맵 화일로 저장 하실 수 있을 겁니다.
그럼 문제 생기시면 연락 주셔요.