Audio Video Interleave (.avi)
Microsoft StandaardAudio Video Interleave (AVI) is een baanbrekende multimediacontainer die Microsoft in 1992 introduceerde. De container verweeft audio- en videostreams voor gesynchroniseerde weergave.
Inspecteren en metadata
Besturingssystemen en bestandsanalysators herkennen AVI-bestanden aan de hand van de eerste binaire bytesequentie:
Bestandshandtekening op byteniveau (magic bytes)
Besturingssystemen en bestandsanalysators herkennen AVI-bestanden aan de hand van de eerste binaire bytesequentie:
HEX-HANDTEKENING (OFFSET 0):
52 49 46 46 ?? ?? ?? ?? 41 56 49 20ASCII-WEERGAVE: RIFF????AVI
Standaardisatie: Microsoft RIFF Specification / OpenDML Extension
Technische specificaties
| Containerarchitectuur | Resource Interchange File Format (RIFF) interleaved chunk-container |
| Compressie | Interleaved streams die DivX, Xvid, Motion JPEG, ruwe ongecomprimeerde video en MP3-audio ondersteunen |
| Bytevolgorde (endianness) | Little-Endian (Intel x86-bytevolgorde) |
| Kleurruimten | YUV 4:2:0, RGB en paletkleuren |
| Kanalen en structuur | Stereo- en meerkanaals-audiostreams |
| Maximale afmetingen | Onbeperkt; de OpenDML AVI-extensie ondersteunt 4K en streams van meerdere gigabytes |
| Transparantie | Ondersteund via ongecomprimeerde RGBA-videostreams |
| Streaming en progressief | Index-chunk geplaatst aan het einde van het bestand; slecht geschikt voor progressieve webstreaming |
Technische vergelijkingsmatrix: AVI versus concurrenten
| Technisch kenmerk | AVI (Huidig) | MP4 | MKV | MOV |
|---|---|---|---|---|
| Streaminggeschiktheid | Slecht; vereist dat het gehele bestand wordt gedownload voordat kan worden gezocht | Uitstekend (FastStart / HLS / DASH) | Goed (gesegmenteerde EBML) | Uitstekend (FastStart) |
| HTML5-webafspelen | Niet native ondersteund door moderne browsers | Ondersteund door veel huidige browsers; beschikbaarheid verschilt per versie en platform | Gedeeltelijk (Edge / Chrome) | Ondersteund in Safari en op Apple-apparaten |
| Insluiten van ondertiteling | Afhankelijk van een truc (vereist externe .srt-bestanden) | Ingebouwde getimede tekst (tx3g / VTT) | Volledige ingebouwde ondersteuning voor ASS/SSA/SRT | Ingebouwde Apple QuickTime-ondertitels |
| Variabele framesnelheid | Strikt constante framesnelheid (CFR) | Standaard VFR-ondersteuning | Standaard VFR-ondersteuning | Standaard VFR-ondersteuning |
Veelvoorkomende beschadigingen en gids voor hex-herstel
Mediaspeler kan de video afspelen maar kan niet zoeken of doorspoelen, of meldt 'Corrupt index'.
Oorzaak: De afsluitende 'idx1'-indexchunk is afgekapt of verwijderd tijdens een onderbroken download.
Herstel: Bouw de index opnieuw op met DivFix++, VLC ('Build index then play') of 'ffmpeg -i broken.avi -c copy fixed.avi'.
Beveiligingsanalyse en aanvalsvectoren voor parsers
AVI-bestanden bevatten complexe chunkhiërarchieën en ondersteunen talloze onbekende verouderde videocodecs, waardoor decoders zonder sandbox kwetsbaar zijn voor parseraanvallen.
Bekende aanvalsvectoren
- Heap-bufferoverflow bij het parseren van 'strh'-chunks (streamheader) in verouderde Windows-mediaspelers.
- Integer-overflow tijdens indexarraytoewijzing voor kwaadaardig gemaakte headers met een groot aantal frames.
- Leesbewerking buiten de grenzen bij Motion JPEG-decompressie binnen verouderde DirectShow-filters.
Aanbevolen beveiligingspraktijken: Transcodeer niet-vertrouwde AVI-bestanden naar moderne MP4-containers in een sandbox voorafgaand aan verwerking.
Historische oorsprong en mijlpalen
Belangrijkste voordelen
- Zeer brede ondersteuning op oudere desktops in Windows-mediasoftware en videobewerkingsprogramma's.
- Ondersteunt ongecomprimeerde ruwe frames voor het scannen van archieffilm en wetenschappelijke videoanalyse.
- Eenvoudige stream-interleavingarchitectuur met lage containeroverhead.
Technische beperkingen
- Mist ingebouwde ondersteuning voor moderne videocontainerfuncties zoals variabele framesnelheden (VFR) en hoofdstukken.
- Slecht geschikt voor webstreaming omdat de hoofdindex-chunk ('idx1') aan het einde van het bestand wordt opgeslagen.
- Geen ingebouwde browserondersteuning voor HTML5-video zonder opnieuw te coderen naar MP4 of WebM.
Interessante technische weetjes
- Begin jaren 2000 waren AVI-bestanden met DivX en Xvid het primaire formaat dat werd gebruikt door peer-to-peer-bestandsuitwisselingsnetwerken.
- De originele AVI-specificatie uit 1992 kon niet groter zijn dan 2 GB vanwege 32-bits bestandsoffset-aanwijzers.
- De 'idx1'-chunk aan het einde van een AVI-bestand somt de byte-offset van elk afzonderlijk frame op om te kunnen zoeken.
Veelgestelde technische vragen
Waarom kan ik geen AVI-video's rechtstreeks in webbrowsers afspelen?
Moderne browsers standaardiseren op MP4 (H.264/AV1) en WebM (VP9/AV1) omdat hun containerformaten zijn geoptimaliseerd voor progressieve streaming. AVI ontbeert ingebouwde webstreamingfuncties en wordt niet ondersteund in HTML5 <video>.
Hoe kan ik een AVI-bestand repareren waarin niet kan worden gezocht of gespoeld?
AVI-bestanden zijn afhankelijk van een indextabel aan het einde van het bestand. Als die tabel onvolledig is, kunnen mediaspelers niet door de video navigeren. Door het bestand met File2File.app Video Converter te transcoderen of opnieuw te indexeren, kunt u weer door de volledige tijdlijn navigeren.
Wat is het verschil tussen AVI en MP4?
AVI is een verouderde container uit 1992 die is ontworpen voor lokaal afspelen op een computer. MP4 is een moderne standaard uit 2001 die webstreaming, hoofdstukken, variabele framesnelheden, ondertitels en superieure compressie ondersteunt.