Canon RAW Burst – extract raw RAWs

Extracting Frames from Canon RAW Burst Files on Linux Using dnglab

Introduction

Canon's newer mirrorless cameras, including the Canon R17, support a feature called RAW Burst Mode. This feature allows photographers to capture a rapid sequence of RAW frames, encapsulated within a .CR3 container. While Canon’s proprietary software can extract individual frames, Linux users need an alternative open-source solution.

This post explores how to extract individual frames from RAW Burst files using dnglab, a command-line utility designed to process Canon’s .CR3 format.

Why Extract RAW Burst Frames?

RAW Burst Mode can be useful in scenarios where you need:

  • High-speed action shots, capturing multiple RAW frames in quick succession.
  • Frame selection post-shooting, allowing you to pick the sharpest or most optimal frame.
  • Enhanced post-processing control, compared to relying on Canon’s built-in tools.

However, since Canon embeds all burst frames into a single .CR3 file, Linux users must extract them manually.

Prerequisites

Before proceeding, ensure you have:

  • A Linux system (Debian-based, Arch, Fedora, or any modern distribution)
  • dnglab installed
  • A .CR3 RAW Burst file from your Canon R17
  • Basic familiarity with the command line

Installing dnglab on Linux

dnglab is an open-source utility designed to handle Canon’s .CR3 files. While it isn’t packaged in major distributions yet, you can download the latest release from GitHub:

Steps:

# Download the latest release
wget https://github.com/dnglab/dnglab/releases/latest/download/dnglab-linux-x86_64.tar.gz

# Extract the binary
tar -xvzf dnglab-linux-x86_64.tar.gz

# Move it to a directory in your PATH
sudo mv dnglab /usr/local/bin/

# Ensure the binary is executable
chmod +x /usr/local/bin/dnglab

Now, you should be able to run dnglab from any terminal.

Extracting Frames from a RAW Burst File

Once dnglab is installed, navigate to the directory containing your .CR3 file and extract its frames:

mkdir extracted_frames

dnglab convert --image-index all your_raw_burst_file.CR3 extracted_frames/

This command will extract all frames and save them as .DNG (Adobe Digital Negative) files inside extracted_frames/.

Extracting a Specific Frame

If you only need a particular frame, specify its index:

dnglab convert --image-index 5 your_raw_burst_file.CR3 extracted_frames/

This extracts only the 5th frame from the burst.

Verifying the Extracted Frames

Once extraction is complete, verify the .DNG files:

ls -lh extracted_frames/

You can open the .DNG files using Darktable, RawTherapee, or exiftool for metadata inspection:

exiftool extracted_frames/frame_0001.dng

Automating the Process with a Bash Script

For users dealing with multiple .CR3 files, the following script automates extraction:

#!/bin/bash

# Directory for extracted frames
mkdir -p extracted_frames

# Find and process all .CR3 files simultaneously
find . -type f -name "*.CR3" | while read -r file; do
    echo "Extracting frames from $file..."
    dnglab convert --image-index all "$file" extracted_frames/
done

echo "Extraction complete!"

Save this as extract_raw_burst.sh, make it executable, and run it:

chmod +x extract_raw_burst.sh
./extract_raw_burst.sh

Additional Considerations

  • The extracted .DNG files retain full RAW sensor data, making them ideal for post-processing.
  • Canon’s .CR3 format is proprietary, and while dnglab can extract frames, metadata consistency may vary across software.
  • .DNG files might display identical embedded thumbnails—relying on software like RawTherapee or Darktable ensures correct RAW rendering.

Conclusion

By leveraging dnglab, Linux users can extract individual frames from Canon’s RAW Burst .CR3 files efficiently. This workflow empowers open-source enthusiasts, self-hosters, and home lab users who prefer Linux-based photo processing over proprietary Windows/macOS applications.

For those passionate about open-source imaging tools, contributing to projects like dnglab or exploring alternative .CR3 parsing libraries can further improve Linux support for Canon’s RAW formats. Happy hacking!


References:

Leave a Reply

Your email address will not be published. Required fields are marked *