Video AVI (.avi)
Microsoft StandardAudio Video Interleave (AVI) este un container multimedia de referință introdus de Microsoft în 1992, care intercalează fluxurile audio și video pentru o redare sincronizată.
Inspectare și metadate
Sistemele de operare și analizatoarele de fișiere identifică fișierele AVI prin inspectarea secvenței binare inițiale:
Semnătura antetului la nivel de octet (octeți magici)
Sistemele de operare și analizatoarele de fișiere identifică fișierele AVI prin inspectarea secvenței binare inițiale:
SEMNĂTURĂ HEXAZECIMALĂ (DECALAJ 0):
52 49 46 46 ?? ?? ?? ?? 41 56 49 20REPREZENTARE ASCII: RIFF????AVI
Standardizare: Microsoft RIFF Specification / OpenDML Extension
Specificații tehnice
| Arhitectură container | Container de fragmente intercalate Resource Interchange File Format (RIFF) |
| Compresie | Fluxuri intercalate cu suport pentru DivX, Xvid, Motion JPEG, video brut necomprimat și audio MP3 |
| Ordinea octeților | Little-Endian (ordinea octeților Intel x86) |
| Spații de culoare | YUV 4:2:0, RGB și culori de paletă |
| Canale și structură | Fluxuri audio stereo și multicanal |
| Dimensiuni maxime | Nerestricționate; extensia OpenDML pentru AVI acceptă fluxuri 4K și de mai mulți gigaocteți |
| Transparență | Acceptată prin fluxuri video RGBA necomprimate |
| Streaming și progresiv | Fragmentul de index este plasat la sfârșitul fișierului; formatul este nepotrivit pentru streaming web progresiv |
Matrice de comparație tehnică: AVI vs. concurenți
| Atribut tehnic | AVI (Curent) | MP4 | MKV | MOV |
|---|---|---|---|---|
| Adecvare pentru streaming | Slabă; necesită descărcarea întregului fișier înainte de căutare | Excelentă (FastStart / HLS / DASH) | Bună (EBML segmentat) | Excelentă (FastStart) |
| Redare web HTML5 | Nesusținut nativ de browserele moderne | Acceptat de multe browsere actuale; disponibilitatea depinde de versiune și platformă | Parțial (Edge / Chrome) | Acceptat pe dispozitivele Safari / Apple |
| Încorporare subtitrări | Dependent de trucuri (necesită fișiere .srt externe) | Text cronometrat nativ (tx3g / VTT) | Suport nativ complet pentru ASS/SSA/SRT | Subtitrări native Apple QuickTime |
| Rată de cadre variabilă | Rată de cadre strict constantă (CFR) | Suport nativ pentru VFR | Suport nativ pentru VFR | Suport nativ pentru VFR |
Moduri comune de corupție și ghid de recuperare hexazecimală
Media playerul poate reda video dar nu poate căuta sau derula înainte, sau raportează 'Index corupt'.
Cauză principală: Bucata de index finală 'idx1' a fost trunchiată sau ștearsă în timpul unei descărcări întrerupte.
Recuperare: Refă indexul cu DivFix++, VLC („Construiește indexul, apoi redă”) sau cu comanda „ffmpeg -i broken.avi -c copy fixed.avi”.
Analiză de securitate și vectori de atac asupra parserului
Fișierele AVI conțin ierarhii complexe de bucăți și acceptă nenumărate codecuri video vechi și obscure, ceea ce face ca decodoarele care nu rulează într-un sandbox să fie vulnerabile la atacuri asupra parserului.
Vectori de atac cunoscuți
- Depășire de memorie heap buffer overflow în parsarea bucății 'strh' (antet de flux) în playerele media Windows vechi.
- Depășire de întreg (integer overflow) în timpul alocării matricei de index pentru antete cu număr mare de cadre create malițios.
- Citire în afara limitelor (out-of-bounds read) în decompresia Motion JPEG din filtrele DirectShow vechi.
Cele mai bune practici de securitate: Transcodează fișierele AVI care nu sunt de încredere în containere MP4 moderne, izolate, înainte de a le importa.
Origini istorice și repere
Avantaje cheie și beneficii
- Compatibilitate extinsă cu software-ul media Windows și cu editoarele video vechi.
- Acceptă cadre necomprimate brute pentru scanarea filmelor de arhivă și analiza video științifică.
- Arhitectură simplă de intercalare a fluxurilor cu o cheltuială generală redusă a containerului.
Limitări tehnice și dezavantaje
- Lipsește suportul nativ pentru caracteristicile moderne ale containerelor video, cum ar fi ratele de cadre variabile (VFR) și capitolele.
- Nu este potrivit pentru streaming web deoarece blocul de index principal ('idx1') este stocat la sfârșitul fișierului.
- Fără suport nativ pentru redare în browser HTML5 fără recodare în MP4 sau WebM.
Curiozități tehnice interesante
- La începutul anilor 2000, fișierele AVI DivX și Xvid erau formatul principal utilizat de rețelele de partajare de fișiere peer-to-peer.
- Specificația originală AVI din 1992 nu putea depăși 2 GB din cauza indicatorilor de offset de fișier pe 32 de biți.
- Bucata 'idx1' de la sfârșitul unui fișier AVI listează offsetul în octeți al fiecărui cadru în parte pentru căutare.
Întrebări tehnice frecvente
De ce nu pot reda videoclipuri AVI direct în browserele web?
Browserele moderne standardizează pe MP4 (H.264/AV1) și WebM (VP9/AV1) deoarece formatele lor de containere sunt optimizate pentru streaming progresiv. AVI nu dispune de funcții native de streaming web și nu este acceptat în elementul HTML5 <video>.
Cum pot remedia un fișier AVI care nu poate fi derulat (seek/scrub)?
Fișierele AVI folosesc un tabel de index de la sfârșitul fișierului. Dacă tabelul este incomplet, playerele nu pot naviga în cronologie. Transcodarea sau reindexarea fișierului cu File2File.app Video Converter restabilește navigarea completă în cronologie.
Care este diferența dintre AVI și MP4?
AVI este un container moștenit din 1992, conceput pentru redarea locală pe desktop. MP4 este un standard modern din 2001 care acceptă streaming web, capitole, rate de cadre variabile, subtitrări și o compresie superioară.