A video (file types like AVI and MPEG) is a collection of several images being shown. Each image is called frames and the amount of images shown per second is called frames per second or simply FPS. The more frames per second your video has, the better, since more realistic the image will be. Videos are usually saved using at least TV quality settings, i.e., 30 frames per second.
One way to reduce the video file size is reducing the number of frames per second. The file size is reduced, so its quality: you will notice that the movements on the video are kind of strange, less realistic.
In order to reduce the video file size, a video compression technique is used, which works by removing from the video parts of the image that were already shown. For example, imagine a video where there is one person talking and that this person is not moving. On the first frame the image is shown complete, but on the second frame the parts of the image that are identical to the first frame are removed from the image. If only the mouth of the person is moving, only the area around the mouth will be drawn on the second frame.
This technique saves a lot of space, since only the first frame needs to be complete, the other frames have only what is different from the previous frame. These incomplete frames are called delta frames.
On MPEG standard delta frames can be classified as P (”predictive“) frames or B (”bidirectional“) frames. P frames work the way we described above, while B frames can carry not only the difference from the previous frame, but also the difference from the next frame, hence its name ”bidirectional“.
The problem with this technique is that theoretically you couldn’t use the forward and rewind features on your media player. You would need to play the video file from the beginning to build the image that is located in the middle of the movie, since in the middle of the file there is only information of what is different from the previous frame, not a complete image.
Because of that, it is necessary to insert complete frames (like the first frame on the movie) from time to time in the middle of the file in order to allow the forward and rewind features to be used. These complete frames are called key frames or I frames. The more key frames your file has, the bigger it will be (since more complete images, which need more space, will be inserted), but on the other hand more forward and rewind points will exist.
You need to wait your media player to reach a key frame to make it possible to show you the video. Sometimes you move the forward/rewind slider on your media player and have to wait a little for the player to start showing your video from that point on. The less key frames you video file has, the more you will face this waiting problem.
Besides this technique, each frame is compressed using a data loss algorithm – the same idea used on JPEG images and MP3 audio, for example. This means that compressed video doesn’t have the same quality as the original video.