AVI
From Streaming 411
The AVI container
AVI is a simple and veri popular media container format. Let's take a few practical examples by concentrating on the AVI:
According to Microsoft's {AVI RIFF File Reference}: The Microsoft AVI file format is a RIFF file specification used with applications that capture, edit, and play back audio-video sequences. In general, AVI files contain multiple streams of different types of data. Most AVI sequences use both audio and video streams. A simple variation for an AVI sequence uses video data and does not require an audio stream.
Modifications to the original AVI file specification made in the OpenDML AVI File Format Extensions are not discussed in this section. For further information on these extensions, see version 1.02 of the OpenDML AVI File Format Extensions published by the OpenDML AVI M-JPEG File Format Subcommittee, February 28, 1996.
Let's take a closer look at an AVI file, first by using ffmpeg:
$ ./ffmpeg -i ~/Movies/handss.avi FFmpeg version SVN-r7088, Copyright (c) 2000-2006 Fabrice Bellard, et al. Input #0, avi, from '/Users/filipp/Movies/handss.avi': Duration: 00:00:37.9, start: 0.000000, bitrate: 300 kb/s Stream #0.0: Video: cinepak, yuv420p, 160x120, 10.00 fps(r) Stream #0.1: Audio: pcm_u8, 11025 Hz, mono, 88 kb/s
As you can see, here we have an AVI clip, totaling 37 seconds and 9 frames in length at a resolution of 160x120px at 10fps, using the old Cinepak codec. This file also includes an audio stream which we can disregard. How does ffmpeg know this about the clip? The AVI format is based on the RIFF (Resource Interchange File Format) developed by Microsoft and IBM, which, as said earlier defines how a file should look like.
RIFF
http://en.wikipedia.org/wiki/RIFF

