Is it also possible to encode video with Apple ProRes on Windows and Linux?
As of December 2018, Adobe Creative Cloud aps, such as Premier, After Effects and Adobe Media Encoder give you the ability to encode in ProRes without any post-hoc conversion.
If you don't use Adobe CC aps or want a free, open source tool,
ffmpegcan encode video using ProRes, and runs cross-platform.
ffmpeg -i input.avi -c:v prores_ks -profile:v 3 -c:a pcm_s16le output.mov
will do the trick.
-profile switch takes an integer from -1 to 5 to match the ProRes profiles:
proxy≈ 45Mbps YUV 4:2:2
lt≈ 102Mbps YUV 4:2:2
standard≈ 147Mbps YUV 4:2:2
hq≈ 220Mbps YUV 4:2:2
4444≈ 330Mbps YUVA 4:4:4:4
4444xq≈ 500Mbps YUVA 4:4:4:4
The approximate bit-rates are for 1920×1080p footage. All of the profiles are progressive, 10-bit, and little-endian (byte order).
The profiles are explained on the Apple website. There doesn't as yet seem to be support for RGBA encoding in 4444 and 444xq which the official Apple codec supports.
You may also use
prores instead of
prores_ks, which may be a little faster, but does not offer the 4444 profiles. For more background, please read this FFmpeg Wiki article.
I've tried a bunch of front ends for ffmpeg and finally settled on Tencoder. Widows only. It has a preset for ProRes and is very easy to customize so you can crete setting for often used formats or settings. It is multithreaded and allows you to do batch processing.
On Windows, I recommend FootageStudio 4K. It is a commercial converter (not cheap) that supports many professional formats, including ProRes.
This is the command line I have used to encode ProRes 4444. If you do not include
-bits_per_mb you will get low res results in Windows 10. Many posts do not mention this little aspect.
ffmpeg -y -f mov -i input-file.mov -vcodec prores_ks -pix_fmt yuva444p10le -profile:v 4444 -bits_per_mb 8000 -s 1920x1080 output-file.mov
You can try ffmbc - a customized version of FFmpeg. Unfortunately there are no builds for linux or windows at the moment so you have compile it yourself.