안녕하세요. 거리입니다.
델파이로 이것저것 만들어 보는데 재미를 붙여서
여러가지 시도는 해보지만 기초의 부족으로 금방 열정이 식어버린곤 합니다.ㅡㅡ;;
다운 받은 프로그램 중에서 avi파일의 정보를 알아오는 프로그램이 있어서
델파이로 구현하려고 이곳저곳 소스 / 정보를 찾아봤지만
avi파일에 관한건 델로 만들어 진게 없는것 같네요.
그래서 어떻게 접근하는지 개념을 얻고 싶어 질문을 올립니다.
아래는 프로그램에서 동영상을 선택하면 나오는 정보입니다.
제가 구현하고 싶은것도 이것이죠..^^
-------------------------------------------------------------------------
파일명 : jji-Red.Planet.ac3.cd2.avi
=======================================================
* 파일 정보
실제 파일의 크기 : 729,927,680 바이트(696.1MB)
파일 데이터 크기 : 729,927,554 바이트(696.1MB)
재생시간 : 00:55:42 (3,342 초)
평균 데이타 전송률 : 218 KCPS (1,744 kbps)
제작툴 : Nandub v1.0rc2
* 영상 정보
프레임 속도 : 24 프레임/초
평균 비트 전송률 : 1,360 kbps
크기 (비율) : 640 x 272 ( 2.35 : 1 )
압축 코덱 (FourCC) : DivX MPEG-4 V3.xx Low motion codec(div3)
* 소리 정보
비트 전송률 : 384 kbps
샘플 비율 : 48,000 Hz
음악 채널 수 : 5
압축 코덱 : AC3(DVM - FAST Multimedia AG)
* 기타 정보
AVI 파일 속성 : 인덱스있음 AVIF_ISINTERLEAVED
인덱스 정보 : 정상/전체프레임-80130/키프레임-637
FIA 변환 여부 : 변환안됨(보통)
키프레임 정보 : VKI (평균:5.3초 표준편차:2.6초 최대:12.5초)
---------------------------------------------------------------------------
그래서 avi파일의 헤더 정보에서 알아온다는것 까진 알았는데
그 다음부터 어떻게 해야할지 막막하네요.
아래는 avi파일의 헤더라고 하네요..
typedef struct {
DWORD dwMicroSecPerFrame;
DWORD dwMaxBytesPerSec;
DWORD dwReserved1;
DWORD dwFlags;
DWORD dwTotalFrames;
DWORD dwInitialFrames;
DWORD dwStreams;
DWORD dwSuggestedBufferSize;
DWORD dwWidth;
DWORD dwHeight;
DWORD dwScale;
DWORD dwRate;
DWORD dwStart;
DWORD dwLength;
} MainAVIHeader;
typedef struct {
FOURCC fccType;
FOURCC fccHandler;
DWORD dwFlags;
DWORD dwReserved1;
DWORD dwInitialFrames;
DWORD dwScale;
DWORD dwRate;
DWORD dwStart;
DWORD dwLength;
DWORD dwSuggestedBufferSize;
DWORD dwQuality;
DWORD dwSampleSize;
} AVIStreamHeader;
typedef struct {
DWORD ckid;
DWORD dwFlags;
DWORD dwChunkOffset;
DWORD dwChunkLength;
} AVIINDEXENTRY;
typedef struct {
BYTE bFirstEntry;
BYTE bNumEntries;
WORD wFlags;
PALETTEENTRY peNew;
} AVIPALCHANGE;