Convert Video to DPX Image Sequence with FFmpeg
This article provides a straightforward guide on how to transcode video files into the high-end DPX (Digital Picture Exchange) image sequence format using FFmpeg. You will learn the basic conversion commands, how to manage pixel formats for high-dynamic-range color depths (such as 10-bit and 12-bit), and how to customize frame numbering for professional visual effects (VFX) and color grading workflows.
Basic Conversion Command
To convert a video file into a standard DPX image sequence, use the following basic FFmpeg command:
ffmpeg -i input.mp4 output_%06d.dpx-i input.mp4: Specifies the input video file.output_%06d.dpx: Specifies the output naming convention. The%06dtells FFmpeg to number the frames sequentially with six-digit, zero-padded integers (e.g.,output_000001.dpx,output_000002.dpx).
Specifying Color Depth and Pixel Format
DPX is primarily used in professional cinema workflows because it
supports high color depths. By default, FFmpeg will choose a pixel
format that matches the input source. To ensure you are exporting to a
specific professional standard like 10-bit or 12-bit RGB, you must
explicitly set the pixel format using the -pix_fmt
flag.
10-Bit RGB (Most Common for VFX)
To export to a 10-bit DPX sequence (using big-endian or little-endian byte order), use:
ffmpeg -i input.mp4 -pix_fmt gbrp10le output_%06d.dpxNote: gbrp10le represents 10-bit Planar GBR
Little-Endian, which is widely compatible with industry software like
DaVinci Resolve and Foundry Nuke.
12-Bit RGB
For projects requiring maximum color data retention, you can transcode to 12-bit DPX:
ffmpeg -i input.mp4 -pix_fmt gbrp12le output_%06d.dpxAdvanced Workflow Configurations
Setting a Custom Start Frame Number
VFX pipelines often require image sequences to start at a specific
frame number (like 1001 or 86000). You can set
this using the -start_number flag:
ffmpeg -i input.mp4 -start_number 1001 output_%06d.dpxExporting a Specific Time Range
If you only need to transcode a specific segment of the video rather
than the entire file, use the -ss (start time) and
-t (duration) or -to (end time) flags:
ffmpeg -ss 00:01:20 -i input.mp4 -t 5 -pix_fmt gbrp10le output_%06d.dpxThis command starts transcoding at 1 minute and 20 seconds into the video and exports a 5-second duration of DPX frames.