Audio Video Interleave | |
---|---|
Kiterjesztés | .avi[egy] |
MIME típusú | video/vnd.avi [2] [3] |
Fejlesztő | Microsoft [4] |
közzétett | 1992 [5] |
Formátum típusa | médiatároló |
Tartalmaz | Audio Videó |
Kibontva innen | RIF [6] |
Az Audio Video Interleave (rövidítve AVI ; szó szerint "audio and video interleaving") egy RIFF médiatároló , amelyet a Microsoft 1992-ben használt először a Video for Windows csomagban .
Az AVI kiterjesztéssel rendelkező fájlok kodekek különböző kombinációival tömörítve tartalmazhatnak video- és audioadatokat, ami lehetővé teszi a szinkron videolejátszást hanggal. Az AVI-fájlok különböző típusú tömörített adatokat tartalmazhatnak (pl. DivX videó + WMA hang vagy Indeo videó + PCM hang), attól függően, hogy melyik kodeket használják a kódoláshoz/dekódoláshoz. A DVD-khez hasonlóan az AVI-fájlok is támogatják a többfolyamos audio-videót.
Minden AVI fájl tartalmaz két kötelező LIST blokkot, amelyek meghatározzák a formátumot és az adatfolyamot. Az AVI-fájlok indexblokkot is tartalmazhatnak. Ez az opcionális blokk határozza meg a videó adatok helyét a fájlban. Tipikus AVI fájlstruktúra:
RIFF ('AVI' LIST ('hdrl' <title>) LIST ('movi' <video>) ['idx1' <index>]))
Az AVI-fájl fejlécét és az adatfolyam-fejlécet tartalmazó blokk. Tipikus szerkezet:
LIST ('hdrl' 'avih' (<AVI fájl fejléc>) LIST ('strl' <adatfolyam fejléc 1>) LIST ('strl' <folyam fejléc 2>) LIST ('odml' <AVI fájl kiterjesztett fejléce>))
Főfájl fejlécA fájl egy fő fejléccel kezdődik. Az AVI fájlokban ezt a fejlécet egy FOURCC „avih” blokk határozza meg. A fejléc a teljes fájlra vonatkozó globális információkat tartalmaz, például a fájlban lévő adatfolyamok számát, a videofolyam szélességét és magasságát. A fő fejléc szerkezete a következő:
typedef struct { DWORD dwMicroSecPerFrame ; DWORD dwMaxBytesPerSec ; DWORD dwFenntartva1 ; DWORD dwFlags ; DWORD dwTotalFrames ; DWORD dwInitialFrames ; DWORD dwStreams ; DWORD dwSuggestedBufferSize ; DWORD dwWidth ; DWORD dwHeight ; DWORD dwFenntartva [ 4 ]; } MainAVIHeader ;dwMicroSecPerFrame – Meghatározza a képkockák közötti mikromásodpercek számát. Ez az érték a teljes fájlra jellemző.
dwMaxBytesPerSec A hozzávetőleges maximális fájlátviteli sebességet jelzi. Ez az érték megadja a másodpercenkénti bájtok számát, amelyet a rendszernek fel kell dolgoznia.
dwFlags – a videofájl tulajdonságainak listáját tartalmazza. Az érvényes értékek a következők:
Zászló | Leírás |
---|---|
AVIF_HASINDEX | A fájlban van egy „idx1” blokk. |
AVIF_MUSTUSEINDEX | Meghatározza, hogy a fájlban lévő blokkok fizikai elrendezése helyett indexet kell használni az adatok megjelenítési sorrendjének meghatározásához. |
AVIF_ISINTERLEAVED | Az audio- és videoadatok összeillesztését jelzi. |
AVIF_WASCAPTUREFILE | |
AVIF_COPYRIGHTED | Azt jelzi, hogy a fájl szerzői joggal védett adatokat és szoftvereket tartalmaz. |
dwTotalFrames A fájlban lévő képkockák teljes számát jelzi.
dwStreams A fájlban lévő adatfolyamok számát jelzi. Például egy hangot és videót tartalmazó fájlnak 2 adatfolyama van.
dwSuggestedBufferSize Megadja a fájl olvasásához javasolt pufferméretet. Ennek a méretnek elég nagynak kell lennie ahhoz, hogy tartalmazza a legnagyobb fejlécet és aláírási adatblokkot. Ha a beállított érték nulla vagy túl alacsony, a fájllejátszó program működés közben újrafoglalja a memóriát, ami csökkenti a teljesítményt.
dwWidth – az AVI fájl szélességét állítja be.
dwHeight [7] - beállítja az AVI fájl magasságát.
Stream fejlécekAz adatfolyam fejlécének szerkezete a következő:
typedef struct { FOURCC fccType ; FOURCC fccHandler ; DWORD dwFlags ; DWORD dwPriority ; DWORD dwInitialFrames ; DWORD dwScale ; DWORD dwRate ; DWORD dwStart ; DWORD dwLength ; DWORD dwSuggestedBufferSize ; DWORD dwMinőség ; DWORD dwSampleSize ; RECT rcFrame ; } AVIStreamHeader ; Bővített fájlfejlécA kiterjesztett fájlfejléc szerkezete a következő:
typedef struct { DWORD dwTotalFrames ; } ODMLExtendedAVIHeader ;médiatárolók | |
---|---|
Videó/Hang | |
Hang | |
Zene |
|
Raszter | |
Vektor | |
Összetett |