FCP 7: Pick the Right Version of ProRes
[ This article was first published in the May, 2010, issue of
Larry's Monthly Final Cut Studio Newsletter. Click here to subscribe. ]
With the release of Final Cut Pro 7, Apple increased the number of ProRes versions from two to five:
- ProRes 422 Proxy
- ProRes 422 LT
- ProRes 422
- ProRes 422 HQ
- ProRes 4444
So, that begs the question: which version should you use for your project?
The first four flavors of ProRes in this list are identical in every respect, except one – bit rate. They all support:
- Intra-frame encoding, meaning each frame is individually compressed as a stand-alone picture, unlike GOP-based encoding like XDCAM EX or HDV.
- Variable bit-rate data encoding, creating smaller files than constant bit rate encoding.
- 10-bit color depth, for very high color fidelity
- 4:2:2 chroma sub-sampling, the maximum allowed for video formats
- Fast render times, much faster than GOP-compressed video like XDCAM EX or HDV
- Faster editing within Final Cut Pro
- Matching the frame rate, frame size, and pixel aspect ratio of the source video
- Optimized for multiple processor support (Unlike H.264, ProRes encoding and decoding are optimized for multiple processors.)
There is a relationship between bit rate, file size, and image quality. In general, the lower the bit rate, the smaller the file size, and, potentially, the lower the image quality. The five versions of ProRes in the list above are sorted in order from lowest bit rate to highest bit rate.
ProRes 4444, the fifth version, is the exception. While it builds on the first four ProRes versions, it adds support for the following:
- RGB or YCbCr color space
- Up to 12-bit color support
- Inclusion of the transparency (alpha channel) information in a clip
If you need a clip to retain transparency information, which is called the “Alpha channel,” you only have one choice: ProRes 4444. None of the other ProRes versions support clip transparency.
Well, since it’s clear that ProRes 4444 is the absolute “best” in terms of quality, it seems like we should all just select ProRes 4444 and be done with it.
The problem with this approach is that your file sizes can be quite large, not as large as fully uncompressed HD, but still pretty darn big. (Well, actually, REALLY BIG!) And, unless you have a specific need for this format, you probably won’t be able to see the difference in image quality between ProRes 4444 and other ProRes versions. Also, using ProRes 4444 in your project probably means you’d need to render every shot.
Think of ProRes 4444 as the replacement for the Animation codec. We use the Animation codec when we want to move files between one application and another; for example, between After Effects and Final Cut. Then, once it’s in Final Cut, you render it into the final version you need for your project.
As a transfer format, ProRes 4444 is great. As a video editing format, it’s way past overkill. Most of the time, you will be fully happy with one of the four other versions. And your file sizes will be much smaller.
The four other versions of ProRes differ in only one area: data rate. Changing the data rate directly affects file size and image quality. The slower the data rate, the smaller the resulting file and, potentially, the lower the image quality.
For example, here’s a table that showcases the difference. This is just a guide, different formats create different file sizes, but the general proportions will be the same.
TABLE: ProRes Storage Requirements
|ProRes Version||Store 1 Hour of 720p/60*|
* Source: Apple Inc. ProRes White Paper, June, 2009.
* All versions of ProRes use variable-bit-rate encoding, so the actual data rate and file sizes will differ somewhat from this table. In most cases, they will be smaller.
** ProRes 4444 is listed without including the alpha channel. As alpha channel sizes vary wildly, it is hard to predict the ultimate ProRes file size.
However, the situation isn’t as grim as you might think. Here are some suggestions you can reflect on as you are trying to decide what codec to use.
- ProRes can only be encoded (created) on a Mac. However, it can be played back on both Windows and Mac systems. However, encoding is VERY slow on non-Intel systems, and is not recommended.
- ProRes is highly-optimized for multi-core systems. It provides a very fast rendering speed; earlier versions of ProRes rendered up to 40% faster on systems that I’ve tested.
- All of these versions have exactly the same specifications EXCEPT for the data rate they support. Lower data rates create smaller files, however, with a trade off in quality.
- All versions of ProRes support what Apple calls YUV (YCbCr) color space. ProRes 4444 also supports RGB color space.
- Although Apple makes a point of referring to ProRes Proxy for creating very small files for off-lining projects. The process of converting an off-line to an on-line can be burdensome, especially when you could have compressed into one of the higher-quality ProRes versions and bypassed the entire off-line/on-line conform process in the first place. My guess is that ProRes Proxy files will best be used in Final Cut Server and other environments where long-term retention of a version of the file make small file size important.
- With the release of ProRes 4444, there is no reason to use the Animation codec on system that have it installed, even if you don’t need an alpha channel. (Alpha channels are used when you want to retain the transparency information in a clip.) With or without an alpha channel, ProRes 4444 creates smaller files, with higher quality, than does Animation. And, Final Cut Pro is optimized to play them back.Therefore, if you are exporting from After Effects, or Photoshop, with or without alpha channels, use ProRes 4444.
- If you need to work with multiple HD formats, transcoding (converting) them to ProRes can simplify your entire editing process.
- If you are working with R3D files, transcoding them to ProRes 422 HQ reduces their file size and makes working with them much easier than native R3D files — and, I suspect, you won’t be able to see a difference in quality.As someone pointed out recently, if you want to work with R3D files, use ClipFinder to convert them to ProRes 422 HQ.
- My recommendation is that if you are shooting HDV, XDCAM HD, XDCAM EX, or DVCPRO HD, transcode into ProRes 422. If you are shooting R3D, HDCAM, HDCAM SR, or 2k formats, transcode into ProRes 422 HQ. While ProRes can also be used for SD projects, my suggestion is to work with the native codec, such as DV, rather than transcode into ProRes.
If you are shooting GOP-compressed media – HDV, XDCAM HD, XDCAM EX, AVCHD, AVCCAM – your editing and render times will greatly benefit from converting your footage from the source format into some version of ProRes.
At a minimum, when editing one of these formats, select the Timeline and go to Sequence > Settings > Render Control and change the codec from Same as Source to Apple ProRes 422. My tests have shown that there is about a 40% speed improvement in rendering when you switch to ProRes.
ProRes 422 HQ: This is the highest-quality video format, but unless you are shooting very carefully-lit, high-end video, such as RED, HDCAM, or HDCAM SR, the quality of your source image doesn’t equal the format. Use this version only for high-end work.
ProRes 422: This is the format I recommend for anyone shooting DSLR, HDV, AVCHD, XDCAM EX, XDCAM HD, AVCAM, or P2. Great image quality, with file sizes 30-35% smaller than ProRes 422 HQ. Since the DSLR images start as H.264, which is already quite compressed, ProRes 422 most closely matches the original image quality.
ProRes 422 LT: This is the format to use if you have tons of footage, need to edit using smaller (i.e. less storage space) hard drives, or are going to go thru an off-line to on-line process.
ProRes 422 Proxy: This format should only be used when file size is more important than image quality. Training files, library archive files, or other reference media are a good choice for this format.
NOTE: If you are on an older, non-Intel system, ProRes may not be a good choice for you. The math involved is very CPU-intensive and older systems may not be able to encode or play it fast enough.
ProRes is an excellent video codec and one that has achieved great popularity in the industry. However, that doesn’t mean you always need to select the absolute highest quality — many times our images weren’t that good to start with.
By spending a few seconds thinking about which ProRes version best matches our video format, we can save a ton of time and storage space down the road.
UPDATE – Aug. 30, 2009
Luca Immesi adds:
I enjoy your newsletter every month, it’s a real valuable source. I’m a film maker and I am one of the Red, Redallert, Clipfinder alpha tester. In your last newsletter there’s written to convert the R3D footage to prores 4:2:2 but now the right format is ProRes 4444 as R3D files are 4:4:4, this is suggested also by Red and Apple.
Larry replies: Thanks, Luca! Though it may be easier for some, especially those not going into heavy CGI work, to keep their file sizes smaller and transcode into ProRes 422 HQ.
Some Historial Background
[ The information below was first published in the June, 2007, issue of
Larry's Final Cut Pro Newsletter. Click here to subscribe.
Updated August, 2007. ]
Chuck Spaulding has been involved in motion graphics and codecs for a number of years. Recently, he and I got into a discussion of video codecs and he provided his thoughts on Apple’s ProRes codec.
Quality appears to be quite good, although I’m sure the folks at Cineform and SheerVideo will do a comprehensive evaluation and we’ll learn the RMS error rate, what its weaknesses are and how it holds up in post. However image quality is only half the equation, workflow is the other half and I’m having a tough time figuring out a workflow that makes sense.
After seven or eight generations of ProRes re-compression there is a noticeable difference compared to the uncompressed original which means that the codec isn’t lossless, which would seem to be a minimal standard for an editing codec. If ProRes progressively degrades the image even when you haven’t edited a single pixel, how can it possibly hold up under real-life situations where you’re transforming, filtering, adding effects, compositing, color-grading, and so on?
So ProRes is a lossy codec, it is 4:2:2 [not 4:4:4], it is Y’CbCr [not RGB], and it does not support alpha channels. Nowadays, almost all commercial productions combine video (Y’CbCr) footage with digitized film (Cineon) and CGI (RGB), so the ability to handle and transport data equally well is imperative, as is the ability to convert between them without loss. It’s hard to imagine a video or film production without compositing, yet Apple’s ProRes codec, like their uncompressed Y’CbCr 4:2:2 and AIC codecs, do not support an alpha channel.
The lack of an embedded alpha channel means that compositing requires two streams of data for each overlay instead of just one, exacerbating the already painful bandwidth problems associated with high-definition video. Also, in SD, video professionals are accustomed to smeared chroma, there’s a popular myth that sub-sampling chroma doesn’t matter because the human eye doesn’t resolve chrominance as well as luminance. In the human retina as a whole, it’s true that color-blind rods outnumber hue-discriminating cones. In the fovea, however, which receives the part of the image we pay attention to, the retina has no rods at all – only cones. So while 4:2:2 may look good enough for standard definition video it is not good enough for anything beyond SD.
That doesn’t mean that it isn’t a step in the right direction and I’m sure FCP users will adopt it. However one real problem with this codec is that it is Apple-only, meaning it won’t work with Premiere on the Mac Pro. This is a significant constraint of the workflow.
Larry replies: Thanks, Chuck. If anyone has additional comments, please send them and I’ll update this article.
UPDATE – August, 2007
Peter Patten writes:
In reading your recent article on ProRes, are you really sure that the Apple Pro Res 422 Codec differentiates between 8-bit and 10-bit converting? I went through the Apple Pro Res 422 Codec and I could never find that difference!
It is always said that it encodes 8-bit and 10-bit Material with 10 bit in two different ways. But it never said that the (HQ) is converted with 10-bit and the lower one with 8-bit.
So just the question: Are you really sure?
Larry replies: Peter, thanks for writing. It turns out my initial understanding was wrong.
ProRes 422 ALWAYS stores video information in a 10-bit environment. The difference between ProRes 422 and ProRes 422 (HQ) is the data rate, not the bit depth.
To make sure of my facts, I contacted Adam Green, Senior Manager for Business and Market Development for Apple’s Professional Applications. Adam wrote:
Yes, ProRes is a 10 bit native codec only, and can be used with either 8 or 10 bit sources. 8-bit sources (DVCProHD, for example) would be converted into a 10-bit file. ProRes and ProRes (HQ) are BOTH 10-bit codecs, and there is no option to choose 8-bit when capturing.
Also, you are correct, ProRes 422 only runs on Macintosh systems. Right now, the codec is a Mac-only codec which resides in /Library/QuickTIme/. The answer today for PC users would be to attache to a Final Cut Server Server, and when a ProRes file is browsed on the server (the proxy would be H.264 or Offline-RT), and the PC user wants the online file, there would be a transcode template assigned to that device.
So essentially, the PC user would choose Uncompressed or Animation as the download codec, and the ProRes file would be converted as the file is downloaded. That way, codecs that are not available on the PC can be used anyhow. Good for people doing After Effects work, etc.
Larry replies: Thanks, Adam and Peter, for letting me clarify this. As a note, while Adam implies that Final Cut Server is currently available, it has only been announced by Apple, it is not yet released.
Also, here are some additional thoughts based on what I’ve learned recently.
If you are working in the following formats, there is no reason to use ProRes 422:
If you are working in the following formats, ProRes is worth considering, but probably not worth the effort:
- Beta SX
- Beta SP
If you are working completely in HDV or XDCAM, you should continue working natively in that format, HOWEVER, make sure to change your Render preferences so that you are rendering in ProRes. ProRes renders 30-40% faster than HDV.
If you are working in HDCAM or HDCAM SR, or multiple HD formats, ProRes makes a great deal of sense in terms of reducing file size and speeding render times.
UPDATE – Aug. 22, 2007
Tom Wolsky writes:
Does this presume that you’ll be outputting to ProRes? If you output a master back to native HDV, won’t everything have to be re-render into HDV, losing all the saved time on the backside?
Larry repllies: Tom, in my tests, rendering HDV with ProRes was 34% faster than rendering native HDV with no change in export time. In other words, conforming took essentially the same time, whether I was rendering in HDV or ProRes.