반응형
AVI 정리
-------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------
RIFF 필드
'RIFF' 4bytes로 시작을 한다
size RIFF Chunk Size 4bytes
'AVI ' avi파일임을 나타낸다.
-------------------------------------------------------------------------------------------------------------------
'RIFF' 4bytes로 시작을 한다
size RIFF Chunk Size 4bytes
'AVI ' avi파일임을 나타낸다.
-------------------------------------------------------------------------------------------------------------------
--RIFF필드아래에 여러개의 LIST를 가질수가 있음
--이 LIST들을 통해 data와 정보 기타여러가지를
--저장할수 있다.
-------------------------------------------------------------------------------------------------------------------
--이 LIST들을 통해 data와 정보 기타여러가지를
--저장할수 있다.
-------------------------------------------------------------------------------------------------------------------
LIST hdrl
'LIST' 4bytes로 LIST임을 나타내고 있다.
size 4bytes로 이 LIST의 size를 나타낸다.
'hdrl' 4bytes hdrl청크는 아래에 avih, LIST strl을 가질수 있다.
-------------------------------------------------------------------------------------------------------------------
'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
-------------------------------------------------------------------------------------------------------------------
'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을 나타낸다.
-------------------------------------------------------------------------------------------------------------------
'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을 쓰면 된다.
'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)
-------------------------------------------------------------------------------------------------------------------
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 팔레트 정보(-----------------)사용안해도 됨(압축된 영상을 사용할것임!!!!!)
-------------------------------------------------------------------------------------------------------------------
'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을 나타낸다.
-------------------------------------------------------------------------------------------------------------------
'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)
-------------------------------------------------------------------------------------------------------------------
'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)
-------------------------------------------------------------------------------------------------------------------
'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가 연속적으로 들어 있다.
.....
.....
-------------------------------------------------------------------------------------------------------------------
'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)
......
......
...... 위 정보가 계속적으로 들어간다.
......
-------------------------------------------------------------------------------------------------------------------
'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)
......
......
...... 위 정보가 계속적으로 들어간다.
......
-------------------------------------------------------------------------------------------------------------------
반응형
'멀티미디어' 카테고리의 다른 글
Augmented Reality ARToolkit Tutorials (2) | 2009.09.11 |
---|---|
Gstreamer, pygst, gst-python (0) | 2009.06.15 |
pygst, python-gst, gst-python, python gstreamer, gstreamer (0) | 2009.06.14 |