Main Menu

Recent posts

#61
Newbies / Re: Changing Date Fields - Err...
Last post by mjax295 - November 20, 2024, 07:12:24 AM
Thank you very much both of you.  That fixed it.
#62
ExifTool GUI / Re: Sorting keyword list in .c...
Last post by ABRADSHAW - November 20, 2024, 07:10:23 AM
Thanks Phil & Frank for your input I will have a play and see what I can achieve splitting them into separate columns but this will still be only a partial answer.
You are correct in that the Keywords from Bridge appear in the order they were appended to the images. Probably very useful somewhere I'm sure but in a structured hierarchical type list of questionable value. Re-classifying several thousand images would be a herculean task and remembering to do it in exactly the same way in the future without any inadvertent mistakes would be difficult.
I want to be able to extract the keywords in a sorted format, either as one string or as separate columns, in a csv file to be able to import them into a spreadsheet that allows me filter using their values.
I typically attach a couple of date values and then some subject values as shown below:

2024, Garden, 2020s, House 61, Home
2020s, 2024, Garden, House 61, Home
Imperial War Museum, 2024, 2020s, Places & Events

It would be a great help to at least be able to rely on the date values to be consistently in one or 2 places in the export; if alphanumeric, then in col 1 and 2. the others could be dealt with later.

Again thanks for the thoughts so far and any further thoughts would be gracefully received.

Tony


 
#63
Newbies / Re: If and or not condition no...
Last post by theprof - November 20, 2024, 05:58:41 AM
Quote from: StarGeek on November 19, 2024, 10:00:02 PMRemove .%%le from the date format string.

Add .$FileTypeExtension

'-FileName<FileModifyDate.$FileTypeExtension' \
'-FileName<${ModifyDate;$_ = undef if $_ lt "1971"}.$FileTypeExtension' \
'-FileName<${DateTimeOriginal;$_ = undef if $_ lt "1971"}.$FileTypeExtension' \
'-FileName<${CreateDate;$_ = undef if $_ lt "1971"}.$FileTypeExtension' \

Great that works!

One problem I get the error Error: Not a valid PNG (looks more like a BMP) even if I use -F and -m options. How do I get it to rename it? Or do you recommend that I manually examine each case where it might be different?
#64
The "exiftool" Application / partial support of metadata co...
Last post by mkornelix - November 20, 2024, 04:36:28 AM
This command works OK for JPG/PNG/TIF/... but only partially for JXL

$: exiftool -v -tagsfromfile BMW-21.jpg -all BMW-21.jxl -overwrite_original

Setting new values from BMW-21.jpg
======== BMW-21.jxl
Rewriting BMW-21.jxl...
  Editing tags in: Exif ExifIFD File GPS IFD0 IPTC ItemList JFIF JP2 Keys MIE-Doc MIE-GPS MIE-Geo MIE-Image MakerNotes PDF PNG PhotoMechanic Photoshop PostScript UserData XMP xml 
  Rewriting EXIF
  + [TIFF directory]
  Rewriting IFD0
  Rewriting GPS
  Rewriting XMP
    1 image files updated

title, description, rating, country, GPS data are copied.
city, keywords are not copied.

Is this permanent or will it be fixed?
Thanks in advance.

#65
Metadata / Re: Question about wrong dates...
Last post by wlire - November 19, 2024, 11:18:52 PM
For some context, here is the outputs when running the command: exiftool.exe -time:all -g1 -a -s "file.mp4"

