Trim and cut MP4 video clips directly in your browser.
If a video is 60 frames per second, and lasts for just 10 minutes, that's 36,000 individual images. If we stored every single image as a full JPEG, the file size would be hundreds of gigabytes. To solve this, video codecs use Inter-frame Compression.
An I-Frame (Intra-coded frame) is a complete, standalone image. It contains all the data needed to display that specific frame, independent of any other data. Because they contain so much data, they are placed sparingly by the encoder, usually once every 2 to 10 seconds.
The vast majority of frames in between the I-Frames are called P-Frames (Predicted frames) and B-Frames (Bi-directional predicted frames).
Instead of storing a full image, they only store the mathematical differences from the previous or next I-Frame. If the camera is still and a person is talking, the P-Frame only records the movement of their mouth, while the background data is completely omitted to save space.
If you try to cut a video exactly at a P-Frame using a lossless cutter (without re-encoding), the video player will crash or show a severely glitched, grey screen. This happens because that frame doesn't contain a full image—it relies on the data from the I-Frame that you just chopped off.
This is why "lossless" cutting tools will sometimes snap your trim markers slightly forward or backward: they must snap to the nearest I-Frame to ensure the resulting file starts with a complete image.
What is an I-Frame in video compression?