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ă.
Inspectează ș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 (Magic Bytes)
Sistemele de operare și analizatoarele de fișiere identifică fișierele AVI prin inspectarea secvenței binare inițiale:
SEMNĂTURĂ HEX (OFFSET 0):
52 49 46 46 00 00 00 00 41 56 49 20REPREZENTARE ASCII: RIFF....AVI
Standardizare: Microsoft RIFF Specification / OpenDML Extension
Specificații tehnice
| Arhitectură container | Resource Interchange File Format (RIFF) interleaved chunk container |
| Compresie | Interleaved streams supporting DivX, Xvid, Motion JPEG, raw uncompressed, and MP3 audio |
| Endianitatea octeților | Little-Endian (Intel x86 byte order) |
| Spații de culoare | YUV 4:2:0, RGB, and palette colors |
| Canale și structură | Stereo and multichannel audio streams |
| Dimensiuni maxime | Unrestricted; OpenDML AVI extension supports 4K and multi-gigabyte streams |
| Transparență | Supported via RGBA uncompressed video streams |
| Streaming și progresiv | Index chunk placed at end of file; poorly suited for progressive web streaming |
Matrice de comparație tehnică: AVI vs Competitori
| 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 | 100% universal în toate browserele | 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: Reconstruiți indexul folosind DivFix++, VLC ('Construiți indexul apoi redați') sau '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, făcând decodoarele fără sandbox susceptibile la vulnerabilități de analiză.
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:
Origini istorice și repere
Avantaje cheie și beneficii
- Suport extins pentru desktopuri moștenite în software-ul media Windows și editoarele video.
- 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 bucata de index principal ('idx1') este stocată la sfârșitul fișierului.
- Fără suport nativ pentru redare în browser HTML5 fără re-codare î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 se bazează pe un tabel de index la sfârșitul fișierului. Dacă este incomplet, playerele nu pot face căutări/derulări. Transcodarea sau reindexarea fișierului cu File2File Video Converter restabilește navigarea completă pe 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ă.