For hero10:
---- System ----
FileModifyDate                  : 2024:04:13 17:19:47-04:00
FileAccessDate                  : 2024:11:19 23:09:23-05:00
FileCreateDate                  : 2024:11:19 23:08:25-05:00
---- QuickTime ----
CreateDate                      : 2024:04:13 17:14:27
ModifyDate                      : 2024:04:13 17:14:27
---- Track1 ----
TrackCreateDate                : 2024:04:13 17:14:27
TrackModifyDate                : 2024:04:13 17:14:27
MediaCreateDate                : 2024:04:13 17:14:27
MediaModifyDate                : 2024:04:13 17:14:27
---- Track2 ----
TrackCreateDate                : 2024:04:13 17:14:27
TrackModifyDate                : 2024:04:13 17:14:27
MediaCreateDate                : 2024:04:13 17:14:27
MediaModifyDate                : 2024:04:13 17:14:27
---- Track3 ----
TrackCreateDate                : 2024:04:13 17:14:27
TrackModifyDate                : 2024:04:13 17:14:27
MediaCreateDate                : 2024:04:13 17:14:27
MediaModifyDate                : 2024:04:13 17:14:27
---- Track4 ----
TrackCreateDate                : 2024:04:13 17:14:27
TrackModifyDate                : 2024:04:13 17:14:27
MediaCreateDate                : 2024:04:13 17:14:27
MediaModifyDate                : 2024:04:13 17:14:27


For hero11 mini:
---- System ----
FileModifyDate                  : 2023:03:31 21:59:36-04:00
FileAccessDate                  : 2024:11:19 23:11:39-05:00
FileCreateDate                  : 2024:11:19 23:08:00-05:00
---- QuickTime ----
CreateDate                      : 2023:04:01 01:57:30
ModifyDate                      : 2023:04:01 01:57:30
---- Track1 ----
TrackCreateDate                : 2023:04:01 01:57:30
TrackModifyDate                : 2023:04:01 01:57:30
MediaCreateDate                : 2023:04:01 01:57:30
MediaModifyDate                : 2023:04:01 01:57:30
---- Track2 ----
TrackCreateDate                : 2023:04:01 01:57:30
TrackModifyDate                : 2023:04:01 01:57:30
MediaCreateDate                : 2023:04:01 01:57:30
MediaModifyDate                : 2023:04:01 01:57:30
---- Track3 ----
TrackCreateDate                : 2023:04:01 01:57:30
TrackModifyDate                : 2023:04:01 01:57:30
MediaCreateDate                : 2023:04:01 01:57:30
MediaModifyDate                : 2023:04:01 01:57:30
---- Track4 ----
TrackCreateDate                : 2023:04:01 01:57:30
TrackModifyDate                : 2023:04:01 01:57:30
MediaCreateDate                : 2023:04:01 01:57:30
MediaModifyDate                : 2023:04:01 01:57:30


For reference, the h11 file was filmed at 2023:04:01 21:57:30 EST, h10 file was filmed at 2024:04:13 17:14:27 EST

So i am guessing I would need to modify the h10 to be in UTC by moving it forward, is that all that needs to be done?
#66
Newbies / Re: If and or not condition no...
Last post by StarGeek - November 19, 2024, 10:00:02 PM
Remove .%%le from the date format string.

Add .$FileTypeExtension

'-FileName<FileModifyDate.$FileTypeExtension' \
'-FileName<${ModifyDate;$_ = undef if $_ lt "1971"}.$FileTypeExtension' \
'-FileName<${DateTimeOriginal;$_ = undef if $_ lt "1971"}.$FileTypeExtension' \
'-FileName<${CreateDate;$_ = undef if $_ lt "1971"}.$FileTypeExtension' \
#67
Newbies / Re: If and or not condition no...
Last post by theprof - November 19, 2024, 08:49:31 PM
Quote from: StarGeek on November 19, 2024, 08:39:04 PMHow is it not working? What is the exact output?

Actually, I want a better command:

exiftool -F -overwrite_original_in_place -api LargeFileSupport \
        -ext '*' \
        -FileOrder DateTimeOriginal -FileOrder CreateDate -FileOrder ModifyDate -FileOrder -FileSize -FileOrder FileModifyDate \
        -api QuickTimeUTC \
        -d "%Y_%m_%d_%H_%M_%S_%%.2nc.%%le" \
        '-AllDates<FileModifyDate#' \
        '-AllDates<${ModifyDate#;$_ = undef if $_ lt "1971"}' \
        '-AllDates<${DateTimeOriginal#;$_ = undef if $_ lt "1971"}' \
        '-AllDates<${CreateDate#;$_ = undef if $_ lt "1971"}' \
        '-FileName<FileModifyDate' \
        '-FileName<${ModifyDate;$_ = undef if $_ lt "1971"}' \
        '-FileName<${DateTimeOriginal;$_ = undef if $_ lt "1971"}' \
        '-FileName<${CreateDate;$_ = undef if $_ lt "1971"}' \
        -r "$dir_path"


