[IT Trend]/VoIP/VOD/IPTV/IMS

AVI Format

하늘을닮은호수M 2007. 1. 30. 13:56
반응형

출처 : http://www.wotsit.org/search.asp

AVI Files

Microsoft Audio/Video Interleaved(AVI) 파일 포맷은 오디오/비디오 시퀀스들을 캡처, 편집, 재생하는 어플리케이션에서 사용되는 RIFF 파일 스펙이다. 일반적으로, AVI 파일은 다른 종류로된 데이터의 스트림들을 가지고 있다. 대부분의 AVI 시퀀스는 오디오 스트림과 비디오 스트림 둘다를 사용할 것이다. AVI 시퀀스의 간단한 응용은 오디오 스트림을 가지고 있지 않은 비디오 데이터이다. 특별한 AVI 시퀀스는 추가적인 데이터 스트림으로 콘트롤 트랙 혹은 MIDI 트랙을 가질 것이다. 콘트롤 트랙은 MCI 비디오디스크 재생기와 같은 외부장치를 제어할 수 있다. 특정한 시퀀스는 이러한 모든 기능을 가지는 특정한 제어 프로그램을 필요로하지만 AVI 시퀀스를 읽고 재생할 수 있는 어플리케이션은 특정한 파일로 된 AVI 시퀀스를 읽고 재생할 수 있다. (이러한 어플리케이션은 특정한 파일에서 non-AVI 데이터를 무시한다.) 이번 장은 오직 오디오 데이터와 비디오 데이터만을 가지고 있는 AVI 파일에 대해서 설명한다.

이번 장은 다음의 주제를 다룬다:

. AVI 파일의 필수 chunk

. AVI 파일의 선택적인 chunk

. AVI 파일을 작성하기 위한 개발 루틴

RIFF 파일에 대한 자세한 정보는 Microsoft Windows Multimedia Programmer's Guide와 Microsoft Windows Multimedia Programmer's Reference를 보라.

인스톨 가능한 압축기와 해제기에 대한 추가적인 정보는 10장 "Video Compression and Decompression Drivers를 보라.

AVI RIFF Form

AVI 파일은 AVI RIFF 형태를 사용한다.

Data Structures for AVI Files

RIFF chunk에서 사용되는 데이터 구조는 AVIFMT에 정의되어 있다.

The Main AVI Header LIST

AVI 파일은 메인 헤더로 시작한다. AVI 파일에서 "avih" 네 글자로 식별된다.

The Stream Header ("strl") Chunks

메인 헤더뒤에는하나 이상의 "strl" chunk가 있다.("strl" chunk는 각 데이터 스트림에 필요하다.)

The LIST "movi" Chunk

다음의 헤더 정보는 스트림에서 실제 데이터의 chunk를 담고 있는 LIST "movi" chunk이다.

The "idx1" Chunk

AVI 파일은 LIST "movi" chunk 뒤에 인덱스 chunk를 가지고 있다.

Other Data Chunks

AVI 파일의 데이터를 정렬할 필요가 있다면 "JUNK" chunk를 추가할 수 있다.

Special Information for Interleaved Files

CD-ROM으로부터 재생을 위해 interleave 된 파일은 특별한 처리가 필요하다.

Using VidEdit With AVI Files

VidEdit는 디지털 오디오 데이터와 비디오 데이터를 담고 있는 프레임들로 구성된 audio-visual 시퀀스를 생성하고 편집하는 기능을 제공한다.

Example Code for Writing AVI Files

WRITEAVI.C와 AVIEASY.C 파일은 AVI 파일을 작성하는 예제 코드를 담고 있다.

An Outline for Writing AVI Files

다른 RIFF 파일들 처럼, AVI 파일은 mmioOpen, mmioCreateChunk, mmioWrite, mmioAscend, mmioClose 함수를 통해서 생성된다.

Creating the File and "AVI" Chunk

"AVI" chunk는 파일의 첫번째chunk이다.

Creating the LIST "hdrl" and "avih" Chunks

LIST "hdrl" chunk는 stream format header chunk를 담고 있다.

Creating the "strl", "strh", "strf", "strd" Chunks

"str", "strh", "strf", "strd" chunk는 완전한 chunk로서 작성된다.

Creating the LIST "movi" and "rec" Chunks

...

Creating the "idx1" Chunk and Ascending From the "AVI" Chunk

...

AVI RIFF File Reference

...

AVIINDEXENTRY

...

AVIPALCHANGE

...

AVIStreamHeader

...

MainAVIHeader

...

반응형