FFmpeg ProRes Encoding Profile Values

This guide provides a quick reference to the ProRes encoding profile values used in FFmpeg. When encoding video to Apple ProRes using FFmpeg’s native prores or prores_ks encoders, you must specify the quality profile using the -profile:v flag. Below, you will find the integer and string values corresponding to each ProRes standard, along with practical command-line examples.

ProRes Profile Mapping

FFmpeg uses the -profile:v (or simply -profile) option to set the target ProRes profile. You can use either the integer value or the string identifier representing the profile.

Profile Name Integer Value String Value Description
ProRes 422 Proxy 0 proxy High compression, ideal for offline editing
ProRes 422 LT 1 lt Reduced bit rate, lightweight editing
ProRes 422 Standard 2 standard High-quality standard definition broadcast
ProRes 422 HQ 3 hq High-quality production grade
ProRes 4444 4 4444 High-quality with alpha channel support
ProRes 4444 XQ 5 xq Highest quality for HDR and mastering

Note: The ProRes 4444 XQ profile (integer 5 or string xq) is primarily supported by the prores_ks (Kostya) encoder, rather than the standard prores encoder.

FFmpeg Command Examples

To encode a video to ProRes 422 HQ using the integer value:

ffmpeg -i input.mp4 -c:v prores_ks -profile:v 3 output.mov

To encode a video to ProRes 422 LT using the string value:

ffmpeg -i input.mp4 -c:v prores_ks -profile:v lt output.mov

To encode a video to ProRes 4444 while preserving transparency (alpha channel):

ffmpeg -i input.mov -c:v prores_ks -profile:v 4 -pix_fmt yuva444p10le output.mov

Choosing the correct profile value allows you to effectively balance file size and visual fidelity to match the requirements of your post-production workflow.