Transcode Lossless Dirac VC-2 Video Using FFmpeg

This guide explains how to transcode video files into the mathematically lossless Dirac video format using the VC-2 HQ encoder in FFmpeg. You will learn the exact command-line syntax, key parameter configurations, and recommended container formats to ensure your video is compressed without any loss of quality for archiving or post-production.

The Basic Lossless VC-2 Command

The native FFmpeg VC-2 encoder (-c:v vc2) is an implementation of the Dirac Pro standard. To trigger mathematically lossless compression, you must use the -lossless 1 flag.

Here is the standard command to transcode an input video to lossless VC-2:

ffmpeg -i input.mp4 -c:v vc2 -lossless 1 output.mxf

Explaining the Parameters

Advanced Configuration for Professional Workflows

When working with professional video archives, preserving the chroma subsampling, bit depth, and audio structure is critical.

The following command transcodes a video to 10-bit YUV 4:2:2 lossless VC-2 while copying the audio stream without re-encoding:

ffmpeg -i input.mp4 -c:v vc2 -pix_fmt yuv422p10le -lossless 1 -c:a copy output.mxf

Key Adjustments:

If you need to transcode the audio to uncompressed PCM (common in broadcast workflows alongside VC-2), use this command:

ffmpeg -i input.mp4 -c:v vc2 -pix_fmt yuv422p10le -lossless 1 -c:a pcm_s24le output.mxf

Using these configurations, FFmpeg will generate a mathematically lossless Dirac-compliant VC-2 video stream suitable for long-term digital preservation and high-end video editing.