Wideo AVI (.avi)
Microsoft ŠtandardAudio Video Interleave (AVI) je významný multimediálny kontajner, ktorý v roku 1992 predstavila spoločnosť Microsoft a ktorý prechováva zvukové a obrazové prúdy v prekladanom režime na dosiahnutie synchronizovaného prehrávania.
Preskúmať a metadáta
Operačné systémy a analyzátory súborov identifikujú súbory AVI kontrolou počiatočnej binárnej bajtovej sekvencie:
Podpis hlavičky na úrovni bajtov (Magic Bytes)
Operačné systémy a analyzátory súborov identifikujú súbory AVI kontrolou počiatočnej binárnej bajtovej sekvencie:
HEXADECIMÁLNY PODPIS (OFFSET 0):
52 49 46 46 00 00 00 00 41 56 49 20ASCII REPREZENTÁCIA: RIFF....AVI
Štandardizácia: Microsoft RIFF Specification / OpenDML Extension
Technické špecifikácie
| Architektúra kontajnera | Resource Interchange File Format (RIFF) interleaved chunk container |
| Kompresia | Interleaved streams supporting DivX, Xvid, Motion JPEG, raw uncompressed, and MP3 audio |
| Poradie bajtov (Endianness) | Little-Endian (Intel x86 byte order) |
| Farebné priestory | YUV 4:2:0, RGB, and palette colors |
| Kanály a štruktúra | Stereo and multichannel audio streams |
| Max. rozmery | Unrestricted; OpenDML AVI extension supports 4K and multi-gigabyte streams |
| Priehľadnosť | Supported via RGBA uncompressed video streams |
| Streamovanie a postupné načítavanie | Index chunk placed at end of file; poorly suited for progressive web streaming |
Technická porovnávacia matica: AVI vs konkurenti
| Technický atribút | AVI (Aktuálne) | MP4 | MKV | MOV |
|---|---|---|---|---|
| Vhodnosť na streaming | Slabá; pred posúvaním vyžaduje stiahnutie celého súboru | Vynikajúca (FastStart / HLS / DASH) | Dobrá (segmentovaný EBML) | Vynikajúca (FastStart) |
| Prehrávanie na webe cez HTML5 | Moderné prehliadače ho natívne nepodporujú | 100 % univerzálne vo všetkých prehliadačoch | Čiastočná (Edge / Chrome) | Podporované v Safari / zariadeniach Apple |
| Vkladanie titulkov | Závislé od obchádzania (vyžaduje externé súbory .srt) | Natívny časovaný text (tx3g / VTT) | Plná natívna podpora pre ASS / SSA / SRT | Natívne titulky Apple QuickTime |
| Premenlivá snímková frekvencia | Prísne konštantná snímková frekvencia (CFR) | Natívna podpora VFR | Natívna podpora VFR | Natívna podpora VFR |
Bežné režimy poškodenia a príručka na obnovu v hexadecimálnom kóde
Prehrávač médií dokáže video prehrávať, ale nedokáže sa posúvať vpred ani vzad, prípadne hlási chybu 'Poškodený index'.
Hlavná príčina: Koncový indexový blok 'idx1' bol skrátený alebo vymazaný počas prerušeného sťahovania.
Obnova: Obnovte index pomocou nástroja DivFix++, VLC (možnosť 'Skompletizovať index a prehrať') alebo príkazu 'ffmpeg -i broken.avi -c copy fixed.avi'.
Bezpečnostná analýza a vektory útokov na parser
Súbory AVI obsahujú zložité hierarchie blokov a podporujú nespočetné množstvo nejasných starších video kodekov, vďaka čomu sú dekodéry bez pieskoviska (sandbox) náchylné na zraniteľnosti analyzátorov.
Známe vektory útokov
- Pretečenie haldy (heap buffer overflow) pri parsovaní bloku 'strh' (hlavička prúdu) v starších prehrávačoch médií pre Windows.
- Celočíselné pretečenie počas alokácie indexového poľa pre zámerne vytvorené hlavičky s veľkým počtom snímok.
- Čítanie mimo vyhradenej pamäte (out-of-bounds read) pri dekompresii Motion JPEG v rámci starších filtrov DirectShow.
Najlepšie obranné postupy:
Historický pôvod a míľniky
Kľúčové výhody a prednosti
- Mimoriadne široká podpora pre starší softvér a videoeditory v prostredí Windows.
- Podpora pre nekomprimované surové snímky na archiváciu filmov a vedeckú analýzu videa.
- Jednoduchá architektúra prekladania prúdu s nízkou réžiou kontajnera.
Technické obmedzenia a nevýhody
- Chýba natívna podpora pre moderné funkcie video kontajnerov, ako sú premenlivá snímková frekvencia (VFR) a kapitoly.
- Slabo vhodné na webový streaming, pretože hlavný indexový blok ('idx1') je uložený na konci súboru.
- Žiadna natívna podpora prehrávania v prehliadačoch cez HTML5 bez prekonvertovania do formátu MP4 alebo WebM.
Zaujímavé technické drobnosti
- Začiatkom roka 2000 boli súbory AVI komprimované v DivX a Xvid hlavným formátom, ktorý využívali peer-to-peer siete na zdieľanie súborov.
- Pôvodná špecifikácia AVI z roku 1992 nemohla presiahnuť 2 GB kvôli 32-bitovým ukazovateľom posunu súboru.
- Blok 'idx1' na konci súboru AVI uvádza bajtový posun každej jednej snímky pre účely posúvania (skrolovania).
Často kladené technické otázky
Prečo nemôžem prehrávať videá AVI priamo vo webových prehliadačoch?
Moderné prehliadače štandardizujú formáty MP4 (H.264/AV1) a WebM (VP9/AV1), pretože ich formáty kontajnerov sú optimalizované pre progresívne streamovanie. AVI nemá natívne funkcie webového streamovania a nie je podporované v značke <video> jazyka HTML5.
Ako môžem opraviť súbor AVI, v ktorom nefunguje vyhľadávanie alebo posúvanie?
Súbory AVI sa spoliehajú na indexovú tabuľku na konci súboru. Ak je neúplná, prehrávače sa nemôžu posúvať v čase. Prekódovanie alebo reindexovanie súboru pomocou File2File Video Converter obnoví úplné posúvanie v časovej osi.
Aký je rozdiel medzi AVI a MP4?
AVI je starší kontajner z roku 1992 určený na lokálne prehrávanie na počítači. MP4 je moderný štandard z roku 2001 podporujúci webové streamovanie, kapitoly, premenlivú snímkovú frekvenciu, titulky a vyššiu kompresiu.