Wideo AVI (.avi)
Microsoft StandardníAudio Video Interleave (AVI) je přelomový multimediální kontejner představený společností Microsoft v roce 1992, který prokládá zvukové a video streamy pro synchronizované přehrávání.
Zkontrolovat a metadata
Operační systémy a analyzátory souborů identifikují soubory AVI kontrolou počáteční binární sekvence bajtů:
Podpis hlavičky na úrovni bajtů (Magic Bytes)
Operační systémy a analyzátory souborů identifikují soubory AVI kontrolou počáteční binární sekvence bajtů:
HEXADECIMÁLNÍ PODPIS (OFFSET 0):
52 49 46 46 00 00 00 00 41 56 49 20ASCII REPREZENTACE: RIFF....AVI
Standardizace: Microsoft RIFF Specification / OpenDML Extension
Technické specifikace
| Architektura kontejneru | Resource Interchange File Format (RIFF) interleaved chunk container |
| Komprese | Interleaved streams supporting DivX, Xvid, Motion JPEG, raw uncompressed, and MP3 audio |
| Endiantita bajtů | Little-Endian (Intel x86 byte order) |
| Barevné prostory | YUV 4:2:0, RGB, and palette colors |
| Kanály a struktura | Stereo and multichannel audio streams |
| Max. rozměry | Unrestricted; OpenDML AVI extension supports 4K and multi-gigabyte streams |
| Průhlednost | Supported via RGBA uncompressed video streams |
| Streamování a progresivní načítání | Index chunk placed at end of file; poorly suited for progressive web streaming |
Technická srovnávací matice: AVI vs konkurence
| Technický atribut | AVI (Aktuální) | MP4 | MKV | MOV |
|---|---|---|---|---|
| Vhodnost pro streamování | Špatná; před vyhledáváním vyžaduje stažení celého souboru | Výborná (FastStart / HLS / DASH) | Dobrá (segmentovaný EBML) | Výborná (FastStart) |
| Přehrávání v HTML5 na webu | Nativně nepodporováno moderními prohlížeči | 100% univerzální ve všech prohlížečích | Částečná (Edge / Chrome) | Podporováno na zařízeních Safari / Apple |
| Vkládání titulků | Závislé na tricích (vyžaduje externí soubory .srt) | Nativní časovaný text (tx3g / VTT) | Plná nativní podpora pro ASS/SSA/SRT | Nativní titulky Apple QuickTime |
| Proměnlivá snímková frekvence | Přísně konstantní snímková frekvence (CFR) | Nativní podpora VFR | Nativní podpora VFR | Nativní podpora VFR |
Běžné režimy poškození a příručka pro obnovení v hex
Přehrávač médií dokáže video přehrát, ale neumí se v něm posouvat vpřed ani vzad, případně hlásí 'poškozený index'.
Hlavní příčina: Koncové indexové bloky 'idx1' byly zkráceny nebo smazány během přerušeného stahování.
Obnovení: Obnovte index pomocí DivFix++, VLC ('Build index then play'), nebo příkazu 'ffmpeg -i broken.avi -c copy fixed.avi'.
Bezpečnostní analýza a vektory útoků na parser
Soubory AVI obsahují složitou hierarchii bloků a podporují nespočet obskurních starších video kodeků, což činí dekodéry bez sandboxingové ochrany náchylnými k útokům na parser.
Známé vektory útoků
- Přetečení vyrovnávací paměti haldy (heap buffer overflow) při parsování bloku 'strh' (hlavička proudu) ve starších přehrávačích médií Windows.
- Přetečení celého čísla během alokace indexového pole pro zákeřně vytvořené hlavičky s vysokým počtem snímků.
- Čtení mimo přidělenou paměť (out-of-bounds read) při dekompresi Motion JPEG ve starších filtrech DirectShow.
Doporučené bezpečnostní postupy:
Historický vývoj a milníky
Klíčové výhody a přednosti
- Extrémně široká podpora pro starší systémy v desktopovém softwaru Windows a video editorech.
- Podporuje nekomprimované raw snímky pro archivní skenování filmů a vědeckou analýzu videa.
- Jednoduchá architektura prokládání streamů s nízkou režií kontejneru.
Technická omezení a nevýhody
- Postrádá nativní podporu pro moderní funkce video kontejnerů, jako jsou proměnlivé snímkové frekvence (VFR) a kapitoly.
- Špatně se hodí pro webové streamování, protože hlavní indexový blok ('idx1') je uložen na konci souboru.
- Žádná nativní podpora pro HTML5 video v prohlížeči bez opětovného kódování do MP4 nebo WebM.
Zajímavé technické drobnosti
- Začátkem roku 2000 byly soubory AVI s kodeky DivX a Xvid primárním formát používaným v peer-to-peer sítích pro sdílení souborů.
- Původní specifikace AVI z roku 1992 nemohla přesáhnout 2 GB kvůli 32bitovým ukazatelům pozice v souboru.
- Blok 'idx1' na konci souboru AVI uvádí bajtový posun každého jednotlivého snímku pro účely vyhledávání (seeking).
Často kladené technické otázky
Proč nemohu přehrávat videa AVI přímo ve webových prohlížečích?
Moderní prohlížeče standardizují formáty MP4 (H.264/AV1) a WebM (VP9/AV1), protože jejich kontejnery jsou optimalizovány pro progresivní streamování. AVI postrádá nativní funkce webového streamování a není podporováno v HTML5 <video>.
Jak mohu opravit soubor AVI, ve kterém nelze přeskakovat ani posouvat pozici?
Soubory AVI spoléhají na indexovou tabulku na konci souboru. Pokud je neúplná, přehrávače se nemohou posouvat. Převedení nebo reindexace souboru pomocí File2File Video Converter obnoví plné posouvání na časové ose.
Jaký je rozdíl mezi AVI a MP4?
AVI je starší kontejner z roku 1992 navržený pro místní přehrávání na počítači. MP4 je moderní standard z roku 2001 podporující webové streamování, kapitoly, proměnlivou snímkovou frekvenci, titulky a vyšší kompresi.