If you run a Windows system like I do, then I’m sure you cringe when you work with a client or Final Cut editor who requests ProRes. You grab your phone and scramble to find a friend with a laptop and Final Cut. The problem is even worse if you’re transcoding R3D files on a system without a Red Rocket card; excruciatingly slow.
I’ve found an alternative workflow that is semi-automated and cheap using FFMPEG (or more specifically, a version called FFMBC with extra features for broadcast formats) and a neat Python script to bridge it with Redcine X Pro, or any other batch media encoder like Adobe Media Encoder or Sorrenson Squeeze.
Why didn’t I decide to use a frame server like Avisynth or DebugMode? I wanted to transcode multiple files without supervision, or at least minimal supervision.
This system isn’t for the faint of heart but if you’re a DIT and computer nerd like I am, I think you’ll find it easy enough.
Download the RedToProRes. Open it up in Komodo Edit and look at the settings area, but specifically line #20:
command_string = r'C:\path\to\ffmbc.exe -threads 16 -i FILE -vcodec prores -profile lt -acodec copy "C:\path\to\prores\FNAME" & del FILE'
You’ll need to edit this gingerly. Do not remove the r or the single quotes, but edit your path to FFMBC. What follows is mostly command switches for FFMBC: 16 threads is acceptable on a quadcore machine, the input which is filled in automatically, the ProRes codec andprofile (You can encode proxy, lt, standard, hq, and 444. Learn more about editing the profile switch here.), the audio codec which just copies the audio from our source file, and the path where the ProRes file will end up. For the destination path, FNAME represents the filename of the ProRes file, this is filled in automatically and is the same as the original uncompressed file we’ll create in Redcine X Pro. For now, your source path and destination path should not be the same folder and, for better speed, ideally they shouldn’t even be on the same hard drive.
Install Blackmagic Design’s 10bit Quicktime codec.
Open Redcine X Pro and create the following export preset with these compression settings: Quicktime, Blackmagic 10bit, current fps, uncompressed audio. You’ll want to set your audio settings to whatever is natively recorded, 16bit 48000Hz for instance; set the channel settings to stereo but Redcine X Pro will encode as many channels as are in the original audio in case, lets say, you have 6 channels from an external recorder. When you hit ok, it may label video quality as “medium”, ignore that. Set your output path, you’ll need to edit the Python script on line #16 to match.
Start your batch, then double-click on the Python script. The Python script will open a command prompt window, let this run the entire time. As the uncompressed video files complete, they will be transcoded by FFMBC, and as they finish transcoding the original uncompressed file will be deleted to save hard drive space.
Open Process Lasso the first time FFMBC starts to encode a file, find ffmbc.exe on the process list, right-click it and select Default Priority Class > Below Normal. This will stop FFMBC from fighting with Redcine X Pro for hard drive access which can lead to problems like corrupt uncompressed files or a frozen Redcine X Pro. These settings are sticky so FFMBC will always start with a below normal priority.
After the encoding is finished, create an export preset in Redcine X Pro with the file format Avid AAF & MXF. Click Setup and select ALE Only and ignore the codec quality. Process the same batch of files in the previous step.
Open QtChange and on the left click Source Folder. Find the folder containing your ProRes files. Next click Use ALE Data and load the ALE file we created in the previous step. You’ll notice that QtChange is propagating all the timecode that was stripped by FFMBC. On the far right hit Do It! to save your timecode.
This script is designed to run concurrently with Redcine X Pro. It works by monitoring for files that are growing in size, then as they stop they are considered ready to be fed to FFMBC. Because of this, I highly recommend letting your batches run undisturbed. If you pause a batch in Redcine X Pro, the file that is transcoding may prematurely be processed by FFMBC, causing it to error out. If this happens, just close the Python window and restart the script.
You’re all set! The initial setup and learning curve is a little tricky, but the process is beautifully automated after that. Do I hope to program something a bit more turn-key in the future? Yes, but for now this works and it’s worth sharing.
Full disclosure: All software was researched and purchased personally. I did not receive any payment or incentives to mention any of the software used in the above post. I also like long walks on the beach.