AVI 정리

멀티미디어 : 2009. 9. 8. 14:40
반응형
AVI 정리
-------------------------------------------------------------------------------------------------------------------
RIFF 필드
'RIFF'   4bytes로 시작을 한다
size  RIFF Chunk Size 4bytes
'AVI '  avi파일임을 나타낸다.
-------------------------------------------------------------------------------------------------------------------
--RIFF필드아래에 여러개의 LIST를 가질수가 있음
--이 LIST들을 통해 data와 정보 기타여러가지를
--저장할수 있다.
-------------------------------------------------------------------------------------------------------------------
     LIST hdrl
    'LIST'  4bytes로 LIST임을 나타내고 있다.
    size  4bytes로 이 LIST의 size를 나타낸다.
    'hdrl'  4bytes hdrl청크는 아래에 avih, LIST strl을 가질수 있다.
-------------------------------------------------------------------------------------------------------------------
        avih : avi파일에 필요로 하는 기본적인 요소를 저장하고 있음
        'avih'    4bytes의 문자열로 avih시작임을 알리고 있다.
        size   4bytes size크기로 avih사이즈를 나타내고 있다.
        MicorSecPerFrame 프래임을 ms로 나타낸다.(4bytes)
        Max Transfer Rate  최대 bitrate를 나타낸다.(4bytes)
        Reserved  4bytes
        Flag   지정된 정보를 포함함.(4bytes)
        Total Frames  이 avi파일에 저장된 frame수를 말한다.(4bytes)
        Initial Frames  Inerleaved된 데이터 전의 프레임수를 말한다.(4bytes)???
        Stream   이 avi에 포함된 Stream갯수를 말한다.(video 1개 오디오 1개)(4bytes)
        Buffer Size  디코딩에 필요로 하는 Buffer Size(4bytes)
        Width   이미지 가로(4bytes)
        Height   이미지 세로(4bytes)
        Reserved  16bytes
-------------------------------------------------------------------------------------------------------------------
        LIST strl : Video와 Audio에 대한 정보를 저장할수 있다.
        'LIST'   4bytes의 문자열로 LIST시작임을 알리고 있다.
        size   4bytes List에 대한 size
        'strl'   4byte의 문자열로 List Type을 나타낸다.
-------------------------------------------------------------------------------------------------------------------
--Video
-------------------------------------------------------------------------------------------------------------------
            strh : stream Header의 약자이다.(video 먼저)
            'strh'   4bytes문자열로 strh의 시작임을 나타내고 있다.
            size   4bytes size크기로 strh의 사이즈 크기를 나타내고 있음.
            Type   'vids' : video 'auds' : audio 의 식별자이다.(4bytes)
            Codec   이 avi에서 사용된 codec을 나타낸다.(ex 'xvid' : xvid)(4bytes)
            Flag   지정된 정보를 포함할수 있다.(4bytes)
            Priority  우선순위(?)(4bytes)
            Language  언어(?)(4bytes)
            Inital Frames  Interleaved 된 데이터 전의 프레임수를 말한다.(4bytes)
            Scale   이 Avi파일에 사용된 Scale이다.(4bytes)
            Rate   한프레임에 대한 Rate이다. 만약 23.977frame rate를 가지면 24977을 쓰면 된다.
                      (4bytes)
            Start of Stream  시작 위치를 나타낸다(4bytes)
            length   스트림의 길이를 나타낸다(4bytes)
            Buffer size  Buffer Size를 나타낸다.(4bytes)
            Quality   data Quality를 나타낸다.(default : 0xffffffff)(4bytes)
            Sample Size  이미지 사이즈를 나타낸다.(default : 0x0)(4bytes)
            left   비디오 사각위치의 좌측(2bytes)
            top   비디오 사각위치의 위쪽(2bytes)
            right   비디오 사각위치의 오른쪽(2bytes)
            bottom   비디오 사각위치의 아래쪽(2bytes)
-------------------------------------------------------------------------------------------------------------------
            strf : stream format의 약자이다.
            'strf'   4bytes문자열로 strf의 시작임을 나타내고 있다.
            size   4bytes size로 strf의 사이즈를 나타내고 있다.
            size   Bitmapinfo 구조체 크기(4bytes)
            Width   이미지 가로 크기(4bytes)
            Height   이미지 세로 크기(4bytes)
            Planes   플레인수 (default : 1)(4bytes)
            Bits per pixel  픽셀 정보(24bpp이면 24를 쓰면 됨)(4bytes)
            Compression Type 영상 압축 코덱의 종류(4bytes)
            Size Image  이미지의 데이터 크기, 압축 데이터이면 buffer 크기(4bytes)
            x pixel per meter x의 미터당 픽셀수(4bytes)
            y pixel per meter y의 미터당 픽셀수(4bytes)
            color used  사용된 컬러(0 : all)(4bytes)
            color index  컬러 인덱스(4bytes)
            color   팔레트 정보(-----------------)사용안해도 됨(압축된 영상을 사용할것임!!!!!)
