Invalid atom size error on MacOS High Sierra

Started by kmlevy, June 18, 2019, 01:16:44 AM

Previous topic - Next topic

kmlevy

I have been using your tool for a number of years now and love it.  Thank you for producing and maintaining this wonderful tool!

Recently, I have run into a problem when trying to update metadata for MP4 videos from a csv file  I get the message "Error: Invalid atom size" for each video processed.  However, this occurs only when running the command on a machine with MacOS High Sierra installed.  When I copy the same MP4 files and csv file to a machine running MacOS Sierra, the same command runs fine.  Any ideas as to what the issue may be?

Here is my workflow.  It's a bit convoluted, but works for what I am trying to do.  Steps 1-7 are run from MacOS High Sierra machine.

  • Download raw MOV files from iPhone to file system using Image Capture.
  • Run command "exiftool -csv . > exif.csv" to produce csv output for original videos.
  • Use iMovie to extract/save clips from original videos.  At this point clips are in MOV format.
  • Rename clips from .MOV to .MP4.
  • Manually edit original csv file (using VIM) to copy/edit records from original videos to equivalent records for the clips.  This includes renaming the original file names and changing the extension/video type from MOV to MP4.  All other entries are left intact.
  • Run command "exiftool -csv=exif.csv .".  This is the point where I get the error message for each video.
  • Copy clips and csv file to external USB drive.
  • Copy clips and csv file from external USB drive to MacOS Sierra machine.
  • Run command "exiftool -csv=exif.csv .".  Files process normally.

I have tried this with versions 10.78, 11.28, and 11.52.  Same results for all.

Any help would be appreciated.

Phil Harvey

Can you post the output of exiftool -v3 on High Sierra for a file that gives this error?

I'm running High Sierra 10.13.6 here, so if you could upload the files somewhere I could try to reproduce this.  My email is philharvey66 at gmail.com

BTW, 10.78 and 11.28 will give vastly different results than 11.52 for this command since the ability to create QuickTime tags was added in 11.39.  Before this, only XMP was writable in QuickTime-based formats like MP4.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

kmlevy

Phil,

I have sent you an e-mail with the location of where you can download the information you requested.

Keith

Phil Harvey

Sorry, I can't find your email.  Could you please re-send with "ExifTool" in the subject and a link to this topic in the body?

Thanks.
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

kmlevy


Phil Harvey

OK, your mails just aren't getting through for some reason.  I have seen similar problems before.   Our server employs a greylist strategy, which rejects the first mail from any new server.  If your server isn't configured properly to resend the mail, then it won't get delivered.

Try this address instead:  philharvey66 at gmail.com

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).


Phil Harvey

I got the file, thanks.

There is a problem that gives this warning in the -v3 output you sent:

  | | | [Terminator found in Meta with 20 bytes remaining]

It is the same problem, but the warning message is different when writing.  I will change the writer to give this warning:

Error: [minor] Terminator found in Meta with 20 bytes remaining - IMG_7179_1.MP4

which will allow you to write this file with the -m option.  Doing so will truncate the last 20 bytes of the Meta box, but in this case it contains only an invalid Author entry.

However, I don't understand why this works for you on other systems.  I tried it on Linux and it gave the same error as High Sierra.  I don't have a Sierra machine to test this on.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

kmlevy

Does this mean I can use the -m option now or would I have to wait for a patched version?

Phil Harvey

Quote from: kmlevy on June 24, 2019, 03:19:53 PM
Does this mean I can use the -m option now or would I have to wait for a patched version?

Neither.

You need to use the new version, but you don't have to wait.  I released 11.53 earlier today.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

kmlevy

That seemed to do the trick. :D

One other question, would the bypass impact the writing of the GPS data?  When I import the modified file into Photos, the video clip  doesn't show the GPS info which the original full video contained, and which information was in the csv file.

Phil Harvey

Did you use this command on both files to see where the GPS was stored?:

exiftool "-gps*" -G1 FILE

It could be the problem if the output of this command differs between the files.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

kmlevy

The clip returns no results while the original returns results.  I was assuming that the CSV data assignment to the clip would include the GPS info.  Is that not the case?

Phil Harvey

Could you show me the output of this command on the original video?  You can change the numbers for privacy if you want.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

kmlevy


MacBook-Pro:exif_orig$ exiftool "-gps*" -G1 IMG_7179.MOV
[Keys]          GPS Coordinates                 : 32 deg 10' 4.08" N, 78 deg 36' 99.00" E, 777.82 m Above Sea Level
[Composite]     GPS Altitude                    : 777.82 m
[Composite]     GPS Altitude Ref                : Above Sea Level
[Composite]     GPS Latitude                    : 32 deg 10' 4.08" N
[Composite]     GPS Longitude                   : 78 deg 36' 99.00" E
[Composite]     GPS Position                    : 32 deg 10' 4.08" N, 78 deg 36' 99.00" E

Phil Harvey

Hmmm.  OK, thanks.  So I don't understand why writing Keys:GPSCoordinates doesn't work.  If I get a chance I'll try running some tests in Apple Photos myself.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).