Hi, I have a question. Now I am arranging all of my photos, taken with different Sony Xperia phones. Apparantly some of the models, not everyone, puts in the metadata some info, that is unknown to exiftool, and it shows like that: Warning [minor] Unknown APP4 segment. When I edit the photo, for example copy metadata from original to the edited copy, exiftool apparantly edit this info, and the warning disappears. My question is, how can i copy the metadata from one file to other, without losing the warning. I want all the photos I edit, to have absolutely the same metadata, as the original, so it is not recongisable if they are edited or not.
ExifTool can not be used to copy unknown metadata like this.
- Phil
Ok, then please, can you assist me, if i can change it manually in a hex editor...btw i put exiftool -v3 command on the original file and the copied one, and this is the difference...for example why JPEG DHT is the same size on both 416 bytes, but on the original it looks a lot less signs...and on the copied one is devided in three portions? I am sorry for the question, but I want to find out the logic behind the tags and the metadata. btw is there any literature that can help me understand those things, so i can manually add or delete in hex editor, or it is not possible?
Original:
JPEG APP4 (34 bytes):
65a1: 51 75 61 6c 63 6f 6d 6d 20 43 61 6d 65 72 61 20 [Qualcomm Camera ]
65b1: 44 65 62 75 67 00 05 00 00 00 30 ec c6 ce 10 00 [Debug.....0.....]
65c1: 48 cd [H.]
JPEG DQT (130 bytes):
65c7: 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 [................]
65d7: 02 02 01 01 01 01 03 02 02 02 02 03 03 04 04 03 [................]
65e7: 03 03 03 04 04 06 05 04 04 05 04 03 03 05 07 05 [................]
65f7: 05 06 06 06 06 06 04 05 07 07 07 06 07 06 06 06 [................]
6607: 06 01 01 01 01 01 01 01 03 02 02 03 06 04 03 04 [................]
6617: 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 [................]
6627: 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 [................]
[snip 18 bytes]
JPEG SOF0 (15 bytes):
664d: 08 08 70 0f 00 03 01 22 00 02 11 01 03 11 01 [..p....".......]
ImageWidth = 3840
ImageHeight = 2160
EncodingProcess = 0
BitsPerSample = 8
ColorComponents = 3
YCbCrSubSampling = 2 2
JPEG DHT (416 bytes):
6660: 00 00 01 05 01 01 01 01 01 01 00 00 00 00 00 00 [................]
6670: 00 00 01 02 03 04 05 06 07 08 09 0a 0b 10 00 02 [................]
6680: 01 03 03 02 04 03 05 05 04 04 00 00 01 7d 01 02 [.............}..]
6690: 03 00 04 11 05 12 21 31 41 06 13 51 61 07 22 71 [......!1A..Qa."q]
66a0: 14 32 81 91 a1 08 23 42 b1 c1 15 52 d1 f0 24 33 [.2....#B...R..$3]
66b0: 62 72 82 09 0a 16 17 18 19 1a 25 26 27 28 29 2a [br........%&'()*]
66c0: 34 35 36 37 38 39 3a 43 44 45 46 47 48 49 4a 53 [456789:CDEFGHIJS]
[snip 304 bytes]
Copied file:
JPEG DQT (65 bytes):
65a1: 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 [................]
65b1: 02 02 01 01 01 01 03 02 02 02 02 03 03 04 04 03 [................]
65c1: 03 03 03 04 04 06 05 04 04 05 04 03 03 05 07 05 [................]
65d1: 05 06 06 06 06 06 04 05 07 07 07 06 07 06 06 06 [................]
65e1: 06 [.]
JPEG DQT (65 bytes):
65e6: 01 01 01 01 01 01 01 03 02 02 03 06 04 03 04 06 [................]
65f6: 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 [................]
6606: 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 [................]
6616: 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 [................]
6626: 06 [.]
JPEG SOF0 (15 bytes):
662b: 08 08 70 0f 00 03 01 22 00 02 11 01 03 11 01 [..p....".......]
ImageWidth = 3840
ImageHeight = 2160
EncodingProcess = 0
BitsPerSample = 8
ColorComponents = 3
YCbCrSubSampling = 2 2
JPEG DHT (29 bytes):
663e: 00 00 01 05 01 01 01 01 01 01 00 00 00 00 00 00 [................]
664e: 00 00 01 02 03 04 05 06 07 08 09 0a 0b [.............]
JPEG DHT (179 bytes):
665f: 10 00 02 01 03 03 02 04 03 05 05 04 04 00 00 01 [................]
666f: 7d 01 02 03 00 04 11 05 12 21 31 41 06 13 51 61 [}........!1A..Qa]
667f: 07 22 71 14 32 81 91 a1 08 23 42 b1 c1 15 52 d1 [."q.2....#B...R.]
668f: f0 24 33 62 72 82 09 0a 16 17 18 19 1a 25 26 27 [.$3br........%&']
669f: 28 29 2a 34 35 36 37 38 39 3a 43 44 45 46 47 48 [()*456789:CDEFGH]
66af: 49 4a 53 54 55 56 57 58 59 5a 63 64 65 66 67 68 [IJSTUVWXYZcdefgh]
66bf: 69 6a 73 74 75 76 77 78 79 7a 83 84 85 86 87 88 [ijstuvwxyz......]
[snip 67 bytes]
JPEG DHT (29 bytes):
6716: 01 00 03 01 01 01 01 01 01 01 01 01 00 00 00 00 [................]
6726: 00 00 01 02 03 04 05 06 07 08 09 0a 0b [.............]
JPEG DHT (179 bytes):
6737: 11 00 02 01 02 04 04 03 04 07 05 04 04 00 01 02 [................]
6747: 77 00 01 02 03 11 04 05 21 31 06 12 41 51 07 61 [w.......!1..AQ.a]
6757: 71 13 22 32 81 08 14 42 91 a1 b1 c1 09 23 33 52 [q."2...B.....#3R]
6767: f0 15 62 72 d1 0a 16 24 34 e1 25 f1 17 18 19 1a [..br...$4.%.....]
6777: 26 27 28 29 2a 35 36 37 38 39 3a 43 44 45 46 47 [&'()*56789:CDEFG]
6787: 48 49 4a 53 54 55 56 57 58 59 5a 63 64 65 66 67 [HIJSTUVWXYZcdefg]
6797: 68 69 6a 73 74 75 76 77 78 79 7a 82 83 84 85 86 [hijstuvwxyz.....]
[snip 67 bytes]
Quote from: VladoBENZ on March 13, 2025, 10:56:19 AMJPEG APP4 (34 bytes):
65a1: 51 75 61 6c 63 6f 6d 6d 20 43 61 6d 65 72 61 20 [Qualcomm Camera ]
65b1: 44 65 62 75 67 00 05 00 00 00 30 ec c6 ce 10 00 [Debug.....0.....]
65c1: 48 cd [H.]
There probably isn't any useful information there.
This part
65a1: 51 75 61 6c 63 6f 6d 6d 20 43 61 6d 65 72 61 20 [Qualcomm Camera ]
65b1: 44 65 62 75 67 00 [Debug.
looks like it's the name of the data, e.g. "Qualcomm Camera Debug"
That leaves
05 00 00 00 30 ec c6 ce 10 00Which I would guess would be split into
05and
30 ec c6 ce 10as the 00 values are nulls which are normally used to indicate the end of a string, as shown at the end of "Debug"
I have doubts that any "Debug" data would be of any use in regard to the actual image. It's probably some code in the camera's firmware that someone was too lazy to remove after the code was created.
Yes, I think the same way...but regardless, for example, if it was you, how would you add the app4 string (qualcomm blah blah) to the copied file, without ruining it? Through hex editor, because exiftool cannot do it?
You would have to read up on the JPEG file specification and write some code that would parse the JPEG correctly, read that block and then copy it correctly to the new file.
ok, understood. it is obviously not that simple. my last question is, is there any command in exiftool, which would show if the file has this minor warning or not? because if i write exiftool -u filename, it would show me all the tags, and it is long long to scroll back for each file. is there any chance to write a command for all files in a directoory, and it would show me which file has this warning and which one doesnt?
To show only that warning? Not really. You can use this command to view nearly all warnings
exiftool -a -warning -error -validate /path/to/files/
But IIRC, there are some warnings that might not pop up unless an actual edit/copy command is used.