Get captured image

requesttype=0x26

Similar to the Download Captured Image command in the older protocol.

Command: 0x60 bytes

00000000  20 00 00 00 02 02 00 00 00 00 00 00 00 00 00 00   ...............
00000010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000040  02 00 00 00 26 00 20 12 20 00 00 00 d0 53 7e 00  ....&. . ....S~.
00000050  00 00 00 00 00 00 01 00 02 00 00 00 07 00 00 00  ................
      

This is very similar to the old Download Captured Image command block. Offset 0x50 presumably has the 4-byte status code, 0x54 has the transfer length (here 0x10000, 65536 bytes), 0x58 has the image type (here 2 for full image), and 0x5c has the image handle of 7.

Camera response: variable length

00000000  00 00 00 00 02 03 f8 0e 03 00 00 00 00 00 00 00  ................
00000010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
      

As before, bytes 6-10 of the reply packet contain the 32-bit total length of the image data transfers, here 0x00030ef8. We must then issue a series of bulk reads.

then many blocks. First is length 0x10000, then 0x10c0, then (0x40, 0xfec0) twice, then 0x38 bytes. Total is 0x00030ef8 (200,440) bytes. I think this is a JPEG image being downloaded; note the JFIF EXIF tag at the start.

00000000  ff d8 ff e1 2d 9a 45 78 69 66 00 00 49 49 2a 00  ....-.Exif..II*.
00000010  08 00 00 00 09 00 0f 01 02 00 06 00 00 00 7a 00  ..............z.
00000020  00 00 10 01 02 00 0e 00 00 00 80 00 00 00 12 01  ................
00000030  03 00 01 00 00 00 01 00 00 00 1a 01 05 00 01 00  ................
00000040  00 00 a0 00 00 00 1b 01 05 00 01 00 00 00 a8 00  ................
00000050  00 00 28 01 03 00 01 00 00 00 02 00 00 00 32 01  ..(...........2.
00000060  02 00 14 00 00 00 b0 00 00 00 13 02 03 00 01 00  ................
00000070  00 00 02 00 00 00 69 87 04 00 01 00 00 00 c4 00  ......i.........
00000080  00 00 50 24 00 00 43 61 6e 6f 6e 00 43 61 6e 6f  ..P$..Canon.Cano
00000090  6e 20 45 4f 53 20 32 30 44 00 00 00 00 00 00 00  n EOS 20D.......
000000a0  00 00 00 00 00 00 00 00 00 00 00 00 48 00 00 00  ............H...
000000b0  01 00 00 00 48 00 00 00 01 00 00 00 32 30 30 34  ....H.......2004
000000c0  3a 31 31 3a 32 32 20 31 32 3a 35 35 3a 31 36 00  :11:22 12:55:16.
000000d0  1c 00 9a 82 05 00 01 00 00 00 1a 02 00 00 9d 82  ................
000000e0  05 00 01 00 00 00 22 02 00 00 22 88 03 00 01 00  ......"...".....
000000f0  00 00 01 00 00 10 27 88 03 00 01 00 00 00 64 00  ......'.......d.
00000100  00 00 00 90 07 00 04 00 00 00 30 32 32 31 03 90  ..........0221..
00000110  02 00 14 00 00 00 2a 02 00 00 04 90 02 00 14 00  ......*.........
00000120  00 00 3e 02 00 00 01 91 07 00 04 00 00 00 01 02  ..>.............
...
00000000  b8 cd 23 64 b6 07 03 d4 50 f5 0d 80 a6 18 12 4f  ..#d....P......O
00000010  1e b4 31 2c 71 b7 34 b7 04 ae 01 f0 40 23 93 da  ..1,q.4.....@#..
00000020  80 7e 6c 37 5f 6a 00 45 4c 64 0f cc d2 ee da c0  .~l7_j.ELd......
00000030  63 83 de 9d c5 73 ff d9                          c....s..