如何使用Exiftool在目录中的所有图像中添加subecdateTimeRiginal?

发布于 2025-01-27 05:54:06 字数 458 浏览 1 评论 0原文

如果我使用以下命令,则会获取警告:没有可写的标签设置

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

,如果我这样做:

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

这是正确更改日期和时间部分,但不更新 <代码> suptectimeoriginal

因此,如果第一个图像具有subsectimeoriginal = 100,那么所有图像都具有相同的值。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

演多会厌 2025-02-03 05:54:06

subsecdateTimeoriginal标签不是实际嵌入文件中的标签,而是复合标签 exiftool在阅读/写作时即时创建。此标签不能移动,不幸的是,除非您添加 -v3-verbose3)选项,在其中说综合:subecdateTimeoriginal不可移动

解决方法是使用XMP日期/时间邮票标签,因为它们可以包含全日制值(子卡和时区),这与EXIF时间标签分为三个单独的标签不同。 XMP:DateTimeRiginal将是最合适的标签。

如果尚未设置,您将首先从subsecdateTimeoriginal复制时间。然后,您将运行命令来增加时间戳。最后,您将复制XMP:dateTimeoriginal返回subsecdatementemineoriginal

示例命令和输出:

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 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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文