Audio Video Interleaved, een video-bestandsindeling ontwikkeld door Microsoft. AVI is een container-bestandsindeling: het kan zowel video als geluid bevatten. Het werd geïntroduceerd toen Windows 3.1. op de markt kwam. In de eerste versie was de grootte van het beeld beperkt tot 160×120 pixels en was er een maximum framerate van 15 frames per seconde. Er werd door de jaren heen veel aan de indeling gewerkt, waardoor de beeldgrootte en framerates hoger werden.
AVI is een speciale versie van RIFF (Resource Interchange File Format). Microsoft RIFF is een multimedia-bestandsindeling speciaal gemaakt voor gebruik van de Windows grafische gebruikersinterface. RIFF op zich definieert geen nieuwe methodes voor hoe de data moet opgeslagen worden. RIFF zal daarentegen een gestructureerd framework definiëren voor opslag van verschillende gegevensindelingen. Met dit concept kunnen dus nieuwe samengestelde formaten gecreëerd worden die uit twee of meer bekende bestandsindelingen bestaan.
Multimedia-applicaties, zoals Windows Media Player, QuickTime en RealPlayer, hebben een bestandsindeling nodig die een grote variëteit aan data kan opslaan, zodat ze deze op de beste manier kunnen representeren. AVI zal bijvoorbeeld nood hebben aan videodata en audiodata, terwijl een WAV-bestand enkel audio zal bevatten. RIFF biedt een perfecte manier om audio en video op te slaan in één en hetzelfde bestand. Hiervoor zal het de data opsplitsen in datablokken die “chunks” genoemd worden. Iedere chunk wordt voorafgegaan door een FourCC-tag (four character codec). Een AVI-bestand zal een chunk nog eens onderverdelen in drie subchunks. De eerste twee zijn noodzakelijk en de derde is optioneel.
De eerste subchunk is de bestandsheader en bevat de metagegevens over de video, zoals de breedte, hoogte en hoeveelheid frames. De tweede subchunk bevat de eigenlijke audio- en videodata. De derde optionele subchunk indexeert de locaties van de datachunks binnen het bestand.
Door gebruik te maken van het RIFF-bestand kan de audio- en videodata in de tweede subchunk gebruik maken van verschillende codecs.