Video AVI (.avi)
Microsoft StandardAudio Video Interleave (AVI) è un contenitore multimediale fondamentale introdotto da Microsoft nel 1992 che interlaccia flussi audio e video per una riproduzione sincronizzata.
Ispezione e metadati
I sistemi operativi e gli analizzatori di file identificano i file AVI ispezionando la sequenza di byte binari iniziale:
Firma dell'intestazione a livello di byte (Magic Bytes)
I sistemi operativi e gli analizzatori di file identificano i file AVI ispezionando la sequenza di byte binari iniziale:
FIRMA ESADECIMALE (OFFSET 0):
52 49 46 46 ?? ?? ?? ?? 41 56 49 20RAPPRESENTAZIONE ASCII: RIFF????AVI
Standardizzazione: Microsoft RIFF Specification / OpenDML Extension
Specifiche tecniche
| Architettura del contenitore | Contenitore RIFF (Resource Interchange File Format) con chunk interlacciati |
| Compressione | Flussi intercalati che supportano DivX, Xvid, Motion JPEG, video grezzo non compresso e audio MP3 |
| Endianness dei byte | Little-Endian (ordine dei byte Intel x86) |
| Spazi colore | YUV 4:2:0, RGB e colori a palette |
| Canali e struttura | Flussi audio stereo e multicanale |
| Dimensioni massime | Illimitate; l'estensione OpenDML AVI supporta flussi 4K di diversi gigabyte |
| Trasparenza | Supportata tramite flussi video non compressi RGBA |
| Streaming e progressivo | Chunk di indice in fondo al file; poco adatto allo streaming web progressivo |
Matrice di confronto tecnico: AVI vs Concorrenti
| Attributo tecnico | AVI (Attuale) | MP4 | MKV | MOV |
|---|---|---|---|---|
| Idoneità allo streaming | Scarsa; per spostarsi nel video è necessario scaricare l'intero file | Eccellente (FastStart / HLS / DASH) | Buona (EBML segmentato) | Eccellente (FastStart) |
| Riproduzione Web HTML5 | Non supportata nativamente dai browser moderni | Universale al 100% su tutti i browser | Parziale (Edge / Chrome) | Supportata su dispositivi Safari / Apple |
| Incorporamento sottotitoli | Richiede un espediente, ovvero file .srt esterni | Testo temporizzato nativo (tx3g / VTT) | Pieno supporto nativo per ASS/SSA/SRT | Sottotitoli nativi Apple QuickTime |
| Frequenza fotogrammi variabile | Frequenza dei fotogrammi strettamente costante (CFR) | Supporto VFR nativo | Supporto VFR nativo | Supporto VFR nativo |
Modalità di corruzione comuni e guida al recupero esadecimale
Il lettore multimediale riproduce il video ma non riesce a spostarsi al suo interno né ad avanzare rapidamente, oppure segnala 'Indice corrotto'.
Causa principale: Il chunk dell'indice finale 'idx1' è stato troncato o eliminato durante un download interrotto.
Ripristino: Ricostruire l'indice usando DivFix++, VLC ('Costruisci indice poi riproduci') o 'ffmpeg -i broken.avi -c copy fixed.avi'.
Analisi di sicurezza e vettori di attacco del parser
I file AVI contengono gerarchie di chunk complesse e supportano innumerevoli codec video legacy poco diffusi, rendendo i decoder privi di sandbox vulnerabili agli exploit dei parser.
Vettori di attacco noti
- Overflow del buffer nell'heap durante l'analisi del chunk 'strh' (intestazione del flusso) nei vecchi lettori multimediali Windows.
- Overflow di interi durante l'allocazione dell'array di indici per intestazioni create ad arte con un numero elevato di fotogrammi.
- Lettura fuori dai limiti durante la decompressione Motion JPEG nei vecchi filtri DirectShow.
Migliori pratiche difensive: Transcodificare i file AVI non attendibili in contenitori MP4 moderni inseriti in una sandbox prima dell'acquisizione.
Origini storiche e tappe fondamentali
Vantaggi principali
- Ampio supporto sui vecchi software multimediali Windows e sugli editor video.
- Supporta fotogrammi grezzi non compressi per digitalizzare filmati d'archivio e svolgere analisi video scientifiche.
- Semplice architettura di interlacciamento dei flussi con basso overhead del contenitore.
Limiti tecnici e svantaggi
- È privo di supporto nativo per le moderne funzioni dei contenitori video, come frequenze dei fotogrammi variabili (VFR) e capitoli.
- Scarsamente adatto allo streaming web perché il chunk dell'indice principale ('idx1') è memorizzato alla fine del file.
- Nessun supporto nativo per la riproduzione video in HTML5: occorre ricodificare in MP4 o WebM.
Curiosità tecniche
- All'inizio degli anni 2000, i file AVI DivX e Xvid erano il formato principale utilizzato dalle reti di condivisione file peer-to-peer.
- La specifica AVI originale del 1992 non poteva superare i 2 GB a causa dei puntatori di offset dei file a 32 bit.
- Il chunk 'idx1' in fondo a un file AVI elenca l'offset in byte di ogni fotogramma per consentire la ricerca di una posizione.
Domande tecniche frequenti
Perché non riesco a riprodurre i video AVI direttamente nei browser web?
I browser moderni standardizzano su MP4 (H.264/AV1) e WebM (VP9/AV1) perché i formati dei loro contenitori sono ottimizzati per lo streaming progressivo. L'AVI manca di funzioni di streaming web native e non è supportato in HTML5 <video>.
Come posso riparare un file AVI che non si sposta o non scorre?
I file AVI si basano su una tabella di indice alla fine del file. Se è incompleta, i lettori non possono spostarsi nella timeline. La transcodifica o la ricostruzione dell'indice del file con File2File.app Video Converter ripristina lo scorrimento completo della timeline.
Qual è la differenza tra AVI e MP4?
L'AVI è un contenitore legacy del 1992 progettato per la riproduzione desktop locale. L'MP4 è uno standard moderno del 2001 che supporta streaming web, capitoli, frequenze fotogrammi variabili, sottotitoli e una compressione superiore.