Audio Video Interleave
| Ðàñøèðåíèå |
|
|---|---|
| MIME |
|
| Ðàçðàáîòàí | |
| Òèï ôîðìàòà | |
| Ñîäåðæèò |
Àóäèî, Âèäåî |
Audio Video Interleave (ñîêðàù¸ííî AVI; áóêâ. «÷åðåäîâàíèå àóäèî è âèäåî») â RIFF-ìåäèàêîíòåéíåð, âïåðâûå èñïîëüçîâàííûé Microsoft â 1992 ãîäó â ïàêåòå Video for Windows.
Ôîðìàò ôàéëîâ ñ ðàñøèðåíèåì AVI ìîæåò ñîäåðæàòü âèäåî è àóäèî äàííûå, ñæàòûå ñ èñïîëüçîâàíèåì ðàçíûõ êîìáèíàöèé êîäåêîâ, ÷òî ïîçâîëÿåò ñèíõðîííî âîñïðîèçâîäèòü âèäåî ñî çâóêîì. AVI ôàéë ìîæåò ñîäåðæàòü ðàçëè÷íûå âèäû êîìïðåññèðîâàííûõ äàííûõ (íàïðèìåð, DivX â âèäåî + WMA â àóäèî èëè Indeo â âèäåî + PCM â àóäèî), â çàâèñèìîñòè îò òîãî, êàêîé êîäåê èñïîëüçóåòñÿ äëÿ êîäèðîâàíèÿ/äåêîäèðîâàíèÿ. Êàê è DVD, AVI ôàéëû ïîääåðæèâàþò ìíîãîïîòîêîâîå àóäèîâèäåî. AVI-ôàéëû ìîãóò ñîäåðæàòü ðàçëè÷íûå âèäû ñæàòûõ äàííûõ, ê ïðèìåðó DivX äëÿ âèäåîèíôîðìàöèè è MP3 äëÿ àóäèî.
Ñîäåðæàíèå |
[ïðàâèòü] Ôîðìàò ôàéëà
Âñå AVI ôàéëû âêëþ÷àþò â ñåáÿ äâà îáÿçàòåëüíûõ LIST chunk'à, êîòîðûå îïðåäåëÿþò ôîðìàò è äàííûå ïîòîêà. AVI ôàéëû ìîãóò òàêæå âêëþ÷àòü èíäåêñ chunk. Ýòîò äîïîëíèòåëüíûé chunk îïðåäåëÿåò ðàñïîëîæåíèå âèäåîäàííûõ â ôàéëå. Òèïè÷íàÿ ñòðóêòóðà AVI-ôàéëà:
RIFF ('AVI ' LIST ('hdrl' <çàãîëîâîê>) LIST ('movi' <âèäåî>) ['idx1' <èíäåêñ>])
[ïðàâèòü] LIST hdrl
Chunk, ñîäåðæàùèé çàãîëîâîê AVI ôàéëà è çàãîëîâêè ïîòîêîâ äàííûõ. Òèïè÷íàÿ ñòðóêòóðà:
LIST ('hrdl' 'avih' (<çàãîëîâîê AVI ôàéëà>) LIST ('strl' <çàãîëîâîê ïîòîêà 1>) LIST ('strl' <çàãîëîâîê ïîòîêà 2>) LIST ('odml' <ðàñøèðåííûé çàãîëîâîê AVI ôàéëà>))
[ïðàâèòü] Îñíîâíîé çàãîëîâîê ôàéëà
Ôàéë íà÷èíàåòñÿ ñ îñíîâíîãî çàãîëîâêà.  AVI ôàéëàõ, ýòîò çàãîëîâîê îïðåäåëÿåòñÿ chunk'îì ñ FOURCC 'avih'. Çàãîëîâîê ñîäåðæèò ãëîáàëüíóþ èíôîðìàöèþ äëÿ âñåãî ôàéëà, òàêóþ êàê ÷èñëî ïîòîêîâ â ôàéëå, øèðèíà è âûñîòà âèäåîïîòîêà. Îñíîâíîé çàãîëîâîê èìååò ñëåäóþùóþ ñòðóêòóðó:
typedef struct { DWORD dwMicroSecPerFrame; DWORD dwMaxBytesPerSec; DWORD dwReserved1; DWORD dwFlags; DWORD dwTotalFrames; DWORD dwInitialFrames; DWORD dwStreams; DWORD dwSuggestedBufferSize; DWORD dwWidth; DWORD dwHeight; DWORD dwReserved[4]; } MainAVIHeader;
dwMicroSecPerFrame -- îïðåäåëÿåò êîëè÷åñòâî ìèêðîñåêóíä ìåæäó êàäðàìè. Ýòî çíà÷åíèå îáùåå äëÿ âñåãî ôàéëà.
dwMaxBytesPerSec -- óêàçûâàåò ïðèìåðíóþ ìàêñèìàëüíóþ ñêîðîñòü ïåðåäà÷è äàííûõ ôàéëà. Ýòî çíà÷åíèå óêàçûâàåò êîëè÷åñòâî áàéò â ñåêóíäó, êîòîðûå ñèñòåìà äîëæíà îáðàáàòûâàòü.
dwFlags -- cîäåðæèò ïåðå÷åíü ñâîéñòâ âèäåîôàéëà. Äîïóñòèìû ñëåäóþùèå çíà÷åíèÿ:
| Ôëàã | Îïèñàíèå |
|---|---|
| AVIF_HASINDEX | Â ôàéëå ïðèñóòñòâóåò 'idx1' chunk. |
| AVIF_MUSTUSEINDEX | Óêàçûâàåò, ÷òî èíäåêñ, à íå ôèçè÷åñêîå ðàñïîëîæåíèå áëîêîâ â ôàéëå, äîëæíû áûòü èñïîëüçîâàíû, ÷òîáû îïðåäåëèòü ïîðÿäîê ïðåäñòàâëåíèÿ äàííûõ. |
| AVIF_ISINTERLEAVED | Óêàçûâàåò íà ÷åðåäîâàíèå àóäèî è âèäåî äàííûõ. |
| AVIF_WASCAPTUREFILE | |
| AVIF_COPYRIGHTED | Óêàçûâàåò, ÷òî ôàéë ñîäåðæèò çàùèùåííûå àâòîðñêèìè ïðàâàìè äàííûå è ïðîãðàììíîå îáåñïå÷åíèå. |
[ïðàâèòü] Çàãîëîâêè ïîòîêîâ
Çàãîëîâîê ïîòîêà èìååò ñëåäóþùóþ ñòðóêòóðó:
typedef struct { FOURCC fccType; FOURCC fccHandler; DWORD dwFlags; DWORD dwPriority; DWORD dwInitialFrames; DWORD dwScale; DWORD dwRate; DWORD dwStart; DWORD dwLength; DWORD dwSuggestedBufferSize; DWORD dwQuality; DWORD dwSampleSize; RECT rcFrame; } AVIStreamHeader;
[ïðàâèòü] Ðàñøèðåííûé çàãîëîâîê ôàéëà
Ðàñøèðåííûé çàãîëîâîê ôàéëà èìååò ñëåäóþùóþ ñòðóêòóðó:
typedef struct { DWORD dwTotalFrames; } ODMLExtendedAVIHeader;
[ïðàâèòü] LIST movi
[ïðàâèòü] Èíäåêñ
[ïðàâèòü] Ñì. òàêæå
[ïðàâèòü] Ññûëêè
- Îïèñàíèå òåõíîëîãèè AVI àâòîðñòâà Johnâ™a P. McGowanâ™a
- Äîêóìåíòàöèÿ ôîðìàòà RIFF-AVI
- Ñïèñîê êîäåêîâ FourCC
| Ýòî çàãîòîâêà ñòàòüè ïî èíôîðìàòèêå. Âû ìîæåòå ïîìî÷ü ïðîåêòó, èñïðàâèâ è äîïîëíèâ å¸. |
| Ìåäèàêîíòåéíåðû | |
|---|---|
| Âèäåî/àóäèî | |
| Àóäèî | |
| Ãðàôè÷åñêèå ôîðìàòû (ñæàòèå) | |
| Ðàñòðîâûå | |
| Âåêòîðíûå | |
| Êîìïëåêñíûå | |
| Ìåäèàêîíòåéíåðû | |
|---|---|
| Âèäåî/àóäèî | |
| Àóäèî | |
| Ãðàôè÷åñêèå ôîðìàòû (ñæàòèå) | |
| Ðàñòðîâûå | |
| Âåêòîðíûå | |
| Êîìïëåêñíûå | |