Reconyx Makernotes Format Changed

Started by fluxorsist, June 05, 2013, 09:06:23 AM

Previous topic - Next topic

fluxorsist

Hello Everyone,

We are using Exiftool to read the makernotes section of Reconyx Hyperfire cameras (HC500/600 and PC800/900). Unfortunately, the latest firmware update (V 4.0.0.20130226) seems to use a different format for the makernotes section. When attempting to read the metadata Exiftool reports "miner: unknown makernotes".

I've attached a sample image of a camera with the latest firmware.

Does anyone know what has changed and how we can make exiftool read the makernotes section again?

Phil Harvey

Thanks for this report, and for the sample.  It seems that the new version of the maker notes is compatible with the current ExifTool decoding.  So the only change needed is the magic number recognition for MakerNoteReconyx in lib/Image/ExifTool/MakerNotes.pm:

        Condition => '$$valPt =~ /^\x01\xf1[\x02\x03\x04]\x00/',

This will be updated in ExifTool 9.31

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

fluxorsist

Thanks for the quick reply. I'm glad it's not a complicated issue. Reconyx states that they didn't recently change the format of their metadata, but that they do evolve it for internal use. Hopefully this will mean we will be able to read the metadata without issue in the future.

Thanks again and cheers!

Phil Harvey

Every time they change the version number this will happen.  Unfortunately I need to check the version number as part of the MakerNote identification because the chance of a false positive would be too high otherwise (I can't just check the EXIF Make and Model because some Reconyx cameras don't write them).

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Phil Harvey

I just received an email from Reconyx indicating they plan to write the Make for all new Hyperfire cameras.  (They have been very good about making their makernote specification available.)  So I'm now leaning towards this condition:

        Condition => q{
            $$valPt =~ /^\x01\xf1([\x02\x03]\x00)?/ and
            ($1 or $$self{Make} eq "RECONYX")
        },


... which has the advantage of being forward compatible, and shouldn't increase the chances of a false match.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).