Windows ProRes Encoding

Mike McCarthy   February 13, 2017   Comments Off on Windows ProRes Encoding

ProRes is a Quicktime codec that was first released in 2007. It uses DCT based compression to store 10bit 422 HD video data in an efficient format. It was basically Apple’s version of Cineform, which had offered an identical feature set and compression ratios since 2002. This trend continued as both eventually released support for 12bit 444 data with alpha, and then expanded resolution support to 2K, 4K and beyond.  As a PC based editor, I was a long time advocate for Cineform’s codec and tools.  But with a large existing Final Cut user base, ProRes received much wider industry acceptance than Cineform did, despite having no major technological advantages, and being initially limited to OSX systems, with FCP installed.  Apple released free Quicktime playback codecs a year later for both OSX and Windows, which probably accelerated adoption throughout the industry. But ten years later, and after the official deprecation of Quicktime on Windows, it is still a challenge to encode ProRes files on Windows systems. This becomes a greater issue as Mac hardware options continue to get older without a system refresh with faster components. (As a side note, the best way to get around the security issues associated with Quicktime player on Windows, is to install the newest version 7.7.9, and then uninstall the player, but leave the QT components and other associated files.)

While ProRes is not an official “standard” it has become a delivery “requirement” in certain cases. We could do a comparison of the quality of various codecs, like Cineform and DNX, but that is besides the point. Sometimes you just need a ProRes file for outside reasons, regardless of the merits of the codec itself. I am working on a feature film right now that has a ProRes 444 delivery requirement for the foreign distributor. This would not be an issue except that and we are a 100% PC shop right now. My previous PC based facility was large enough to afford one Mac purely for HPFS and ProRes support, but I am on much smaller team now, and that is not feasible. So I launched a serious search at the end of last year, to find the best way to create my needed ProRes 444 deliverable.

My first stop was Miraizon, which my last facility used for a while, but it is no longer for sale, and I no longer have access to that copy. But I see discussion online that it was slow and limited to 8bit color depth, which would be a no-go in my current situation.

Next I found ConvertV4 (previously ClipToolz) which claims to encode to ProRes422 and 444 in a standalone converter application.  There is a free version, or you can buy a license for about $20.  I tested this software extensively, purchased a license, and had a dialog with the developer. My conclusion was that it works great for ProRes422 content, but 444 RGB conversions introduce a color and gamma shift, even from RGB source. That may be fixed in the future, but the most recent update did not change that.

Cinemartin has an encoding plugin that supposedly works well, but it costs about $1000 and comes from Europe.  If I was in a facility that needed a smooth ProRes workflow on a regular basis, this might be worth the expense.  There are also a bunch of other options integrated into more expensive applications or hardware solutions, with the official list available from Apple here. But I have very limited ProRes needs, so I concluded that it would be a better use of money to buy a Mac-Mini for this conversion, if I couldn’t find one to borrow. My film delivery got delayed, so I hadn’t needed to make that decision yet.

But then at the end of last month, while I was on a trip, a new option appeared, at WindowsProRes.com. The site is pretty simple, and the price keeps fluctuating, but it advertises full support for ProRes422 and 444 encoding up to 6K, in Quicktime enabled applications on Windows. Numerous people were asking me if it was legitimate before investing money in it, but I didn’t hesitate to secure my copy for $80 during the initial discount, knowing at least I would get a story out of it. I purchased and downloaded it that evening, and did some immediate quality tests on my laptop before making purchase recommendations to others who were asking me. The actual “software” is a single QTS file that resides in Quicktime alongside my Cineform and DNxHD codecs.  The elegance of this solution is why it integrates so seamlessly into most applications.  They claim to be working on a version that doesn’t require Quicktime, which will have its advantages, at the expense of the simplicity of the existing solution.

I initially tested 422 and 444 encodes in AME and AE on my laptop, and did difference matting tests in AE to verify them. I had lots of content to test with, including a ProRes444 file encoded in OSX for comparison, from my previous experiments. My initial conclusion was that both 422 and 444 worked great, in HD and 4K, but my 6K renders failed. Regardless of that issue, it was a clear “buy” for anyone who needs that basic encoding functionality.

Chris Zwar posted an article at Pro Video Coalition a few days later, sharing his initial tests as well. He comes from a very different perspective, and compared it to natively encoding ProRes files in OSX. I don’t have an OSX system, and if I did, I wouldn’t need this software, but there is still a strong case to be made for it in cross-platform environments. I think that queuing renders from a PC for a Mac render farm is even more corner case than the reverse, but supposedly even that works with this approach to native ProRes support. Chris also points out that the PC files are slightly larger, and does a good test of true 10bit encoding. What he doesn’t do is test whether this ProRes 444 implementation is RGB or YUV, since the codec officially supports both pixel formats (bottom of page 5).  He also doesn’t test encode speed, and while I have no interest or capability to test encoding speed in comparison to OSX, I am interested in measuring speed to compare it to other compressed exports of the same content.

I had a chance to run a more extensive set of tests on my desktop workstation once I got home.  I tested the encode speed compared to exporting DNXHD and Cineform, since that will give existing users context independent of my specific system specs.  WindowsProRes encodes are about 5 times slower than most other compressed HD codecs on my system.  I was able to confirm that the 444 variants are RGB instead of YUV, which follows the usual implementation.  I recommend always selecting “Render at Maximum Depth” and 48-bit “Depth” in the encoding options if you want to ensure 10bit color in your ProRes files.

The plugin encodes accurate 422 and 444 video at reasonable file sizes for HD, 4K, and 6K.  The image below is a selection of cropped difference mattes for various 422 codecs brightened by a factor of 8 so that the changes are more visible.  Darker is better, with any chromatic or gamma shift making the content identifiable.  The 444 matte was so black at that brightness factor that it is hardly worth comparing, but the 4MB TIFF file is available for those who are interested.

Scaled 50% – Click for 4MB 1:1 TIFF version.

I was able to encode 6Kx858 files at 444, but 6Kx2592 files would only encode at 422.  I hear they are working on that, since they claim to support 6K framesizes, and they are admittedly close to full support of that resolution.  I find playback in Premiere to be similar to DNXHD/HR, but with increased CPU usage, and slightly smoother than Cineform at higher resolutions.  One other thing my tests revealed, was just how much Adobe has optimized Premiere for DNXHR support, both playback and encoding.  The DNxHR 444 variant seems to be a workable solution for 4K/6K filmmaking now, with better performance and quality than Cineform or ProRes, but at larger file sizes.

It is worth mentioning that this new Windows ProRes Encoder is an “unauthorized” implementation of the codec, but that is not necessarily illegal. This is called reverse engineering, and used to be much more common in the tech world. The fact that there is no EULA for the software is at least a little strange. It just says “Insert license here” which presumably is left over from the installer template. So it will be interesting to see what happens to this company, and the long term effects of the solution they have provided. But if you are doing professional video work on PC, this can be a useful tool, especially if you have clients or delivery requirements that include ProRes files, or have a cross-platform workflow.

UPDATE: The guys at ProRes Encoding for Windows are “No longer accepting new sales,” which is unfortunate for anyone who did not snag a copy of this useful workflow tool while it was available.  There is no indication of why they stopped selling it, although I have my suspicions, but I am grateful that they released such a valuable utility for my needs, and it will continue to be a useful tool in my digital chest. ConvertV4 becomes the next best option, if you need to output ProResHQ files from a Windows system.