EXIF - where is the exact number of shutter releases?

Vlado Burjan

Member
Messages
28
Reaction score
0
Location
Bratislava, SK
Hi there, on my 10D and ID Mark II I can find the exact number of images taken with the camera in the exif info. But my method does not work for the 20D. Does anybody know where in the exif is the number hidden? I would expect it to be somewhere in the line "Unknown (0093)3,16 : 32,7172,237,0,0,0,3,0,0,0,0,0,0,0,0,0" but I do not know the formula for calculating it (no formula is needed for 10D and 1D Mk II).
 
Does anyone know the answer to this? I have EXIF Reader but can't tell which field it is.
 
The image counter in the EXIF system works off of the data already on the CF card when formated by the camera. So if you use the card in another camera, your counter will be set to whatever the other camera was. It isn't an accurate way to measure the shutter life. I would suggest doing a file count of the images on your computer from the camera, just a simple right click on the file folder. Much easier and accurate if you ask me, assuming you keep most of your images.

If you really think there is a way to 100% for sure check the "mileage" on your camera, then I would call Canon, I'm sure they would be willing to help out if you have a good reason for asking.
--
http://usedtoit03.deviantart.com/gallery
 
On the 1D series cameras, it stamps the # of shutter actuations in the EXIF regardless of whether you swap out CF cards or not. It was a pretty reliably indicator of the number of shots taken. There was no known way to reset this "odometer" in the 1D series cameras. If the EXIF shutter count said 2381 exposures on the last EXIFjpg of one CF card, you could put in a fresh brand new card, format it, and take a shot and even the new CF card would have an EXIF that said 2382.

I was hoping that the 20D had a similar odometer.

Thanks for the info.
 
..only a Canon tech can get the actual real actuations value. No one has found anything within the EXIF or any other way (including the SDK) to get the value.

Sorry.

--
Photos are not pixels.
Do you believe in chance, or f/8?
 
I searched through the fields in binary and character mode; it's nowhere. Such value is not in the TIFF standard either, I guess. Which program shows this value for the 10D? Could you post an image, which contains it? I would take a closer look at the binary information.