-------------------------------------------------------------------------------------------------------------------
        LIST strl : Video와 Audio에 대한 정보를 저장할수 있다.
        'LIST'   4bytes의 문자열로 LIST시작임을 알리고 있다.
        size   4bytes List에 대한 size
        'strl'   4byte의 문자열로 List Type을 나타낸다.
-------------------------------------------------------------------------------------------------------------------
--Audio
-------------------------------------------------------------------------------------------------------------------
            strh : stream Header의 약자이다.
            'strh'   4bytes문자열로 strh의 시작임을 나타내고 있다.
            size   4bytes size크기로 strh의 사이즈 크기를 나타내고 있음.
            Type   'vids' : video 'auds' : audio 의 식별자이다.(4bytes)
            Codec   이 avi에서 사용된 codec을 나타낸다.(0 : pcm)
            Flag   지정된 정보를 포함할수 있다.(4bytes)
            Priority  우선순위(?)(4bytes)
            Language  언어(?)(4bytes)
            Inital Frames  Interleaved 된 데이터 전의 프레임수를 말한다.(4bytes)
            Scale   이 Avi파일에 사용된 Scale이다.(4bytes)
            Rate   한프레임에 대한 Rate이다. 
            Start of Stream  시작 위치를 나타낸다(4bytes)
            length   스트림의 길이를 나타낸다(4bytes)
            Buffer size  Buffer Size를 나타낸다.(4bytes)
            Quality   data Quality를 나타낸다.(default : 0xffffffff)(4bytes)
            Sample Size  이미지 사이즈를 나타낸다.(default : 0x0)(4bytes)
            left   비디오 사각위치의 좌측(2bytes)
            top   비디오 사각위치의 위쪽(2bytes)
            right   비디오 사각위치의 오른쪽(2bytes)
            bottom   비디오 사각위치의 아래쪽(2bytes)
-------------------------------------------------------------------------------------------------------------------
            strf : stream format의 약자이다.
            'strf'   4bytes문자열로 strf의 시작임을 나타내고 있다.
            size   4bytes size로 strf의 사이즈를 나타내고 있다.
            Format Tag  오디오 압축 코덱(0x40 : G.721, 0x64 : G.726, 0x1:pcm(?))(2bytes)
            Channels  오디오 채널 수 (2bytes)
            Sample Rate  오디오 샘플 레이트(4bytes)
            Average per Ser  1초동안 처리되어지는 오디오 크기(byte단위)(4bytes)
            block Alignent  데이터 처리의 기본이 되는 크기(2bytes)
            Bit Per Sample  하나를 표현하는데 필요한 비트수(2bytes)
-------------------------------------------------------------------------------------------------------------------
    LIST movi : 실제 데이터를 가지고 있는 LIST
    'LIST'  4bytes 문자열로 LIST의 시작임을 나타낸다.
    size  이 LIST의 size를 나타낸다.(4bytes)
    'movi'  이 LIST의 TYPE이 movi임을 나타낸다.(4bytes)
    '01wb'  audio데이터임을 나타낸다.(4bytes)
    size  이프레임의 size를 나타낸다.(4bytes)
    data  위 size만큼 audio데이터가 들어 있다.
    '00dc'  video데이터임을 나타낸다.(4bytes)
    size  이프레임의 size를 나타낸다(4bytes)
    data  위 size만큼 video데이터가 들어 있다.
    .....
    .....  위 '01wb' size data '00dc' size data가 연속적으로 들어 있다.
    .....
    .....
-------------------------------------------------------------------------------------------------------------------
    idx1 : 프레임의 위치를 알아볼수 있다.
    'idx1'  4bytes의 문자열로 idx1의 시작임을 나타낸다.
    size  idx1의 사이즈를 나타낸다.(4bytes)
    '01wb'  audio임을 나타낸다.(4bytes)
    Flag  프레임의 특성을 나타낸다.(4bytes)
    Offset  이프레임의 위치를 나타낸다(4bytes)
    size  이프렘의 size를 나타낸다.(4bytes)
    '00dc'  video임을 나타낸다.(4bytes)
    Flag  프레임의 특성을 나타낸다.(4bytes)
    Offset  이프레임의 위치를 나타낸다(4bytes)
    size  이프렘의 size를 나타낸다.(4bytes)
        ......
    ......
    ......  위 정보가 계속적으로 들어간다.
    ......
-------------------------------------------------------------------------------------------------------------------
반응형
Posted by Real_G