Transcode Video to CineForm MOV with FFmpeg

This article provides a quick, step-by-step guide on how to convert video files into the high-quality GoPro CineForm (VC-5) codec inside an MOV container using FFmpeg. You will learn the exact command-line syntax, quality settings, and pixel format configurations needed to produce professional-grade, visually lossless intermediate files for video editing.

The Standard Transcoding Command

To transcode a video to CineForm (VC-5) in an MOV container with high-quality 10-bit YUV 4:2:2 color representation and uncompressed audio, run the following command in your terminal:

ffmpeg -i input.mp4 -c:v cfhd -pix_fmt yuv422p10le -q:v 1 -c:a pcm_s24le output.mov

Explanation of Parameters

  • -i input.mp4: Specifies the path to your source video file.
  • -c:v cfhd: Selects the native FFmpeg CineForm encoder.
  • -pix_fmt yuv422p10le: Sets the pixel format to 10-bit YUV 4:2:2. CineForm is designed for high bit-depth editing, making 10-bit the standard choice for preserving color grading latitude.
  • -q:v 1: Controls the quality/bitrate compression level. CineForm uses a specific scale where lower numbers yield higher quality:
    • 0: Filmscan 2 (Maximum quality, highest file size)
    • 1: Filmscan 1 (Very high quality, recommended for master files)
    • 2: Keyframe (High quality)
    • 3: High (Good balance of size and quality)
    • 4: Medium (Standard editing quality)
  • -c:a pcm_s24le: Converts the audio to uncompressed 24-bit PCM. Since CineForm is an intermediate editing codec, keeping the audio uncompressed prevents generation loss.
  • output.mov: The final output file path using the QuickTime (MOV) wrapper, which is the native container for CineForm.

Encoding 12-bit RGB (with Alpha Channel)

If you are working with graphics, VFX, or source footage that requires 12-bit RGB color depth (with or without an alpha channel), adjust the pixel format to gbrp12le:

ffmpeg -i input.mp4 -c:v cfhd -pix_fmt gbrp12le -q:v 0 -c:a pcm_s24le output.mov