Audio Video Interleave: Difference between revisions
Revert to revision 79577330 dated 2006-10-05 02:46:53 by AlistairMcMillan using popups |
|||
Line 22: | Line 22: | ||
By way of the RIFF format, the audio/visual data contained in the "movi" chunk can be encoded or decoded by a software module called a [[codec]]. The codec translates between raw data and the data format inside the chunk. An <tt>AVI</tt> file may therefore carry audio/visual data inside the chunks in almost any compression scheme, including: Full Frames (Uncompressed), Intel Real Time Video, [[Indeo]], [[Cinepak]], [[Motion JPEG]], Editable MPEG, [[VDOWave]], [[ClearVideo]] / [[RealVideo]], [[QPEG]], [[MPEG-4]], [[XviD]], [[DivX]] and others. |
By way of the RIFF format, the audio/visual data contained in the "movi" chunk can be encoded or decoded by a software module called a [[codec]]. The codec translates between raw data and the data format inside the chunk. An <tt>AVI</tt> file may therefore carry audio/visual data inside the chunks in almost any compression scheme, including: Full Frames (Uncompressed), Intel Real Time Video, [[Indeo]], [[Cinepak]], [[Motion JPEG]], Editable MPEG, [[VDOWave]], [[ClearVideo]] / [[RealVideo]], [[QPEG]], [[MPEG-4]], [[XviD]], [[DivX]] and others. |
||
==Continued use despite obsolescence== |
==Continued use despite obsolescence== 1337 sause |
||
AVI is considered by many 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 necessary. The container has no native support for those codecs' modern features like [[B pictures|B-Frames]]. To circumvent this problem, cumbersome hacks (programming) are used, causing incompatibilities in some players. Hacks are also used to implement subtitles. The highly efficient [[H.264]] codecs add even more compression tricks to the mix, and thus are even more ill-suited to the format, particularly Main and High Profile. |
AVI is considered by many 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 necessary. The container has no native support for those codecs' modern features like [[B pictures|B-Frames]]. To circumvent this problem, cumbersome hacks (programming) are used, causing incompatibilities in some players. Hacks are also used to implement subtitles. The highly efficient [[H.264]] codecs add even more compression tricks to the mix, and thus are even more ill-suited to the format, particularly Main and High Profile. |
||
Revision as of 21:20, 18 October 2006
Filename extension |
.avi |
---|---|
Internet media type |
video/avi video/msvideo video/x-msvideo |
Type code | 'Vfw ' |
Uniform Type Identifier (UTI) | 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 the Video for Windows technology. AVI files contain both audio and video data in a standard container that allows simultaneous playback. Like DVDs, AVI files support multiple audio and video streams, although these features are rarely 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 known unofficially as "AVI 2.0".
It is a special case of the Resource Interchange File Format (RIFF), which divides the file's data up into data blocks called "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 whole structure of RIFF file is actually copied from earlier IFF format devised by Electronic Arts in mid-eighties, the only difference being the endianness of integers inside it, and initial FourCC. In fact, a properly written IFF parser for AmigaOS, after correcting for endianness should parse RIFF files just fine. Unlike other video formats,an AVI video can not be played incomplete.
The first sub-chunk is identified by the "hdrl" tag. This chunk is the file header and contains metadata about the video such as the width, height and the number of frames. 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 and indexes the location of the data chunks within the file.
By way of the RIFF format, the audio/visual data contained in the "movi" chunk can be encoded or decoded by a software module called a codec. The codec translates between raw data and the data format inside the chunk. An AVI file may therefore carry audio/visual data inside the chunks in almost any compression scheme, including: Full Frames (Uncompressed), Intel Real Time Video, Indeo, Cinepak, Motion JPEG, Editable MPEG, VDOWave, ClearVideo / RealVideo, QPEG, MPEG-4, XviD, DivX and others.
==Continued use despite obsolescence== 1337 sause AVI is considered by many 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 necessary. The container has no native support for those codecs' modern features like B-Frames. To circumvent this problem, cumbersome hacks (programming) are used, causing incompatibilities in some players. Hacks are also used to implement subtitles. The highly efficient H.264 codecs add even more compression tricks to the mix, and thus are even more ill-suited to the format, particularly Main and High Profile.
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 Windows Media Player, the main front-end for DirectShow. The tendency has been to install codec packs 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.
See also
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
- PVDTools' RIFF-AVI File Format Documentation
- Dave Wilson's comprehensive list of FourCC codes
- Understanding Compression in AVI
- OpenDML (AVI 2.0) format specification