Uncompressed 601 digital video has a data rate of approximately 28 Mbytes per second, or 1.7 gigabytes per minute. In order to reduce storage and bandwidth costs digital video data is usually compressed.
CODEC is short for "Compressor/Decompressor" and refers to the particular scheme used to reduce the video data. There are dozens of CODECs in common use...some require proprietary hardware to use, others are software plug ins. Some CODECs are optimized for extremely low bandwidth(i.e. streaming video) while others are designed for high image quality at correspondingly higher data rates. It is important to chose a CODEC that is appropriate for your intended use.
There are two common ways of reducing video data - Intraframe and Interframe compression. Intraframe compression looks for redundant or imperceptible data within each frame and eliminates it, but keeps each frame separate from all others. Interframe compression looks for portions of the image which don't change from frame to frame and encodes them only once. This usually involves saving a Keyframe which is a single, complete frame, and then saving a series of Delta frames which only contain the changes for each subsequent frame. All CODECs use some form of intraframe compression. More efficient CODECs generally use both intraframe and interframe compression.
Intraframe only CODECS are well suited for acquisition and post-production because they keep every frame whole and separate, making it easy to cut the video at any point. CODECs which use both are generally better suited to distribution because they allow much lower file sizes with higher picture quality.
Digital video compression is always a trade-off between file size and image quality. Lossless CODECs usually cannot reduce the data by more than half. Most CODECs attempt to reduce file size by throwing away redundant information first, then eliminating information that is least likely to be perceived by the viewer (Perceptual Encoding). The more compression you apply, the farther you push beyond the perception threshold, with the result being a noticeable reduction in image quality. Visible errors in compressed digital video are referred to as Artifacts.
Error Concatenation is the result of multiple compression passes. A CODEC cannot tell the difference between artifacts and picture detail, so artifacts tend to become more noticeable with each recompression. It is generally best to start with a high resolution, uncompressed or lightly compressed video master, and use that as a source to generate all other versions of your video (i.e. a copy for CDROM, DVD, low and high bandwidth streaming versions, etc.).
Sorenson is the standard for CDROM and streaming video in QuickTime. It produces high quality video at relatively low data rates and scales very well (i.e. playing back a 320x240 video clip at 640x480). A basic version of it is available with QuickTime Pro, and a professional version, which gives greater control over compression parameters, is available for $600. It requires a fairly fast processor for smooth playback.
Cinepack is an older Quicktime standard and was used on most early CDROMs. While it does not produce the same quality as sorenson it plays back well on older, slower processors. It is included with QuickTime Pro.
MPEG1 is an older, cross-platform standard, which was developed for VideoCDs (very uncommon in the US, but in Asia they are the equivalent of VHS VCRs here). It produces near VHS quality video at moderate data rates, but it is not used extensively anymore.
MPEG2 is the standard for DVD encoding. It is highly efficient, using a combination of intraframe and interframe compression plus predictive encoding (it looks at frames before and after the current one, predicts what should be in the current frame, then only encodes the differences between the predicted frame and the actual frame) and motion vectors (if a block of pixels doesn't change from frame to frame, but does change position, it saves a motion vector which describes how the block of pixels move). This allows it to maintain high quality with small file sizes. MPEG2 is very slow to encode and decode, so it typically requires hardware acceleration for both compression and playback (although modern computer processors have reached the point where they can decode MPEG2 without additional acceleration).
DV is the native compression format of MiniDV, Digital8, and DVCAM cameras. It uses 4:1:1 sampling to reduce the data rate to ~15MB/s, then uses a 5:1 intraframe compression to achieve a final data rate of 3.6MB/s. It requires acceleration (typically a chip located in the camera) for compression and full-quality playback.
Video with a lot of detail will not compress efficiently. Especially when targeting very low bandwidth, you should try to eliminate detail in your video image (i.e. use a background without a lot of detail in it).
Fast motion also creates a problem for low bandwidth compression. When the camera is moving each frame is different than the one preceeding it making it difficult to do efficient interframe compression, so static shots (camera on a tripod) will compress much better than handheld shots.
Dissolves and other transitions also cause each frame to become unique and will not compress well. Straight cuts are best when editing video targeted at a low bandwidth.
Fast cuts (MTV style) also do not compress well because each cut requires a new keyframe...the more keyframes your video needs, the higher it's data rate will be.
When efficient interframe compression is not possible, the CODEC will resort to very high intraframe compression to fit video within the target data rate. This will result in a significant loss of quality and detail in your video (it usually becomes very "blocky"). If you shoot the video with the above constraints in mind you can avoid this and get fairly clean video even at very low data rates.
If you reduce the size(height/width in pixels) of your video by 50%, you reduce it's data rate by 75%. Thus you will not need as much compression to hit a target data rate and your images will look much cleaner. Reducing the frame rate will also allow for less compression; 10 frames per second is acceptable for video without a lot of motion in it and results in a file which is 1/3 the size of standard 30fps video.