How to Encode ProRes 422 HQ Using FFmpeg

This article provides a direct, step-by-step guide on how to convert your video files into the Apple ProRes 422 HQ format using FFmpeg. You will learn the exact command-line syntax required, the meaning of each parameter, and how to ensure maximum compatibility with professional video editing software like Final Cut Pro, DaVinci Resolve, and Premiere Pro.

To encode a video to Apple ProRes 422 HQ, you must use FFmpeg's video encoder and specify the profile corresponding to the HQ standard.

The Standard Command

Run the following command in your terminal or command prompt:

ffmpeg -i input.mp4 -c:v prores_ks -profile:v 3 -vendor ap10 -pix_fmt yuv422p10le -c:a pcm_s24le output.mov

Parameter Breakdown

  • -i input.mp4: Specifies the path to your source video file.
  • -c:v prores_ks: Selects the ProRes encoder. FFmpeg has two encoders: prores (faster) and prores_ks (highly compatible and supports standard-compliant bitstreams). Using prores_ks is recommended for professional workflows.
  • -profile:v 3: Sets the ProRes profile. The standard profiles are:
    • 0: ProRes Proxy
    • 1: ProRes LT
    • 2: ProRes Standard
    • 3: ProRes HQ
    • 4: ProRes 4444
  • -vendor ap10: Flags the video stream as if it were officially encoded by Apple. This prevents warning messages and ensures smooth hardware decoding in macOS QuickTime and Final Cut Pro.
  • -pix_fmt yuv422p10le: Sets the pixel format to 10-bit 4:2:2. ProRes 422 HQ is natively a 10-bit format, so forcing this pixel format ensures high-quality color rendering.
  • -c:a pcm_s24le: Encodes the audio to uncompressed 24-bit PCM. This is the professional standard for ProRes files. If you prefer to copy the original audio stream without re-encoding, use -c:a copy instead.
  • output.mov: The output file. ProRes video streams must be saved in a .mov container.

Fast Encoding Alternative

If encoding speed is more important than strict Apple hardware compliance, you can use the native FFmpeg prores encoder:

ffmpeg -i input.mp4 -c:v prores -profile:v 3 -c:a copy output.mov

This version runs faster and uses fewer CPU resources, making it ideal for quick offline transcodes or preview files.