Hello everyone,
Thank you Phil for creating this powerful tool and thank you everyone for your constant presence here to help newbies like me. Please excuse my English.
So I am new to ExifTool (actually I never post on forums but this time I'm really lost and desperate): I have several issues with my photos and videos (around 4,000 in total) I store on Photos (macOS), which have incorrect dates. I read many posts and a lot of documentation to try to understand but there is always a new element that causes the photo not to fit in the right place in Photos, even if the correct date is displayed when viewing file info in Finder (AND Bridge). My goal is to rename each media according to its original creation date (even videos, Live photos and RAW files), set all existing dates (even the hidden ones) to this unique and valid creation date; taking into account that the time zone has to be the good one for every media, and finally import the "new" files into Photos to organize them into albums, add captions, locations, etc. (but not time zones!)
Some photos and videos are taken with a Canon camera, others with a Samsung phone, others with an iPhone and others are iMovie clips. They are mainly taken in France except some of them.
Let's handle the problems one by one:
- To rename all the photos by creation date (yyyyMMdd_HHmmss) I can use Adobe Bridge 2022 option "global name change" or this shell script:
#!/bin/bash
maRegex='([0-9]{8})_([0-9]{4})([0-9]{2})'
for nomFich in *.jpg; do {
[[ ${nomFich} =~ ${maRegex} ]] && {
touch -t ${BASH_REMATCH[1]}${BASH_REMATCH[2]}.${BASH_REMATCH[3]} "${nomFich}"
}
}
done
although I'll have to execute it once for each type of file, case sensitive.
Before knowing ExifTool I used the zsh touch command to edit dates, it worked fine for photos, but not for videos, this is the reason why I installed ExifTool. :)
- Now I have my files with the good names. For the photos AND videos taken out of France with the iPhone, they have a time zone and GPS coordinates embedded (XMP data?) so no big problem to sort them.
For the media taken with the other devices, I have to manually set all this information in the Photos application, because my camera was still set to French time. Unfortunately, when exporting the original file this creates a linked file and does not inject the data into the original. I want this data into the original itself. In order to get the correct date into the files, I know I can use exiftool -AllDates+=1:30 -if '$make eq "Canon"' dir but it does not set the time zone on Photos, am I right?
Jointly, what would -api QuickTimeUTC do there? Is it useful in my case, as I want to keep the time zones from iPhone media and set a new one for Canon media?
- Moreover, the date change function as a whole doesn't behave as expected for videos (and this is where I don't understand ANYTHING): here is an example of a video's (supposedly incorrect) data before processing:
exiftool -time:all /Users/tonio/Desktop/Vidéos/20150314_141501.mp4
File Modification Date/Time : 2015:03:14 14:15:01+01:00
File Access Date/Time : 2015:03:14 14:15:01+01:00
File Inode Change Date/Time : 2022:09:13 03:57:33+02:00 (what is it? Is this embedded?)
Create Date : 2015:03:14 14:15:01
Modify Date : 2015:03:14 14:15:01
Track Create Date : 2015:03:14 14:15:01
Track Modify Date : 2015:03:14 14:15:01
Media Create Date : 2015:03:14 14:15:01
Media Modify Date : 2015:03:14 14:15:01
Note: in Photos the time is set to 15:15:01 after import. Why? All dates are set to 14:15:01.
And after processing exiftool -time:all= '-Alldates<Filename' -api largefilesupport=1 -m /Users/tonio/Desktop/Vidéos/20150314_141501.mp4:
File Modification Date/Time : 2022:09:13 04:20:14+02:00
File Access Date/Time : 2022:09:13 04:20:13+02:00
File Inode Change Date/Time : 2022:09:13 04:20:14+02:00
Track Create Date : 0000:00:00 00:00:00
Track Modify Date : 0000:00:00 00:00:00
Media Create Date : 0000:00:00 00:00:00
Media Modify Date : 0000:00:00 00:00:00
Date/Time Original : 2015:03:14 14:15:01
Create Date : 2015:03:14 14:15:01
Modify Date : 2015:03:14 14:15:01
In Photos the time is set to 14:15:01 after import, so everything is supposed to be good, but why are there so many fields set to zero right now? Which date is Photos actually taking to display a file at a place and not another? Why wasn't there a "Date/Time Original" on the original file? So many questions to ask, and I must have forgotten some, I hope you understand my frustration when facing so many confusing elements :-X
I heard there were QuickTime dates not shown here that were used on a Mac, I ran in both cases exiftool -QuickTime:time:all dir I got, for the original:
Create Date : 2015:03:14 14:15:01
Modify Date : 2015:03:14 14:15:01
Track Create Date : 2015:03:14 14:15:01
Track Modify Date : 2015:03:14 14:15:01
Media Create Date : 2015:03:14 14:15:01
Media Modify Date : 2015:03:14 14:15:01
and for the processed one:
Track Create Date : 0000:00:00 00:00:00
Track Modify Date : 0000:00:00 00:00:00
Media Create Date : 0000:00:00 00:00:00
Media Modify Date : 0000:00:00 00:00:00
but when I try to restore these QuickTime dates for the second one with exiftool -QuickTime:CreateDate='2015:03:14 14:15:02' /Users/tonio/Desktop/Vidéos/20150314_141501.mp4, the dates remain equal to zero.
What's the difference with the displayed dates?
Are exiftool -time:all -ee -G -s dir and
exiftool -a -G1 -time:all dir the same? The result is the same with both commands, but the first one displays [QuickTime] instead of [Track].
Last question: are there other hidden metadata types I will have to deal with for the work I need to do? Because I discover new ones everyday and I start thinking it is impossible to get all in order.
In parallel with ExifTool I use Adobe Bridge 2022 to display ergonomically each media's metadata, but apparently, this is not enough to handle all the hidden dates, in order to get my media organized in Photos and free from any inconsistency.
Any help will be GREATLY appreciated, and thank you very much for reading this, have a good evening you all :-[
Quote from: Tonio on September 12, 2022, 11:01:16 PMMoreover, the date change function as a whole doesn't behave as expected for videos (and this is where I don't understand ANYTHING): here is an example of a video's (supposedly incorrect) data before processing:
exiftool -time:all /Users/tonio/Desktop/Vidéos/20150314_141501.mp4
File Modification Date/Time : 2015:03:14 14:15:01+01:00
File Access Date/Time : 2015:03:14 14:15:01+01:00
File Inode Change Date/Time : 2022:09:13 03:57:33+02:00 (what is it? Is this embedded?)
Create Date : 2015:03:14 14:15:01
Modify Date : 2015:03:14 14:15:01
Track Create Date : 2015:03:14 14:15:01
Track Modify Date : 2015:03:14 14:15:01
Media Create Date : 2015:03:14 14:15:01
Media Modify Date : 2015:03:14 14:15:01
Note: in Photos the time is set to 15:15:01 after import. Why? All dates are set to 14:15:01.
See the fourth paragraph on the Quicktime tags page (https://exiftool.org/TagNames/QuickTime.html). Video time stamps are to be set to UTC and programs that read the dates properly will adjust them to the local time. Take note that last I checked, Adobe programs do not adjust the time properly, though I think they will give priority to any XMP time stamp, which should be local time and can include the time zone. You appear to be in the +01:00 time zone according to the file system time stamps, so Photos is properly adjusting from 14:15:01 UTC to 15:15:01+01:00.
The
FileInodeChangeDate tag is not an embedded tag. See the notes for it on the Extra Tags page (https://exiftool.org/TagNames/Extra.html).
QuoteAnd after processing exiftool -time:all= '-Alldates<Filename' -api largefilesupport=1 -m /Users/tonio/Desktop/Vidéos/20150314_141501.mp4:
...
In Photos the time is set to 14:15:01 after import, so everything is supposed to be good, but why are there so many fields set to zero right now?
The
0000:00:00 00:00:00 value means that the tag has not been set to a time. Whatever program you are using to process the videos does not properly understand/copy the metadata from the original file. The You may be missing an option to copy the data. Ffmpeg, for example, does not copy the data by default but there is an option for it. Or the program just doesn't copy the data, period. This is quite common with programs that deal with videos.
It looks like Photos is now reading the (newly added?)
DateTimeOriginal and other tags. These tags are supposed to be set to local time, which is why Photos now displays them in the correct spot.
QuoteWhich date is Photos actually taking to display a file at a place and not another? Why wasn't there a "Date/Time Original" on the original file?
I wouldn't know. It would depend upon whatever program you used to process the files. I do suspect that the newly added tags are in XMP. You should use the command in FAQ #3 (https://exiftool.org/faq.html#Q3) to see all tags including duplicates, their names, not descriptions (FAQ #2 (https://exiftool.org/faq.html#Q2)), and their locations in the file. You can add
-Time:All to the FAQ #3 command to show just the time tags.
QuoteI hope you understand my frustration when facing so many confusing elements
Metadata is an absolute hot mess. It takes time to learn how to navigate the madness. The xkcd Standards comic applies
(https://imgs.xkcd.com/comics/standards.png)
Quotebut when I try to restore these QuickTime dates for the second one with exiftool -QuickTime:CreateDate='2015:03:14 14:15:02' /Users/tonio/Desktop/Vidéos/20150314_141501.mp4, the dates remain equal to zero.
Use FAQ #3 to find the actual tag names.
Quicktime:CreateDate is already set in your listing.
QuoteAre exiftool -time:all -ee -G -s dir and
exiftool -a -G1 -time:all dir the same? The result is the same with both commands, but the first one displays [QuickTime] instead of [Track].
You might want to look at these options in the Documentation (https://exiftool.org/exiftool_pod.html) for full details.
In the first command
-G is the same as
-G0 (see
-G (
-groupNames) option (https://exiftool.org/exiftool_pod.html#G-NUM-:NUM...--groupNames)). That gives the Level 0 Group name. This is the general group that the tag belongs to, like Quicktime, EXIF, XMP.
-G1 gives the level 1 name, which is the exact location within the level 0 group. For Quicktime tags, this can be Track#, ItemList, Keys, etc. See Tag Groups (https://exiftool.org/#groups) for the list. You might notice that
Time (as in
-Time:All) is a group 2 name.
QuoteLast question: are there other hidden metadata types I will have to deal with for the work I need to do? Because I discover new ones everyday and I start thinking it is impossible to get all in order.
By default, exiftool will list most tags that it knows about. Pretty much all the EXIF, IPTC, XMP, and Quicktime tags will be displayed. This adds up to a few thousand tags. Exiftool won't extract tags it doesn't understand unless the
-u (unknown) option (https://exiftool.org/exiftool_pod.html#u--unknown) is added. In other groups, some may not be extracted by default due to performance issues. These can be extracted by adding the
-API RequestAll option (https://exiftool.org/ExifTool.html#RequestAll).
In the case of videos, some may be embedded data in the video stream, such as GPS tracks. Or in the case of PDFs, data may be embedded in the files embedded in the PDF, such as images (insert Inception "we need to go deeper" meme here). The
-ee (
-extractEmbedded) option (https://exiftool.org/exiftool_pod.html#ee--extractEmbedded) is used to extract those.
QuoteIn parallel with ExifTool I use Adobe Bridge 2022 to display ergonomically each media's metadata, but apparently, this is not enough to handle all the hidden dates, in order to get my media organized in Photos and free from any inconsistency.
Bridge, and similar programs, hide some of the details from you. For example, where Bridge might say "Description", that could be referring to
EXIF:ImageDescription (rarely used, very old tag),
IPTC:Caption-Abstract, which is the IPTC IIM/Legacy tag, not to be confused with IPTC Core/Ext, and/or
XMP:Description, which is part of the newest XMP standard and part of the Dublin Core spec. See the comic above again.
Quote from: Tonio on September 12, 2022, 11:01:16 PMPhotos (macOS)
Does this help? Movie dates and Photos.app:
https://discussions.apple.com/docs/DOC-250002750
- Matti
Hello and thank you very much for your quick replies.
First, I confess I don't understand which command I must use to
retrieve ALL the dates present in a file, as
-time:all and
-AllDates don't show the same info, and retrieve less dates than
exiftool -a -G1 -s -u -api RequestAll /Users/tonio/Desktop/Vidéos/20150314_141501.mp4 but this one doesn't only displays dates.
When using the
-api RequestAll and the
-u options, the info I have on the file processed with
exiftool -time:all= '-Alldates<Filename' -api largefilesupport=1 -m /Users/tonio/Desktop/Vidéos/20150314_141501.mp4 is the following:
exiftool -time:all -ee -G -s -u -api RequestAll /Users/antoinecoliac/Desktop/Vidéos/20150314_141501.mp4
[ExifTool] Now : 2022:09:13 20:14:31+02:00
[File] FileModifyDate : 2022:09:13 04:20:14+02:00
[File] FileAccessDate : 2022:09:13 04:20:37+02:00
[File] FileInodeChangeDate : 2022:09:13 04:20:14+02:00
[QuickTime] CreateDate : 2015:03:14 14:15:01
[QuickTime] ModifyDate : 2015:03:14 14:15:01
[QuickTime] DateTimeOriginal : 2015:03:14 14:15:01+01:00
[QuickTime] TrackCreateDate : 0000:00:00 00:00:00
[QuickTime] TrackModifyDate : 0000:00:00 00:00:00
[QuickTime] MediaCreateDate : 0000:00:00 00:00:00
[QuickTime] MediaModifyDate : 0000:00:00 00:00:00
[QuickTime] TrackCreateDate : 0000:00:00 00:00:00
[QuickTime] TrackModifyDate : 0000:00:00 00:00:00
[QuickTime] MediaCreateDate : 0000:00:00 00:00:00
[QuickTime] MediaModifyDate : 0000:00:00 00:00:00
[XMP] DateTimeOriginal : 2015:03:14 14:15:01
[XMP] CreateDate : 2015:03:14 14:15:01
[XMP] ModifyDate : 2015:03:14 14:15:01
so XMP data seems to have been added to the processed file, it wasn't on the original before running the command above.
(I don't know why, but the first command of this message shows more dates (among other info) than this one above.)
But to answer to you, yes, your links helped me better understand the complex metadata system, even if some questions remain in my head: the first one, why are some media showing a time zone stamp, and others don't?
Please have a look at this example of 2 photos, one have a time zone (iPhone) OffsetTime +04:00, and the other (Canon camera) doesn't.
exiftool -time:all -ee -G -s -u -api RequestAll /Users/tonio/Desktop/Photos/IMG_0140.JPEG /Users/tonio/Desktop/Photos/IMG_1284.JPEG
======== /Users/tonio/Desktop/Photos/IMG_0140.JPEG
[ExifTool] Now : 2022:09:13 21:15:26+02:00
[File] FileModifyDate : 2019:10:31 11:57:27+01:00
[File] FileAccessDate : 2022:09:03 18:11:32+02:00
[File] FileInodeChangeDate : 2022:09:03 18:11:04+02:00
[EXIF] ModifyDate : 2019:10:31 11:57:27
[EXIF] DateTimeOriginal : 2019:10:31 11:57:27
[EXIF] CreateDate : 2019:10:31 11:57:27
[EXIF] SubSecTime : 20
[EXIF] SubSecTimeOriginal : 20
[EXIF] SubSecTimeDigitized : 20
[Composite] SubSecCreateDate : 2019:10:31 11:57:27.20
[Composite] SubSecDateTimeOriginal : 2019:10:31 11:57:27.20
[Composite] SubSecModifyDate : 2019:10:31 11:57:27.20
======== /Users/tonio/Desktop/Photos/IMG_1284.JPEG
[ExifTool] Now : 2022:09:13 21:15:26+02:00
[File] FileModifyDate : 2019:11:04 09:53:28+01:00
[File] FileAccessDate : 2022:09:12 20:07:08+02:00
[File] FileInodeChangeDate : 2022:09:03 18:11:04+02:00
[EXIF] ModifyDate : 2019:10:28 13:57:59
[EXIF] DateTimeOriginal : 2019:10:28 13:57:59
[EXIF] CreateDate : 2019:10:28 13:57:59
[EXIF] OffsetTime : +04:00
[EXIF] OffsetTimeOriginal : +04:00
[EXIF] OffsetTimeDigitized : +04:00
[EXIF] SubSecTimeOriginal : 610
[EXIF] SubSecTimeDigitized : 610
[XMP] CreateDate : 2019:10:28 13:57:59
[XMP] ModifyDate : 2019:10:28 13:57:59
[XMP] DateCreated : 2019:10:28 13:57:59
[IPTC] DigitalCreationTime : 13:57:59
[IPTC] DigitalCreationDate : 2019:10:28
[IPTC] DateCreated : 2019:10:28
[IPTC] TimeCreated : 13:57:59
[Composite] SubSecCreateDate : 2019:10:28 13:57:59.610+04:00
[Composite] SubSecDateTimeOriginal : 2019:10:28 13:57:59.610+04:00
[Composite] SubSecModifyDate : 2019:10:28 13:57:59+04:00
[Composite] DateTimeCreated : 2019:10:28 13:57:59
[Composite] DigitalCreationDateTime : 2019:10:28 13:57:59
2 image files read
Some photos don't even display any +01:00 or +02:00 anywhere, on any date. Why?
And why is the OffsetTime not filled in the Date/Time Original field rather than in the [Composite] fields, which are not embedded?
Isn't there a command I could use so
each media gets the right time zone?
You told me Adobe gave priority to XMP time stamp. I don't really understand what it means. But I didn't use Adobe or any other program to get those QuickTime dates equal to zero: I used
exiftool -time:all= '-Alldates<Filename' -api largefilesupport=1 -m /Users/tonio/Desktop/Vidéos/20150314_141501.mp4. So this one seems to be the wrong command to use in my case, as I want the file to be free from any inconsistency (I guess it's when all the dates are set to the same value), with the right time zone.
Quote from: StarGeek on September 13, 2022, 12:11:39 AMQuicktime:CreateDate is already set in your listing.
Okay, thank you StarGeek, so you mean this CreateDate has been set because I ran the command manually or it already was before that? Because it doesn't show up when trying to extract all the dates.
Once this will be done, I would like to know how I can insert the data set in Photos for each media, INTO each media after generating the XMP file with the Photos "export IPTC as XMP" option: because I saw in the ExifTool doc I needed a "track.log" file to do so, and then use the command
exiftool -geotag a.log '-geotime<${createdate}+01:00' dir. I don't have any track.log file, do I? So what is the advantage of using this command compared to the other that "geotags all images in a directory with XMP tags instead of EXIF tags, based on the image CreateDate"?
Thank you very much for your support, StarGeek, Matti, and thank you for reading me again.
StarGeek Edit: Edited to correct formatting.
Quote from: Tonio on September 13, 2022, 03:46:04 PMFirst, I confess I don't understand which command I must use to retrieve ALL the dates present in a file, as -time:all and -AllDates don't show the same info
Time:All will show all Date/Time related tags in the file. This uses the Group 2 category of
Time as mentioned above.
AllDates is a shortcut tag (see the Shortcut tags page (https://exiftool.org/TagNames/Shortcuts.html)). It only contains three tags,
CreateDate,
DateTimeOriginal, and
ModifyDate. These are the three main and most common date/time EXIF tags used in images. The main use of this tag is to list or write those tags easily. This shortcut does not mean that it will definitely read/write EXIF tags, as there are tags with the same name in both the XMP and Quicktime group. But it will write those tags to the default locations depending upon what file it is. In an image, that will be the EXIF group but in a video, it will write those tags to the Quicktime group (as well as the XMP group I think).
Quotethe first one, why are some media showing a time zone stamp, and others don't?
Please have a look at this example of 2 photos, one have a time zone (iPhone) OffsetTime +04:00, and the other (Canon camera) doesn't.
...
Some photos don't even display any +01:00 or +02:00 anywhere, on any date. Why?
And why is the OffsetTime not filled in the Date/Time Original field rather than in the [Composite] fields, which are not embedded?
Again, hot mess. Plus the fact that an iPhone knows where in the world it is and constantly gets date/time data from the cell towers it connects to, if not from connecting to GPS satellites (not sure about the latter, but doesn't really matter). So it always knows the exact time and time zone for it's location.
A regular camera, such as a point/click or DSLR, usually don't have such data available, though GPS addons are available for some cameras. As such, time zone data almost always has to be added afterwards.
Then it comes down to whether the tag itself can hold time zone data. Most Quicktime date/time tags are integer based (see Quicktime page link above). And these tags are the UTC ones. No time zone is added because UTC is always the same time zone, +00:00.
There are a couple other tags available for videos, most notably
Quicktime:DateTimeOriginal and
Quicktime:CreationDate (different name than
CreateDate). These tags are supposed to be local time and adding a time zone to those is
supposed to be optional. But Apple, even though it's their standard, writes their programs so that if the time zone isn't included, you will get insanely inaccurate date/times. See the third image in this thread (https://exiftool.org/forum/index.php?topic=11927.0). So exiftool by default will automatically add a time zone to those tags in video files.
In images, things are even more fractured. The EXIF standard is old and when it was created, there was no thought given to things like fractions of a second (take more than one image as second? inconceivable) or time zones. As the years went on, these items were added to the EXIF standard but they couldn't just expand the existing tags, as that would break years of software. So now each of the three EXIF date/time tags is split into three items. One to hold the main part of the date (Year:Month:Day Hour:Minute:Second), one more to hold the sub-seconds, and finally another to hold the time zone.
The newer XMP standard is much more flexable, allowing you combine all three of these items in a single tag.
FAQ #5 (https://exiftool.org/faq.html#Q5) has some more details.
QuoteIsn't there a command I could use so each media gets the right time zone?
For the most part, if it's not there, i.e, the camera didn't know the time zone when writing it, then there's no real way of figuring it out. Given a GPS coordinate, there are some programs that can figure out this information or it can be scripted by using various online websites, such as Google Maps API.
But in the case of the video time stamps that are set to UTC, you can add the
-api QuickTimeUTC option (https://exiftool.org/ExifTool.html#QuickTimeUTC). This will tell exiftool to adjust the integer based time stamps, the ones that cannot include a time zone, to/from UTC based upon the current time zone of the computer.
QuoteYou told me Adobe gave priority to XMP time stamp. I don't really understand what it means.
By that I mean that if a Adobe program, such as Bridge or Lightroom, reads a date/time tag from a video, it will prefer to use the XMP date/time tag if it exists.
QuoteBut I didn't use Adobe or any other program to get those QuickTime dates equal to zero: I used exiftool -time:all= '-Alldates<Filename' -api largefilesupport=1 -m /Users/tonio/Desktop/Vidéos/20150314_141501.mp4. So this one seems to be the wrong command to use in my case, as I want the file to be free from any inconsistency (I guess it's when all the dates are set to the same value), with the right time zone.
That command will not clear out any tags, it will only set the tags with the names I listed above.
QuoteQuote from: StarGeek on September 13, 2022, 12:11:39 AMQuicktime:CreateDate is already set in your listing.
Okay, thank you StarGeek, so you mean this CreateDate has been set because I ran the command manually or it already was before that? Because it doesn't show up when trying to extract all the dates.
I don't know. I don't know what programs you're running and in what order you're running them.
QuoteOnce this will be done, I would like to know how I can insert the data set in Photos for each media, INTO each media after generating the XMP file with the Photos "export IPTC as XMP" option:
The best I can do here is point you to the Metadata Sidecar Files page (https://exiftool.org/metafiles.html) which has examples for embedding XMP sidecars into the file. I don't use Apple products, so can't advise on Photos or similar apps.
Quotebecause I saw in the ExifTool doc I needed a "track.log" file to do so, and then use the command exiftool -geotag a.log '-geotime<${createdate}+01:00' dir. I don't have any track.log file, do I? So what is the advantage of using this command compared to the other that "geotags all images in a directory with XMP tags instead of EXIF tags, based on the image CreateDate"?
You only need a track log if you are geotagging your files.
Okay, thank you very much StarGeek for this precious info. To sum up, I can conclude that geotagging my Canon photos after shooting would be a huge mess.
I would do this on Photos directly after import, it doesn't matter to me.
And it makes things easier.
I'd better focus on filenames and creation dates.
So, in order to be clean I need three commands, maybe you can help me? That would be extremely nice of you. I installed ExifTool GUI to simplify my task now: I need
- a command (or GUI instruction) to rename the files according to the valid creation date of the photo/video,
- a command (or GUI instruction) to align all creation dates on this valid date written in the file name (with a regex?) in the format 19993112_235959 for media taken in France,
- and a command (or GUI instruction) for those taken out of France, which would allow me to shift the time zone (I only have 3-4 albums taken outside, I can do it one by one).
To check that everything is good, I can create a workflow with all the existing dates inside, and check one by one that each photo/video is set to the correct time? That is right ?
Thank you so much,
Tonio
Quote from: Tonio on September 14, 2022, 07:03:54 PM- a command (or GUI instruction) to rename the files according to the valid creation date of the photo/video,
- a command (or GUI instruction) to align all creation dates on this valid date written in the file name (with a regex?) in the format 19993112_235959 for media taken in France,
- and a command (or GUI instruction) for those taken out of France, which would allow me to shift the time zone (I only have 3-4 albums taken outside, I can do it one by one).
It seems you are using a Mac so I'd recommend using GraphicConverter for those tasks. It can also copy & paste GPS (I have a spreadsheet for frequent locations). I use it for all image files and use exiftool only for special purposes and movies (dates, GPS, titles, descriptions).
https://www.lemkesoft.de/en/products/graphicconverter/
- Matti
Thank you very much!
This app could help me with my problem and has a GUI? And for the 130 videos I have I can use ExifTool GUI? Could you give me a command to align all dates on the valid creation dates for the videos, if you have one? I will try this program for photos! Thank you so much!
Tonio
Quote from: Tonio on September 15, 2022, 08:36:13 AMExifTool GUI? Could you give me a command to align all dates on the valid creation dates for the videos, if you have one?
I use plain vanilla exiftool via the Terminal for special tasks for images (for movies check the link in my 1st post).
- Matti
Hello Matti,
First I must say THANK YOU very much for the software you told me to use. GraphicConverter 11. It is EXACTLY what I needed.
An ergonomic interface, with a clear view and ultra powerful tools adapted to each task (and which work!) with the possibility in one click to edit all the selected photos, also optimized for time zones, GPS dates, XMP attributes, EXIF dates, allowing you to rename files automatically following a chain of clever processing (wonder if there's any machine learning?)... and more. It even features ExifTool which is very very useful for keeping an eye on all data and to be sure that they are valid. I couldn't hope for a better software than this one! I plan to buy it within a week. (I did not try yet the picture relocation and the vid data edition but well.)
Unfortunately, there is still something I don't understand, even after spending a dozen hours editing my photo gallery and checking all the metadata everywhere. And I think this will be my last question; maybe you could help me figure this out.
When the displayed date is written WITHOUT time zone (for example IFD0, ExifID, Composite...) I understand that it is "UTC, Universal Time Coordinate" and the date will always be valid, it is an absolute notation (am I right?). But the first date displayed, namely "date/time of file modification" (Exif it seems to me), there is a time zone next to it. My question: has this date to be always coordinated with all the other ones, or do I have to make a subtraction/addition according to the time zone displayed next to it?
Example: if the photo was taken in Iceland in winter at 12:00:00, is the correct notation 12:00:00 +01:00 or 13:00:00 +01:00?
(I would say the first answer is the right one because the time zone at right is only an indicate information not related to the number written, but I want to be sure.)
Thank you!!!
Tonio
Quote from: StarGeek on September 13, 2022, 12:11:39 AMYou appear to be in the +01:00 time zone according to the file system time stamps, so Photos is properly adjusting from 14:15:01 UTC to 15:15:01+01:00.
Actually here is the sentence that created doubts about the UTC/not UTC notation and disturbed everything in my head
PS: almost all of my iPhone photos (with reliable data) were by default displaying the time zone at the right of the correct hour, without making any addition/subtraction linked to the number displayed IN FRANCE, but in Iceland I get some photos with this difference and I must refer to the XMP, GPS date to know which is the real one. Any idea why sometimes dates don't correspond?
Thank you so much again for your support,
Tonio
EDIT: I may also be confusing this time zone stuff with videos and QuickTime attributes, which don't apply to photos
As far as I know, all images (.jpg, heic, .tif, .png, .cr2, .cr3, .raw etc) use local time although some apps might add a computer's current timezone/offset to the end.
So the main thing in images is to make sure that 'ExifIFD:DateTimeOriginal' (a.k.a. 'Date/Time Original' without '-G1 -s' options) is correct.
exiftool '-AllDates' is a shortcut to 'DateTimeOriginal', 'CreateDate' and 'ModifyDate' in images so you can use it to set all relevant dates in one command (not so good for movies because it does not touch 'Keys:CreationDate').
That said, rarely misbehaving apps like Photos.app might sort images incorrectly or display an incorrect time. Usually this relates to different GPS location or when the mobile device happened to get GPS time or some obscure other date tag like IPTC dates or even out-of-sync IPTCDigest.
Movie dates are a different matter and should use UTC. exiftool '-api QuickTimeUTC=1' option handily converts that to the computer's current timezone/offset even taking care of daylight savings times so the time should be reported the same as in images even when travelling.
In movies (.mp4, .m4v and .mov) the main thing is to make sure that 'QuickTime:CreateDate' is correct. Apple's mobile devices use also 'Keys:CreationDate' that should be set the same and it works in old pre-1970 or pre-1902 movies better.
In addition to those metadata dates, I set also the filename (I use YYYY-MMDD-hhmm-ss.* because I dislike spaces in filenames and have used that format for 20 years) and file creation & modification dates the same so it is easy to spot errors in list views.
GraphicConverter follows those guidelines but sometimes it is necessary to use exiftool for troubleshooting and check the dates or GPS with commands like:
exiftool -a -G1 -s -api QuickTimeUTC=1 -time:all .
exiftool -a -G1 -s -api QuickTimeUTC=1 -time:all -api RequestAll=2 .
exiftool -a -G1 -s -n -ee '-*GPS*' .
exiftool -a -G1 -s -n -ee -Location:all .
- Matti
Hello,
Thank you very much for this answer, it will help me a lot for editing my videos.
However, excuse me, you will think I'm ignorant of the world time system but I don't understand to what date refers this notation on GraphicConverter 11:
12:00:00+01:00.
Is it 12 o'clock, 11 o'clock, or 13 o'clock?
You said photos used local time but this picture was taken with an iPhone in a UTC+00 timezone and it still shows +01:00. I can't change this manually with GC11 so the photo shows 12:00:00 UTC+00. Why?
Thank you very much,
Tonio
Please have a look at this picture, maybe you will better understand.
https://ibb.co/L8SFP48
This photo was taken at 12:43:21 in Iceland (+00:00). The camera doesn't know the time zone over there, so it had no time zone. I set it to +00:00 with GC11. No problem.
But the camera was still set to the French hour, so I have to manually subtract 01:00.
https://ibb.co/jM1F9Bn
Am I right? I should be, since now on Photos Mac, the photo is set to the right hour with the right time zone (England because I did not set the geoloc yet). But when looking at the thumbnail of the picture, I can still see UTC+01:00.
https://ibb.co/cDFrKJk
Here is my problem.
Maybe I see +01:00 on the thumbnail because it was my camera system time zone at the moment I took the photo?
Thank you for reading
Tonio
I FIGURED THIS OUT GUYS!!!
The thumbnail, and field "Date/time of modification of the file" was displaying UTC+01:00 because it was linked with the system and had nothing to see with Exif data!! When changing my system time zone it was set correctly! And had no influence on the way Phots sorted each media! Thank you for your help everybody, it was not easy but I think I finally start to understand how all this stuff works
Thank you Matti
Tonio
When travelling I try to make sure all cameras are set to the same local time at the destination.
I have not paid much attention nor used the timezone/offset in image files. But you can add and adjust it via GraphicConverter > Set Exif date to > User Defined Date...> Time Zone so Offset times are added and set accordingly:
[ExifIFD] DateTimeOriginal : 2020:01:01 12:00:00
[ExifIFD] OffsetTime : +02:00
[ExifIFD] OffsetTimeOriginal : +02:00
[ExifIFD] OffsetTimeDigitized : +02:00
After travelling I check and adjust that all image dates are about right at local time there. Then check and adjust movie dates so they sort correctly with the images in Photos.app.
Photos.app can display the timezone when it is added as a custom preference to macOS Language & Region > Advanced... > Times > drag the Time Zone to the Medium length format and set its format as desired (+02:00, for example). In the attached screenshot the default and the modified display for the same image. [edit: I now noticed that Photos.app displays the computer timezone OR that offset if it is present. Oh, another thing to look for if images sort incorrectly.]
- Matti