简体   繁体   中英

How to add subsecdatetimeoriginal for all images in a directory using exiftool?

If i use below command then i get Warning: No writable tags set

exiftool '-subsecdatetimeoriginal+<0:0:0${filesequence;$_*=0.500}' -overwrite_original ./images

and if i do:

exiftool '-datetimeoriginal+<<0:0:0${filesequence;$_*=0.500}' -overwrite_original ./images

This is changing the date and time part correctly but not updating the millisecond part for SubSecTimeOriginal

so if first image has SubSecTimeOriginal=100 then all images have same value when it should all be different.

The SubSecDateTimeOriginal tag is not a tag that is actually embedded in the file, but is instead a Composite tag that exiftool creates on the fly while reading/writing. This tag is cannot be shifted and unfortunately, there isn't a warning about this unless you add the -v3 ( -verbose3 ) option , where it will say Composite:SubSecDateTimeOriginal is not shiftable .

A workaround would be to use an XMP date/time stamp tag, as they can contain the full time value (subsecond and time zone), unlike EXIF time tags which are split into three separate tags. XMP:DateTimeOriginal would be the most suitable tag.

If it's not already set, you would first copy the time from SubSecDateTimeOriginal . Then you would run your command to increment the time stamp. Finally, you would copy the XMP:DateTimeOriginal back into SubSecDateTimeOriginal .

Example commands and output:

C:\>exiftool -G1 -a -s -EXIF:Time:All -XMP:Time:All -SubSecDateTimeOriginal Y:\!temp\ccc
======== Y:/!temp/ccc/File-1.jpg
[ExifIFD]       DateTimeOriginal                : 2022:05:08 12:00:00
[ExifIFD]       OffsetTimeOriginal              : -07:00
[ExifIFD]       SubSecTimeOriginal              : 00
[Composite]     SubSecDateTimeOriginal          : 2022:05:08 12:00:00.00-07:00
======== Y:/!temp/ccc/File-2.jpg
[ExifIFD]       DateTimeOriginal                : 2022:05:08 12:00:00
[ExifIFD]       OffsetTimeOriginal              : -07:00
[ExifIFD]       SubSecTimeOriginal              : 00
[Composite]     SubSecDateTimeOriginal          : 2022:05:08 12:00:00.00-07:00
======== Y:/!temp/ccc/File-3.jpg
[ExifIFD]       DateTimeOriginal                : 2022:05:08 12:00:00
[ExifIFD]       OffsetTimeOriginal              : -07:00
[ExifIFD]       SubSecTimeOriginal              : 00
[Composite]     SubSecDateTimeOriginal          : 2022:05:08 12:00:00.00-07:00
======== Y:/!temp/ccc/File-4.jpg
[ExifIFD]       DateTimeOriginal                : 2022:05:08 12:00:00
[ExifIFD]       OffsetTimeOriginal              : -07:00
[ExifIFD]       SubSecTimeOriginal              : 00
[Composite]     SubSecDateTimeOriginal          : 2022:05:08 12:00:00.00-07:00
    1 directories scanned
    4 image files read

C:\>exiftool -P -overwrite_original "-XMP:DateTimeOriginal<SubSecDateTimeOriginal" Y:\!temp\ccc
    1 directories scanned
    4 image files updated

C:\>exiftool -G1 -a -s -EXIF:Time:All -XMP:Time:All -SubSecDateTimeOriginal Y:\!temp\ccc
======== Y:/!temp/ccc/File-1.jpg
[ExifIFD]       DateTimeOriginal                : 2022:05:08 12:00:00
[ExifIFD]       OffsetTimeOriginal              : -07:00
[ExifIFD]       SubSecTimeOriginal              : 00
[XMP-exif]      DateTimeOriginal                : 2022:05:08 12:00:00.00-07:00
[Composite]     SubSecDateTimeOriginal          : 2022:05:08 12:00:00.00-07:00
======== Y:/!temp/ccc/File-2.jpg
[ExifIFD]       DateTimeOriginal                : 2022:05:08 12:00:00
[ExifIFD]       OffsetTimeOriginal              : -07:00
[ExifIFD]       SubSecTimeOriginal              : 00
[XMP-exif]      DateTimeOriginal                : 2022:05:08 12:00:00.00-07:00
[Composite]     SubSecDateTimeOriginal          : 2022:05:08 12:00:00.00-07:00
======== Y:/!temp/ccc/File-3.jpg
[ExifIFD]       DateTimeOriginal                : 2022:05:08 12:00:00
[ExifIFD]       OffsetTimeOriginal              : -07:00
[ExifIFD]       SubSecTimeOriginal              : 00
[XMP-exif]      DateTimeOriginal                : 2022:05:08 12:00:00.00-07:00
[Composite]     SubSecDateTimeOriginal          : 2022:05:08 12:00:00.00-07:00
======== Y:/!temp/ccc/File-4.jpg
[ExifIFD]       DateTimeOriginal                : 2022:05:08 12:00:00
[ExifIFD]       OffsetTimeOriginal              : -07:00
[ExifIFD]       SubSecTimeOriginal              : 00
[XMP-exif]      DateTimeOriginal                : 2022:05:08 12:00:00.00-07:00
[Composite]     SubSecDateTimeOriginal          : 2022:05:08 12:00:00.00-07:00
    1 directories scanned
    4 image files read

