Exiftool DateTimeOriginal 返回数字

Exiftool DateTimeOriginal returning numbers

在 Windows 上使用 Phil Harvey 的 Exiftool 版本 12.31 时,DateTimeOriginal 字段返回数字,这似乎是一个 HEX 值,但它太大而没有任何意义。作为 DEC 值,它也没有任何意义,所以我想它可能是某种元组,但我不知道如何解析它(它不应该被 Exiftool 解析吗?)。

这里是 link to the original image.

> exiftool -DateTimeOriginal "DSC02102.JPG"
Date/Time Original              : 50 48 50 49 58 49 50 58 48 55 32 49 53 58 53 53 58 50 52 0

不知何故Windows 可以获得正确的日期和时间 (2021-12-07 15:55),所以我认为文件元数据没有损坏。

如何使用 Exiftool 获取正确的日期和时间?

这是 exiftool FAQ #3. Because you haven't included the -G (-groupNames) option and the -a (-duplicates) option,您没有看到所有数据。当你包含这些选项时,你会看到这个

C:\>exiftool -G1 -a -s -DateTimeOriginal Y:\!temp\aa\bbb\DSC02102.JPG
[ExifIFD]       DateTimeOriginal                : 2021:12:07 15:55:24
[IFD0]          DateTimeOriginal                : 50 48 50 49 58 49 50 58 48 55 32 49 53 58 53 53 58 50 52 0

如您所见,文件中有多个 DateTimeOriginal 标签。该标签的标准位置在 EXIF 块的 ExifIFD 子组中并且具有正确的值,这就是 Windows 可以读取它的原因。 IFD0 子组中的第二个 DateTimeOriginal 不合适。如果将第二个标签中的每个数字转换为 ASCII 字符,您会看到它与正确的 DateTimeOriginal 标签具有相同的值,只是十六进制值。

另一个有用的 exiftool 命令是验证文件以查看存在什么问题

C:\>exiftool -g1 -a -s -warning -validate Y:\!temp\aa\bbb\DSC02102.JPG
---- ExifTool ----
Warning                         : [minor] Possibly incorrect maker notes offsets (fix by 4088?)
Warning                         : [minor] Suspicious MakerNotes offset for Tag9401
Warning                         : [minor] Non-standard ExifIFD tag 0xea1c Padding
Warning                         : [minor] Non-standard ExifIFD tag 0xea1d OffsetSchema
Warning                         : Non-standard format (int32s) for GPS 0x0005 GPSAltitudeRef
Warning                         : Wrong IFD for 0x9003 DateTimeOriginal (should be ExifIFD not IFD0)
Warning                         : Non-standard format (int8u) for IFD0 0x9003 DateTimeOriginal
Warning                         : [minor] Invalid date/time format for EXIF:DateTimeOriginal
Warning                         : Wrong IFD for 0x9004 CreateDate (should be ExifIFD not IFD0)
Warning                         : Non-standard format (int8u) for IFD0 0x9004 CreateDate
Warning                         : [minor] Invalid date/time format for EXIF:CreateDate
Warning                         : [minor] Non-standard IFD0 tag 0xea1c Padding
Warning                         : Missing required JPEG ExifIFD tag 0xa001 ColorSpace
Validate                        : 13 Warnings (7 minor)

您可以使用此命令删除不正确的标签
exiftool -IFD0:DateTimeOriginal= file.jpg

要提取正确的标签,您必须指定子组
exfitool -ExifIFD:DateTimeOriginal file.jpg