Audio Video Interleave
From Wikipedia, the free encyclopedia
Audio Video Interleave | |
File extension: | .avi |
---|---|
MIME type: | video/avi |
Type code: | 'Vfw ' |
Uniform Type Identifier: | public.avi |
Developed by: | Microsoft |
Container for: | Audio, Video |
Audio Video Interleave, known by its acronym AVI, is a multimedia container format introduced by Microsoft in November 1992 as part of its Video for Windows technology. AVI files can contain both audio and video data in a standard container that allows synchronous audio-with-video playback. Like DVDs, AVI files support multiple streaming audio and video, although these features are seldom used. Most AVI files also use the file format extensions developed by the Matrox OpenDML group in February 1996. These files are supported by Microsoft, and are unofficially called "AVI 2.0"..
AVI is a special case of the Resource Interchange File Format (RIFF), which divides a file's data into blocks, or "chunks." Each "chunk" is identified by a FourCC tag. An AVI file takes the form of a single chunk in an RIFF formatted file, which is then subdivided into two mandatory "chunks" and one optional "chunk". The entire structure of a RIFF file was apparently copied from an earlier IFF format devised by Electronic Arts in the mid-1980s, the primary difference being the "endianness" of integers used, between the current .avi (see also UTF-8, UTF-16, and UTF-32, for more about this) and the original FourCC format. In fact, even a properly written IFF parser for the now old-aged AmigaOS, (after correcting for endianness) should parse RIFF files just fine.
The first sub-chunk is identified by the "hdrl" tag. This sub-chunk is the file header and contains metadata about the video, such as its width, height and frame rate. The second sub-chunk is identified by the "movi" tag. This chunk contains the actual audio/visual data that make up the AVI movie. The third optional sub-chunk is identified by the "idx1" tag which indexes the physical addresses [within the file] of the data chunks.
By way of the RIFF format, the audio/visual data contained in the "movi" chunk can be encoded or decoded by software called a codec (which is an abbreviation for coder-decoder, but in reality is actually a translation scheme). Upon creation of the file, the codec translates between raw data and the (compressed) data format used inside the chunk. An AVI file may therefore carry audio/visual data inside the chunks in virtually any compression scheme, including Full Frame (Uncompressed), Intel Real Time (Indeo), Cinepak, Motion JPEG, Editable MPEG, VDOWave, ClearVideo / RealVideo, QPEG, MPEG-4 Video, et al.
[edit] Continued use
AVI is considered by some to be an outdated container format. There is significant overhead when used with popular MPEG-4 codecs (Xvid and DivX, for example), increasing file size more than seemingly necessary. Also the container has no native support for modern MPEG-4 features like B-Frames. To circumvent this problem, cumbersome (in terms of programming) hacks are sometimes used, likely causing incompatibilities with some players. Hacks are also used to implement language subtitles (which are an increasingly important aspect of reduced-size video packages typical of .avi and similar formats). The highly-efficient H.264 codecs employed in .AVIs use even more compression "tricks", and are thus even more ill-suited to the format; this is particularly true of H.264 Main Profile (MP) and High Profile (HiP) codecs.
Despite its limitations and the availability of more modern container formats (see Matroska, Ogg and MP4), AVI remains popular among file-sharing communities. This is probably due to its high compatibility with existing video editing and playback software like VirtualDub and Windows Media Player. The tendency has been to install DirectShow filters like ffdshow to augment DirectShow, using AVI as a common-ground, lowest-common-denominator format. Ironically, while the codec/container incompatibilities mentioned in the above paragraph have undermined AVI's near-ubiquity, the obscurity and tech-savviness of those involved in the file-sharing groups has rendered this irrelevant.
Projects based on the FFmpeg project, including MPlayer, xine, and VLC Media Player, have rendered most problems with viewing AVI format video files irrelevant, regardless of internal format or codec needed, due to FFmpeg's high compatibility.
In June 2005, DivX, Inc. released its own container format called DivX Media Format (.divx extension) to succeed the AVI + DivX combo. However, this format is basically an enhanced AVI format (based on the same RIFF structure) and so far, has gained no perceivable traction in file-sharing communities where the DivX codec is popular.
[edit] See also
[edit] External links
- Myths about AVI
- DivXLand.org Software, guides and support for AVI container format
- John P. McGowan's AVI Overview
- Microsoft's AVI RIFF File Reference
- Audio Video Interleave converter
- PVDTools' RIFF-AVI File Format Documentation
- Dave Wilson's comprehensive list of FourCC codes
- Understanding Compression in AVI
- OpenDML (AVI 2.0) format specification
- AVI format examples
Multimedia compression formats | ||||
---|---|---|---|---|
Video compression formats |
|
|||
Audio compression formats |
|
|||
Image compression formats |
|
|||
Media container formats |
|