C:\>exiftool -P -overwrite_original "-XMP:DateTimeOriginal+<0:0:0${filesequence;$_*=0.500}" Y:\!temp\ccc
    1 directories scanned
    3 image files updated
    1 image files unchanged

C:\>exiftool -G1 -a -s -EXIF:Time:All -XMP:Time:All -SubSecDateTimeOriginal Y:\!temp\ccc
======== Y:/!temp/ccc/File-1.jpg
[ExifIFD]       DateTimeOriginal                : 2022:05:08 12:00:00
[ExifIFD]       OffsetTimeOriginal              : -07:00
[ExifIFD]       SubSecTimeOriginal              : 00
[XMP-exif]      DateTimeOriginal                : 2022:05:08 12:00:00.00-07:00
[Composite]     SubSecDateTimeOriginal          : 2022:05:08 12:00:00.00-07:00
======== Y:/!temp/ccc/File-2.jpg
[ExifIFD]       DateTimeOriginal                : 2022:05:08 12:00:00
[ExifIFD]       OffsetTimeOriginal              : -07:00
[ExifIFD]       SubSecTimeOriginal              : 00
[XMP-exif]      DateTimeOriginal                : 2022:05:08 12:00:00.50-07:00
[Composite]     SubSecDateTimeOriginal          : 2022:05:08 12:00:00.00-07:00
======== Y:/!temp/ccc/File-3.jpg
[ExifIFD]       DateTimeOriginal                : 2022:05:08 12:00:00
[ExifIFD]       OffsetTimeOriginal              : -07:00
[ExifIFD]       SubSecTimeOriginal              : 00
[XMP-exif]      DateTimeOriginal                : 2022:05:08 12:00:01.00-07:00
[Composite]     SubSecDateTimeOriginal          : 2022:05:08 12:00:00.00-07:00
======== Y:/!temp/ccc/File-4.jpg
[ExifIFD]       DateTimeOriginal                : 2022:05:08 12:00:00
[ExifIFD]       OffsetTimeOriginal              : -07:00
[ExifIFD]       SubSecTimeOriginal              : 00
[XMP-exif]      DateTimeOriginal                : 2022:05:08 12:00:01.50-07:00
[Composite]     SubSecDateTimeOriginal          : 2022:05:08 12:00:00.00-07:00
    1 directories scanned
    4 image files read

C:\>exiftool -P -overwrite_original "-SubSecDateTimeOriginal<XMP:DateTimeOriginal" Y:\!temp\ccc
    1 directories scanned
    4 image files updated

C:\>exiftool -G1 -a -s -EXIF:Time:All -XMP:Time:All -SubSecDateTimeOriginal Y:\!temp\ccc
======== Y:/!temp/ccc/File-1.jpg
[ExifIFD]       DateTimeOriginal                : 2022:05:08 12:00:00
[ExifIFD]       OffsetTimeOriginal              : -07:00
[ExifIFD]       SubSecTimeOriginal              : 00
[XMP-exif]      DateTimeOriginal                : 2022:05:08 12:00:00.00-07:00
[Composite]     SubSecDateTimeOriginal          : 2022:05:08 12:00:00.00-07:00
======== Y:/!temp/ccc/File-2.jpg
[ExifIFD]       DateTimeOriginal                : 2022:05:08 12:00:00
[ExifIFD]       OffsetTimeOriginal              : -07:00
[ExifIFD]       SubSecTimeOriginal              : 50
[XMP-exif]      DateTimeOriginal                : 2022:05:08 12:00:00.50-07:00
[Composite]     SubSecDateTimeOriginal          : 2022:05:08 12:00:00.50-07:00
======== Y:/!temp/ccc/File-3.jpg
[ExifIFD]       DateTimeOriginal                : 2022:05:08 12:00:01
[ExifIFD]       OffsetTimeOriginal              : -07:00
[ExifIFD]       SubSecTimeOriginal              : 00
[XMP-exif]      DateTimeOriginal                : 2022:05:08 12:00:01.00-07:00
[Composite]     SubSecDateTimeOriginal          : 2022:05:08 12:00:01.00-07:00
======== Y:/!temp/ccc/File-4.jpg
[ExifIFD]       DateTimeOriginal                : 2022:05:08 12:00:01
[ExifIFD]       OffsetTimeOriginal              : -07:00
[ExifIFD]       SubSecTimeOriginal              : 50
[XMP-exif]      DateTimeOriginal                : 2022:05:08 12:00:01.50-07:00
[Composite]     SubSecDateTimeOriginal          : 2022:05:08 12:00:01.50-07:00
    1 directories scanned
    4 image files read

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM