A look at the ProRes video codec
ProRes is a mezzanine video codec designed by Apple, it’s pretty cool! But what is a mezzanine video codec?
Mezzanine video codecs
These aren’t low storey floors! But are called Intermediate File Formats, they are special video formats optimised for production usage! So that means:
- Little generational loss when re-encoding.
- Intraframe.
- High information.
- Appear visually lossless.
These are great things to have during the making phase of a production as footage will often pass multiple hands with quick turn-arounds. Intraframe, ensures the footage can be playbacked at low latency as only a single frame is required to be decoded. Overall these codecs provide a fantastic experience for productions.
More information, if its going through colouring or gfx, it is very beneficial and helps reduce their workload.
In comparision to H264
Playback of clips. ProRes is designed to be quick to decode, making it appealing for scrubbing footage and playing multiple at the same time. H264 is optimised to be played back at 100% speed, causing a lot of performance issues when you are moving around your edit as it needs to decode from neighbouring frames to calculate required frames.
There is generational loss for each H264 export, when you have your edit go from camera, edit, colouring, and distro there are a lot of stages of loss and damages the video. ProRes generational loss is incredibly difficult to see, making it functionally lossless.
Professional recorders like the Blackmagic Video Assist can only record in mezzanine containers. Video cameras will often output more information over their video output ports than what is available from the built-in recorders. Which is great for post-production as it makes keying for graphics and colour grading easier.
Faster export time due to reduced complexity. This does come at the cost of large file sizes due to the large bitrates. Although modern computers often feature hardware acceleration for H264 so the point is a mixed bag!
Allows precise trims, as with H264 you need to re-encode it to get accurate cuts (at a cost of quality). ProRes can losslessly allow trims due to the intraframe-ness.
Timecodes. This is more a pickle with the container but there is no standard saying MP4 can contain timecodes. Timecodes make it easier syncing up multiple cameras. ProRes which is usally stored in MOV doesn’t have this issue!
It’s a forgiving format due to the small number of parameters, you don’t need to tune it, just select ProRes 422 and a container and it will give a good looking export making it quite friendly for the non-technical. H264, has a lot more parameters, fantastic for optimising but not the most friendly!
Closing thoughts
ProRes is cool, I hope to get to play around with it more and other mezzanine codecs, but it is interesting just seeing how many options you have in terms of compressing video.