Audio Video Interleave (.avi)
Microsoft StandardAudio Video Interleave (AVI) je značajan multimedijalni kontejner koji je Microsoft predstavio 1992. godine, a koji kombinuje audio i video tokove radi sinhronizovane reprodukcije.
Pregled i metapodaci
Operativni sistemi i analizatori datoteka identifikuju AVI datoteke proverom početnog binarnog niza bajtova:
Potpis zaglavlja na nivou bajtova (magični bajtovi)
Operativni sistemi i analizatori datoteka identifikuju AVI datoteke proverom početnog binarnog niza bajtova:
HEKSADECIMALNI POTPIS (OFFSET 0):
52 49 46 46 ?? ?? ?? ?? 41 56 49 20ASCII REPREZENTACIJA: RIFF????AVI
Standardizacija: Microsoft RIFF specifikacija / OpenDML proširenje
Tehničke specifikacije
| Arhitektura kontejnera | Kontejner sa prepletenim blokovima u formatu Resource Interchange File Format (RIFF) |
| Kompresija | Prepleteni tokovi koji podržavaju DivX, Xvid, Motion JPEG, nekompresovani sirovi video i MP3 audio |
| Bajtni redosled (Endianness) | Little-Endian (redosled bajtova Intel x86) |
| Prostori boja | YUV 4:2:0, RGB i paletne boje |
| Kanali i struktura | Stereo i višekanalni audio tokovi |
| Maksimalne dimenzije | Bez ograničenja; OpenDML AVI proširenje podržava 4K i tokove veličine više gigabajta |
| Transparentnost | Podržana putem nekompresovanih RGBA video tokova |
| Strimovanje i progresivno učitavanje | Indeksni blok se nalazi na kraju datoteke; format nije pogodan za postepeni veb striming |
Tehnička matrica poređenja: AVI u odnosu na konkurente
| Tehnički atribut | AVI (Trenutno) | MP4 | MKV | MOV |
|---|---|---|---|---|
| Pogodnost za striming | Loše; zahteva preuzimanje cele datoteke pre premotavanja | Odlično (FastStart / HLS / DASH) | Dobro (Segmentovani EBML) | Odlično (FastStart) |
| HTML5 veb reprodukcija | Savremeni pregledači to izvorno ne podržavaju | Podržan u mnogim savremenim pregledačima; dostupnost zavisi od verzije i platforme | Delimično (Edge / Chrome) | Podržano na Safari / Apple uređajima |
| Ugrađivanje titlova | Zahteva nezvanična rešenja (zahteva spoljne .srt datoteke) | Izvorni vremenski tekst (tx3g / VTT) | Potpuna izvorna podrška za ASS/SSA/SRT | Izvorni Apple QuickTime titlovi |
| Promenljivi broj frejmova | Strogo konstantna brzina kadrova (CFR) | Izvorna podrška za VFR | Izvorna podrška za VFR | Izvorna podrška za VFR |
Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak
Medijski plejer može da reprodukuje video, ali ne može da pretražuje ili premotava unapred, ili prijavljuje 'Oštećen indeks'.
Osnovni uzrok: Prateći indeksni blok 'idx1' je skraćen ili obrisan tokom prekinutog preuzimanja.
Oporavak: Ponovo izgradite indeks koristeći DivFix++, VLC ('Build index then play') ili komandu 'ffmpeg -i broken.avi -c copy fixed.avi'.
Bezbednosna analiza i vektori napada parsera
AVI datoteke sadrže složene hijerarhije blokova i podržavaju bezbroj opskurnih starih video kodeka, što dekodere bez peščanika čini podložnim propustima u parsiranju.
Poznati vektori napada
- Prelivanje bafera u memoriji (prelivanje bafera na hipu) prilikom parsiranja 'strh' (zaglavlje toka) bloka u starijim Windows medijskim plejerima.
- Prelivanje cele brojevne vrednosti (integer overflow) tokom alokacije niza indeksa za zlonamerno kreirana zaglavlja sa velikim brojem frejmova.
- Čitanje van granica bafera pri dekompresiji Motion JPEG-a unutar starih DirectShow filtera.
Najbolje prakse za zaštitu: Transkodirajte sumnjive AVI datoteke u moderne MP4 kontejnere u zaštićenom okruženju pre unosa.
Istorijat i prekretnice
Ključne prednosti
- Izuzetno široka podrška za starije desktop sisteme u Windows medijskim plejerima i video editorima.
- Podržava sirove nekompresovane frejmove za arhivsko skeniranje filmova i naučnu video analizu.
- Jednostavna arhitektura preplitanja tokova sa malim opterećenjem kontejnera.
Tehnička ograničenja i nedostaci
- Nedostaje izvorna podrška za moderne funkcije video kontejnera kao što su promenljivi broj frejmova (VFR) i poglavlja.
- Slabo prikladan za striming na vebu jer se glavni blok indeksa ('idx1') čuva na kraju datoteke.
- Nema izvorne podrške u HTML5 video pretraživačima bez ponovnog kodiranja u MP4 ili WebM.
Zanimljivosti
- Početkom 2000-ih, DivX i Xvid AVI datoteke su bile primarni format koji su koristile peer-to-peer mreže za deljenje datoteka.
- Originalna AVI specifikacija iz 1992. godine nije mogla da pređe 2 GB zbog 32-bitnih pokazivača pozicije u datoteci.
- Blok 'idx1' na kraju AVI datoteke navodi bajtnu poziciju svakog pojedinačnog frejma radi pretrage.
Često postavljana tehnička pitanja
Zašto ne mogu da puštam AVI video zapise direktno u veb pretraživačima?
Moderni pretraživači su standardizovani na MP4 (H.264/AV1) i WebM (VP9/AV1) jer su njihovi formati kontejnera optimizovani za progresivni striming. AVI nema izvorne funkcije za veb striming i nije podržan u HTML5 <video> tagu.
Kako mogu da popravim AVI datoteku koja ne može da se premotava niti da se pomera po snimku?
AVI datoteke se oslanjaju na indeksnu tabelu na kraju datoteke. Ako je nepotpuna, plejeri ne mogu da premotavaju snimak. Transkodiranjem datoteke ili ponovnim indeksiranjem pomoću File2File.app Video Convertera ponovo se omogućava premotavanje kroz ceo snimak.
Koja je razlika između AVI i MP4 formata?
AVI je zastareli kontejner iz 1992. godine namenjen lokalnoj reprodukciji na računaru. MP4 je moderan standard iz 2001. godine koji podržava veb striming, poglavlja, promenljivu brzinu kadrova, titlove i bolju kompresiju.