The numbering of the images on the card by the 20D is not straightforward. Someone posted following information for weeks ago (I don't know which post it was, but I saved the content):

-------------------------------------------

So, I had a similar problem with continuous file numbering getting disrupted whenever I swapped cards between two Canon EOS cameras. I called Canon several times and finally got someone that explained to me how this works. I told him it was crazy...he said, "This is how it works, sir." Clearly, he was not in the business of defending this awesomely complicated scheme. (I don't think it was up to Canon, actually...I think it's part of implementing the DCIM standard.)

The camera keeps a number internally that tells about the next image. This is a 5-digit number, let's represent it abcde. When a picture is taken, the image is assigned the following name:

abcCANON/IMG_bcde.jpg (for sRGB)
abcCANON/ MG_bcde.jpg (for aRGB)

So let's assume a brand new camera out of the box and a brand new CF card, set to Continuous file numbering. The 5-digit number in the camera is 10000. When you first format the CF card in the camera, the camera stores this number on the card as well. Formatting the card in-camera does not remove this number from the card. Formatting it in a card reader does.

You shoot your first picture and the camera stores it as:

100CANON/IMG_0000.jpg

Then increments the number in the camera and on the card to 10001. Now you take that card out and put in a different card which you dad has been shooting pictures on with his Rebel XT, set to continuous. His last shot was 45122 (451CANON/IMG_5122.jpg), meaning that it was incremented to 45123. After an in-camera format, the number on the card remains 45123.

When you put this card in your camera, if your camera is set to continuous file numbering, it picks up the larger of the its internal number (10001) and the number on the card (45123). This means your next shot will be 451CANON/IMG_5123.jpg, even after formatting in-camera.

Had you formatted the card in the card reader, Windows does not know about this number on the card and blows it away. Now putting the card in the camera, the camera will see the card has 00000, but in the camera is 10001, it picks up the higher of the two and writes that number to the card.

If you set the camera to auto-reset, it will blow away both the number in-camera (10001 becomes 10000) and the number on the CF card when inserted / formatted (45123 becomes 10000). Now they agree, and when the CF card is inserted back into the Rebel XT, since it's internal number if 45123, it'll pick up the higher and the number on the card becomes 45123.

There's one final kink. Let's say the number in your camera is 22111, the number on the CF card is 33222, and you put the card in your card reader and copy the following image (and folder) onto the CF card:

443CANON/IMG_4333.jpg

When the card is inserted, the camera will sense the image with the highest 5-digit number associated with it and pick it up (I think this happens regardless of whether the mode is set to continuous or auto-reset). Now, it will write 44333 to both the card and the camera.

Once you understand how all this works, you can set your camera to start taking pictures from any number you want. Just set your camera to auto-reset, put the card in, and format it. This causes the number in the camera and on the card to be set to 10000. Now take the card out, put it in your card reader, and create a file in abcCANON/bcde.jpg (where abcde is the number you want to start from). Copy that folder to your card. Set your camera to continuous mode, insert the card. Snap a picture, and you'll see it is stored as abcCANON/bcde.jpg!

--------------------------------------------------------

--
Gabor

http://www.panopeeper.com/panorama/pano.htm
 
Hi, Vlado,
Hi there, on my 10D and ID Mark II I can find the exact number of
images taken with the camera in the exif info. But my method does
not work for the 20D. Does anybody know where in the exif is the
number hidden? I would expect it to be somewhere in the line
"Unknown (0093)3,16 : 32,7172,237,0,0,0,3,0,0,0,0,0,0,0,0,0" but I
do not know the formula for calculating it (no formula is needed
for 10D and 1D Mk II).
As near as anyoine has been able to determine, the actuations count is not in the Exif metadata.

What is there is the "frame number" (what we normally express as: 154-5467). I think it is in fact in the string you mention. Some browsers can display it (I don't rememebr which ones at the moment - likle one of heh Canon ones). I published a report a while ago as to how to parse it out of that string.(I reverse-engineered it.) If you are interested, let me know and I'll see if I can dig it up.

Best regards,

Doug

Visit The Pumpkin, a library of my technical articles on photography, optics, and other topics:

http://doug.kerr.home.att.net/pumpkin

'Make everything as simple as possible, but no simpler.'
 
Hi, Gabor,

Here are my findings on tbis matter:

***************

It appears that the data item in the 20D Exif metadata reported by Exifer as "Unknown(0093)3,16" carries in its second and third subfields the" image serial number" in folder number plus file number form.

It is likely that the second subfield is a 16-bit field; the third is apparently an 8-bit field. This the two subfields together form a 24 bit number.

The first 10 bits carry the foldername number (100-999). The last 14 bits carry the filename number (0001-9999).

How can we interpret this without having to do a binary conversion? Easy.

Call the second subfield X and the third subfield Y.

Then the foldername number, D, is given by:

D = X div 64

where div represents integer division; that is, we divide X by 64 and discard the fractional part. (Hint: divide and then subtract the fractional part.)

The filename number, F, is given by:

F = 256 (X mod 64) + Y

where mod represents the "modulo" operator. That is:

1. Take X and divide by 64.

2. Take only the fractional part of the result. (Hint: just subtract the integer part).

3. Multiply that by 64. (That is F mod 64.)

4. Multiply that by 256.

5. Add Y.

***************

Best regards,

Doug
 
Doug,

1. I don't find any such field in the Exifer output. Though it displays some "unknown" fields, but not in the format you mentioned.

2. I converted the file number of an image into the form you posted, but I don't find any field with that data.

Do you have some binary editor or something, which displays the CR2 data in binary form? Can you find the file number of a file of yours in this format? Note, that if you see II (hex 4949) in the first two characters, then the binary values are in "little endian" form. I think Canon cameras always generate this form.

Btw, I am referring to raw files, not to JPEG.

--
Gabor

http://www.panopeeper.com/panorama/pano.htm
 
Hello Doug.

You´re right.
Theses two subfields really carry the file number.

However, it´s the "file number", not the actual number of pictures taken by the camera...

There´s just a mistake in the calculations you described:

To calculate (X mod 64) you have to:
1 - Divide X by 64;
2 - Take the integer part and multiply that by 64;
3 - Now subtract this result from X;

"X mod 64" equals the rest of the division of X by 64.

Gabor, I used ExifReader:

http://www.takenet.or.jp/~ryuuji/minisoft/exifread/english/

I still would like to know the real number of shutter releases of the camera.

Cheers,

Eduardo
 
I have (with another's help) parsed the data held in the makernote area. You can get the current filename number out, you can get the serial number out, you can even get the owners name out. But there is nowhere where the total number of shutter actuations is stored.

So, an example of what is there - note that it even tells you what sort of flash gun you used !!!
:

AFMode one-shot
Aperture F4 (4.00 EV)
ApertureValue 4.00 EV (F4.0)
BWFilter none
BWToning none
BasicZoneMode creative zone mode
Black&White off
Brightness -0.38 EV
CameraModel Canon EOS 20D
ColorTone normal
Contrast normal
CreativeZoneMode P
CustomFunction01 01: SET function when shooting - no function
CustomFunction02 02: Long exposure noise reduction - off

CustomFunction03 03: Flash sync speed in Av mode - 1/250 sec. (fixed)
CustomFunction04 04: Shutter button/AE lock button - AF/AE lock
CustomFunction05 05: AF-assist beam - emits
CustomFunction06 06: Exposure level increments - 1/3-stop
CustomFunction07 07: Flash firing - fires
CustomFunction08 08: ISO Expansion - on

CustomFunction09 09: Bracket sequence / Auto cancel - 0,-,+ / enable
CustomFunction10 10: Superimposed display - on
CustomFunction11 11: Menu button display position - top
CustomFunction12 12: Mirror lockup - disable
CustomFunction13 13: AF point selection method - normal
CustomFunction14 14: E-TTL II - evaluative
CustomFunction15 15: Shutter curtain sync - 1st-curtain sync
CustomFunction16 16: Safety shift in AV or TV - disable
CustomFunction17 17: Lens AF stop button function - AF stop
CustomFunction18 18: Add original decision data - off
DigitalZoom none
DriveMode single-shot or self-timer
ExposureBracketing1 off
ExposureBracketing2 off
ExposureBracketing3 off
ExposureBracketingBias 0 EV
ExposureCompensation 0 EV
FilmSpeed 800 (8.00 EV)
FirmwareVersion Firmware 1.1.0
FlashCompensation 0 EV
FlashCurtain first
FlashDetails fired; external
FlashFired yes
FlashMode fill flash, red-eye
FlashModel Canon 580EX
FocalLength 28
FocusMode single
FocusPoints C
FolderName 146Canon
ImageHeight 2336
ImageHeightMaximum 2336
ImageName IMG_4677
ImageQuality fine
ImageSize large
ImageType jpeg
ImageWidth 3504
ImageWidthMaximum 3504
LensAttached yes
LensFocalLengthMax 40
LensFocalLengthMin 17
LensFocalLengthUnits 1
MacroMode off
MeteringMode evaluative
Orientation normal
OriginalDecisionData 0
OwnerName Alan Sharkey
RequestedImageQuality none
RequestedImageSize none
Saturation normal
SelfTimer off
SerialNumber Changed from the original.....
Sharpness normal
ShutterSpeed 1/60 s (5.91 EV)
ShutterSpeedBulb none
ShutterSpeedValue 6.00 EV (1/64 s)
WBBracketBiasBlueAmber 0
WBBracketBiasMagentaGreen 0
WBBracketShiftBlueAmber 0
WBBracketShiftMagentaGreen 0
WBBracketing none
WBColorTemperature 5200
WBShiftBlueAmber 0
WBShiftMagentaGreen 0
WhiteBalance auto
WhiteBalance2 auto
 
I´m sorry...

"X mod 64" equals the rest of the division of X by 64.

This should be read:

"X mod 64" equals the remainder of the division of X by 64.
There´s just a mistake in the calculations you described:

To calculate (X mod 64) you have to:
1 - Divide X by 64;
2 - Take the integer part and multiply that by 64;
3 - Now subtract this result from X;

"X mod 64" equals the rest of the division of X by 64.
Cheers,

Eduardo
 
Hi, Eduardo
Hello Doug.

You´re right.
Theses two subfields really carry the file number.
It is what Canon calles the "image serial number". There is no "file number". There is a numerical part of the file name (such as 5473).
However, it´s the "file number", not the actual number of pictures
taken by the camera...
Of course.
There´s just a mistake in the calculations you described:

To calculate (X mod 64) you have to:
1 - Divide X by 64;
2 - Take the integer part and multiply that by 64;
3 - Now subtract this result from X;

"X mod 64" equals the rest of the division of X by 64.
That algorithm and the one I described are equivalent. (A little algebraic exercise, which I leave to the reader, will demonstrate that.)

It can also be shown with a numerical example,

Suppose the argument of the modulo function, X,n is 136. Then using my algorithm:

136/64 = 2.125

Take the fractional part: 0.125

Multiply by 64: 0.125 x 64 = 8

Thus 136 mod 64 = 8

Usng your algorithm:

136/64 = 2.125

Take the integer part: 2

Multiply that by 64: 2 x 64 = 128

SuIbtract that from X: 136-128 = 8

Thus 160 mod 64 = 8.

Quod erat demonstrandum

Tomorrow's lecture: What is Martinizing, and why does it take one hour?
I still would like to know the real number of shutter releases of
the camera.
I'm sure.

Best regards,

Doug

Visit The Pumpkin, a library of my technical articles on photography, optics, and other topics:

http://doug.kerr.home.att.net/pumpkin

'Make everything as simple as possible, but no simpler.'
 
Hi, Eduoardo,
I´m sorry...

"X mod 64" equals the rest of the division of X by 64.

This should be read:

"X mod 64" equals the remainder of the division of X by 64.
Yes, I gathered that is what you meant.

Best regards,

Doug

Visit The Pumpkin, a library of my technical articles on photography, optics, and other topics:

http://doug.kerr.home.att.net/pumpkin

'Make everything as simple as possible, but no simpler.'
 
Hi, Gabor,
Doug,

1. I don't find any such field in the Exifer output. Though it
displays some "unknown" fields, but not in the format you mentioned.
You said below that you were looking at CR2 files. I was looking at JPG files.

Try Exifer on a JPG file and see if you see what I did.
Do you have some binary editor or something, which displays the CR2
data in binary form?
Well, in hexadecimal form. (I know what you mean.)
Can you find the file number of a file of
yours in this format?
I haven't looked. I may try if I have a chance.
Note, that if you see II (hex 4949) in the
first two characters, then the binary values are in "little endian"
form. I think Canon cameras always generate this form.
Good to know.

Best regards,

Doug
 

Keyboard shortcuts

Back
Top