💡🎬 Codecs, Containers, Compression

Spatial Compression

Compression within the frame.

Temporal Compression

Compression across various frames over time.

That video was a bit in depth, but you should well understand that compression compounds in severity with every generation. This is best demonstrated via this multi-generational compression demonstration on YouTube where this guy uploaded a video to YT 1000 times.

From Frame.io:

Codecs are a core technical consideration for every step of post-production, so it is critical that everyone who touches your workflow understands the basics.

A codec is the set of rules that tells computers and electronic equipment how to handle your media files, most notably digital video footage. The term codec is a shortening of the words compressor-decompressor or coder-decoder. As the name implies, codecs make video files smaller for storage, and then turn the compressed data back into a usable image when you need to use it again.

[Note: Codecs are not the same as containers. Containers are the file types that actually store digital video data, and can be used in conjunction with many different codecs. Imagine containers as the box where you put data, and codecs as the instructions for packing and unpacking the box. H.264, DNxHD, and ProRes are codecs, while .movs, .mxfs are containers.]

We need codecs because uncompressed video files are gigantic. A single minute of uncompressed 4K footage measures in the dozens of gigabytes. So, you will probably never have the option of working with uncompressed footage (video without a codec) all the way through your workflow. It’s just too large and too complex to work with in most cases.

Codecs solve this problem by reducing the size of your footage and making it easier to work with across the post-production pipeline. But just because the image is compressed doesn’t mean it will look worse. While not all codecs are created equal, there are many high-end codecs you can choose from that still deliver stunning image quality. The right codec will make your footage much easier to manage, and you may not even be able to tell a difference from the original.

That said, you will be able to tell a difference if you choose the wrong codec for certain post-production processes. Using a codec with too much compression might make your desired color-correction unachievable, or make your VFX work look unrealistic. On the other hand, codecs with too little compression might make your video uneditable on normal computer hardware, and cause issues when transferring data between teams or facilities. Different codecs are good in different contexts, but there is no single codec that works for every use case.

Choosing codecs is one of the most important technical decisions you will make for your project. To a large extent, codecs determine what you can do with your footage in post and how complex your workflow will be. It is usually much safer, faster, and cheaper to pick codecs that you know will fit neatly into a pre-planned/pre-existing workflow, than it is to improvise a new workflow around codecs that you have not used before. The last thing you want is to find out some or all of your footage is unusable because the codec isn’t compatible with your software or hardware. As with everything in post-production, test all your codec choices before the project begins.

Of course, to pick codecs effectively, you need to understand how they impact the visual qualities of video. While the mathematics and computer science behind codecs are quite complicated, there are only a few fundamental concepts you need to know to choose the right codecs for your production.”

Popular Codecs include

  • ProRes
  • ProRes Raw
  • DNxHD
  • h.264
  • MPEG-2

CABAC: “Context-adaptive binary arithmetic coding is a form of entropy encoding used in the H.264/MPEG-4 AVC and High Efficiency Video Coding (HEVC) standards. It is a lossless compression technique, although the video coding standards in which it is used are typically for lossy compression applications.”

Open/Closed GOP: “A closed GOP is a group of pictures in which the last pictures do not need data from the next GOP for bidirectional coding. Closed GOP is used to make a splice point in a bit stream.”

Scroll to Top