Support for Canon CR3 format in Rapid Photo Downloader

Just a little note to say that the next version of Rapid Photo Downloader will support the CR3 file format.

There are two aspects to this support: (1) reading the metadata and thumbnail from the new CR3 format, and (2) being able to download from the cameras that produce these CR3 files.

Regarding (2), as most of you know Rapid Photo Downloader uses libgphoto2 to communicate with the camera. I have no idea when libgphoto2 will support downloading from the new Canon cameras that produce this new CR3 format (e.g. M50 and EOS R)… maybe it does already. Hard to say since I don’t own one of those cameras. When libgphoto2 supports the new Canon cameras, Rapid Photo Downloader should work with them. I say “should” and not “will” because getting stuff like thumbnails from RAW files that are on a camera is not easy… it means downloading part of the RAW file from the camera and passing the data off to a program like exiv2 or ExifTool to extract the thumbnail from. Which part of the RAW file? Well, that depends on the RAW file – it varies a lot, even for ostensibly the same format – and the assumption that exiv2 or Exiftool don’t need the entire file just to read the thumbnail. (Basically if the metadata & preview image are not at the start of the file, then it’s extremely difficult to deal with such a format without insider knowledge of what to extract where).

Regarding (1), it’s a bit tricky because since 2007 Rapid Photo Downloader has relied entirely on exiv2 for reading photo metadata and extracting the thumbnail. Exiv2 0.28 will support CR3, but it won’t come out for a while. So until then, Rapid Photo Downloader will rely on ExifTool to read the CR3 metadata and extract the thumbnail. Having access to ExifTool’s abilities is great, but it’s much slower than exiv2 (when called from Python, at least), and it’s a PITA to work with from Python. For example instead of passing data to and from it via memory it has to be written out to disk first.

Attached is a screenshot using a mix of test data, some of which is from the raw samples repository, and some from DP Review and possibly other online sources:

You can see the last two files are CR3 files. On the left is some output of analysis of the files produced by a Rapid Photo Downloader helper program, analyze-pv-structure.