I want to make it so that it adds the correct lowercase file extension here. I have a lot of JPEG files that have MOV file extension so I want to fix those.
#68
Newbies / Re: If and or not condition no...
Last post by StarGeek - November 19, 2024, 08:39:04 PM
How is it not working? What is the exact output?
#69
Newbies / Re: Best CreateDate - Most acc...
Last post by StarGeek - November 19, 2024, 08:36:50 PM
In theory, the three EXIF time stamps, CreateDate, DateTimeOriginal, and ModifyDate, should all be set to the same time stamp when the image was taken by a digital camera. This is usually pretty reliable, but in cameras that don't have built in ways to get the exact time (mobile devices), this can get messed up by setting the time wrong or the battery dying and resetting the time (mostly older cameras).

In theory, for a scanned image, CreateDate and ModifyDate should be set to the time the image was scanned and DateTimeOriginal should be when the image was actually shot. This is not reliable, as most people who scan pictures, outside of archivists, don't care and anything can end up in the time stamps.

Anything from social media, text messages, and similar stuff. is almost certainly stripped of metadata and there won't be any reliable date. At best, you will only find the time when the image was downloaded or in some cases, the date will be part of the filename. Screenshots often fall into this category.

Beyond that, you can never tell. Some people do weird things with their metadata. And badly written programs will do weird things.
#70
Newbies / If and or not condition not wo...
Last post by theprof - November 19, 2024, 07:14:21 PM
This is in bash, basically, I want to find all files where the mime type does not match the extension:
exiftool -r \
    -if '(($MIMEType eq "image/jpeg" and $FileName !~ /\.(jpg|jpeg)$/i) or \
          ($MIMEType eq "image/png" and $FileName !~ /\.png$/i) or \
          ($MIMEType eq "image/gif" and $FileName !~ /\.gif$/i) or \
          ($MIMEType eq "image/bmp" and $FileName !~ /\.bmp$/i) or \
          ($MIMEType eq "image/tiff" and $FileName !~ /\.(tiff|tif)$/i) or \
          ($MIMEType eq "image/heif" and $FileName !~ /\.(heif|heic)$/i) or \
          ($MIMEType eq "image/webp" and $FileName !~ /\.webp$/i) or \
          ($MIMEType eq "video/mp4" and $FileName !~ /\.mp4$/i) or \
          ($MIMEType eq "video/quicktime" and $FileName !~ /\.mov$/i) or \
          ($MIMEType eq "video/x-msvideo" and $FileName !~ /\.avi$/i) or \
          ($MIMEType eq "video/x-matroska" and $FileName !~ /\.mkv$/i) or \
          ($MIMEType eq "video/webm" and $FileName !~ /\.webm$/i) or \
          ($MIMEType eq "video/x-flv" and $FileName !~ /\.flv$/i) or \
          ($MIMEType eq "video/mpeg" and $FileName !~ /\.(mpeg|mpg)$/i) or \
          ($MIMEType eq "video/3gpp" and $FileName !~ /\.3gp$/i) or \
          ($MIMEType eq "video/ogg" and $FileName !~ /\.ogv$/i) or \
          ($MIMEType eq "video/MP2T" and $FileName !~ /\.ts$/i) or \
          ($MIMEType eq "video/x-ms-wmv" and $FileName !~ /\.wmv$/i) or \
          ($MIMEType eq "video/x-m4v" and $FileName !~ /\.m4v$/i))' \
    -p '${FileName}: ${MIMEType}' "$dir"