Since there have been major QuickTime updates, I'm trying to resolve the question I originally posted about here in April.
https://exiftool.org/forum/index.php/topic,10023.0.html
I'm attempting to merge GPS and timestamp data from Google Photos JSON files to MOV files, so that it can be read by Apple Photos.
Here is the script I'm using...
exiftool -tagsfromfile "%d/%F.json" "-quicktime:gpsposition#<$GeoDataLatitude $GeoDataLongitude $GeoDataAltitude" "-CreateDate<PhotoTakenTimeTimestamp" -d %s. -api quicktimeutc .There are two issues:
- PhotoTakenTimeTimestamp is written into XMP rather than a section Apple Photos uses. Also, the result is still in UTC rather than local time.
- GPS portion generates the message "Warning: No writable tags set from ./[File].MOV.json"
I know the tags exist since this is the JSON file output. Any help would be much appreciated. Thanks!
ExifToolVersion = 11.64
FileName = IMG_2652.MOV.json
Directory = .
FileSize = 702
FileModifyDate = 1567009191.44887
FileAccessDate = 1566781214
FileCreateDate = 1566781214
FilePermissions = 33206
FileType = JSON
FileTypeExtension = JSON
MIMEType = application/json
CreationTimeFormatted = Jan 8, 2019, 1:21:40 AM UTC
CreationTimeTimestamp = 1546910500
Description =
GeoDataAltitude = 121.7
GeoDataLatitude = 25.9225
GeoDataLatitudeSpan = 0.0
GeoDataLongitude = -56.77799999999999
GeoDataLongitudeSpan = 0.0
GeoDataExifAltitude = 121.7
GeoDataExifLatitude = 25.9225
GeoDataExifLatitudeSpan = 0.0
GeoDataExifLongitude = -56.77799999999999
GeoDataExifLongitudeSpan = 0.0
ImageViews = 0
ModificationTimeFormatted = Aug 26, 2019, 3:00:15 AM UTC
ModificationTimeTimestamp = 1566788415
PhotoTakenTimeFormatted = Jan 7, 2019, 10:41:09 PM UTC
PhotoTakenTimeTimestamp = 1546900869
Title = IMG_2652.MOV
What system are you using? The quoting in the command is for Windows. Also, you will have to figure out what date/time tag you want to write. Choose the one you want from the output of this command:
exiftool -a -G1 FILE
And specify the same group and tag name when writing.
For the UTC problem, try dropping the QuickTimeUTC option when writing. Also, specify QuickTime:CreateDate when writing because otherwise XMP:CreateDate will also get written and may confuse things by having the wrong time zone.
I don't have a file like this so I can't test it myself.
- Phil
Edit: StarGeek responded (twice!) while I was editing this, so some or all of what I said may now be redundant
Quote from: bobross on August 28, 2019, 02:44:50 PM
- PhotoTakenTimeTimestamp is written into XMP rather than a section Apple Photos uses. Also, the result is still in UTC rather than local time.
See FAQ #3 (https://exiftool.org/faq.html#Q3). Try adding the
-a (duplicates) option (https://exiftool.org/exiftool_pod.html#a---a--duplicates---duplicates) to your command:
exiftool -G1 -a -s -CreateDate File.movYou should get two timestamps, the Quicktime and the XMP one. The Quicktime tag should be in UTC (as per spec) while the XMP should be in your local time. If you want the Quicktime tag converted to you local time, then don't include the
-api QuickTimeUTC option.
Quote
- GPS portion generates the message "Warning: No writable tags set from ./[File].MOV.json"
I'm not sure what to make of this. I'm still looking around, but I think the tag name is wrong. "GPSPosition" doesn't appear on the Quicktime Tags page (https://exiftool.org/TagNames/QuickTime.html), but when I try to write to
GPSCoordinates, I get the same error (no writable tags).
Ok, it did work when I typed correctly. Time zone adjusted based upon my -07:00 tz.
C:\>exiftool -tagsfromfile "%d/%F.json" "-quicktime:GPSCoordinates#<$GeoDataLatitude $GeoDataLongitude $GeoDataAltitude" "-CreateDate<PhotoTakenTimeTimestamp" -d %s -api quicktimeutc "Y:\!temp\NewDirectory\Test1.mp4"
1 image files updated
C:\>exiftool -g1 -a -s -gps* -createdate "Y:\!temp\NewDirectory\Test1.mp4"
---- QuickTime ----
CreateDate : 2019:01:08 06:41:09
---- UserData ----
GPSCoordinates : 25 deg 55' 21.00" N, 56 deg 46' 40.80" W, 121.7 m Above Sea Level
---- XMP-exif ----
GPSAltitude : 100 m
---- XMP-xmp ----
CreateDate : 2019:01:07 22:41:09
---- Composite ----
GPSAltitude : 121.7 m
GPSAltitudeRef : Above Sea Level
GPSLatitude : 25 deg 55' 21.00" N
GPSLongitude : 56 deg 46' 40.80" W
GPSPosition : 25 deg 55' 21.00" N, 56 deg 46' 40.80" W
And without -api QuickTimeUTC
C:\>exiftool -g1 -a -s -gps* -createdate "Y:\!temp\NewDirectory\Test1.mp4"
---- QuickTime ----
CreateDate : 2019:01:07 22:41:09
---- UserData ----
GPSCoordinates : 25 deg 55' 21.00" N, 56 deg 46' 40.80" W, 121.7 m Above Sea Level
---- XMP-exif ----
GPSAltitude : 100 m
---- XMP-xmp ----
CreateDate : 2019:01:07 22:41:09
---- Composite ----
GPSAltitude : 121.7 m
GPSAltitudeRef : Above Sea Level
GPSLatitude : 25 deg 55' 21.00" N
GPSLongitude : 56 deg 46' 40.80" W
GPSPosition : 25 deg 55' 21.00" N, 56 deg 46' 40.80" W
You also have a stray dot after %s, though I don't think that affects anything.
I think this is going to work. Thanks!
On the timestamp, the JSON time is UTC and I am -6:00 (US Central). I noticed "-api quicktimeutc" actually added +6 hrs to the CreateDate rather than subtracting.
Is there another flag I can use to go from UTC -> Local rather than Local -> UTC.
Right. The QuickTimeUTC flag causes the times to be stored as UTC, but they are input as local time, which isn't what you want.
Instead of the QuickTimeUTC option, you could subtract the required time difference (in seconds):
"-QuickTime:CreateDate<${PhotoTakenTimeTimestamp;$_-=21600}"
The problem will be in handling daylight savings time if you have it in your area.
- Phil
The merge worked, but Apple Photos isn't recognizing the new tags. I attached samples from an original file where Apple Photos honors the GPS data, and one where I used this script (but Apple doesn't honor).
Is it possible to alter the script to insert GPS data into the additional tags?
# Apple Photos - reads GPS data
Content Create Date : 2015:05:23 15:58:23-05:00
GPS Coordinates : [redacted]
Model : iPhone 5s
Make : Apple
Handler Type : Metadata Tags
Creation Date (und-US) : 2015:05:23 15:58:23-05:00
Model (und-US) : iPhone 5s
Software (und-US) : 8.1.2
GPS Coordinates (und-US) : [redacted]
Make (und-US) : Apple
Creation Date : 2015:05:23 15:58:23-05:00
Software : 8.1.2
Image Size : 1920x1080
Megapixels : 2.1
Avg Bitrate : 10.9 Mbps
GPS Altitude : [redacted]
GPS Altitude Ref : Above Sea Level
GPS Latitude : [redacted]
GPS Longitude : [redacted]
Rotation : 0
GPS Position : [redacted]
# Apple Photos - doesn't read GPS data
GPS Coordinates : [redacted]
XMP Toolkit : Image::ExifTool 11.64
Create Date : 2019:01:07 22:41:09
Movie Data Size : 26964593
Movie Data Offset : 10845
Image Size : 1920x1080
Megapixels : 2.1
Avg Bitrate : 10.5 Mbps
GPS Altitude : [redacted]
GPS Altitude Ref : Above Sea Level
GPS Latitude : [redacted]
GPS Longitude : [redacted]
Rotation : 0
GPS Position : [redacted]
Still an MP4 file?
What's the result when you use
exiftool -G1 -a -s File.mp4
That will show possible duplicate tags as well as the group that the tags belong to. Anything in the Composite group can be safely ignored as those tags are derived from other tags in the file
It also helps to use the CODE button (https://exiftool.org/forum/Themes/default/images/bbc/code.gif) above the text box to make the exiftool results are easier to read.
Should I run that on the file where GPS works in Apple Photos, or the one I'm try to update?
Both, the one that works in Apple Photos and the one that doesn't. That way we can actually see any differences. Without the -a (duplicates) option (https://exiftool.org/exiftool_pod.html#a---a--duplicates---duplicates), you can't see all possible tags in the file and without the -G (groupNames) option (https://exiftool.org/exiftool_pod.html#G-NUM-:NUM...--groupNames), you can't see where those duplicate tags might be located.
Thanks again for your help.
GPS tags work with Apple Photos. iPhone original.
[ExifTool] ExifToolVersion : 11.64
[System] FileName : IMG_2557.MOV
[System] Directory : .
[System] FileSize : 14 MB
[System] FileModifyDate : 2015:05:23 15:58:23-05:00
[System] FileAccessDate : 2019:09:18 15:10:41-05:00
[System] FileCreateDate : 2019:09:18 15:10:40-05:00
[System] FilePermissions : rw-rw-rw-
[File] FileType : MOV
[File] FileTypeExtension : mov
[File] MIMEType : video/quicktime
[QuickTime] MajorBrand : Apple QuickTime (.MOV/QT)
[QuickTime] MinorVersion : 0.0.0
[QuickTime] CompatibleBrands : qt
[QuickTime] MovieDataSize : 15161862
[QuickTime] MovieDataOffset : 36
[QuickTime] MovieHeaderVersion : 0
[QuickTime] CreateDate : 2015:05:23 20:58:24
[QuickTime] ModifyDate : 2015:05:23 20:58:35
[QuickTime] TimeScale : 600
[QuickTime] Duration : 11.14 s
[QuickTime] PreferredRate : 1
[QuickTime] PreferredVolume : 100.00%
[QuickTime] MatrixStructure : 1 0 0 0 1 0 0 0 1
[QuickTime] PreviewTime : 0 s
[QuickTime] PreviewDuration : 0 s
[QuickTime] PosterTime : 0 s
[QuickTime] SelectionTime : 0 s
[QuickTime] SelectionDuration : 0 s
[QuickTime] CurrentTime : 0 s
[QuickTime] NextTrackID : 3
[QuickTime] HandlerType : Metadata Tags
[Track1] TrackHeaderVersion : 0
[Track1] TrackCreateDate : 2015:05:23 20:58:24
[Track1] TrackModifyDate : 2015:05:23 20:58:35
[Track1] TrackID : 1
[Track1] TrackDuration : 11.14 s
[Track1] TrackLayer : 0
[Track1] TrackVolume : 0.00%
[Track1] MatrixStructure : 1 0 0 0 1 0 0 0 1
[Track1] ImageWidth : 1920
[Track1] ImageHeight : 1080
[Track1] CleanApertureDimensions : 1920x1080
[Track1] ProductionApertureDimensions : 1920x1080
[Track1] EncodedPixelsDimensions : 1920x1080
[Track1] MediaHeaderVersion : 0
[Track1] MediaCreateDate : 2015:05:23 20:58:24
[Track1] MediaModifyDate : 2015:05:23 20:58:35
[Track1] MediaTimeScale : 600
[Track1] MediaDuration : 11.14 s
[Track1] MediaLanguageCode : und
[Track1] HandlerClass : Media Handler
[Track1] HandlerType : Video Track
[Track1] HandlerVendorID : Apple
[Track1] HandlerDescription : Core Media Video
[Track1] GraphicsMode : ditherCopy
[Track1] OpColor : 32768 32768 32768
[Track1] HandlerClass : Data Handler
[Track1] HandlerType : Alias Data
[Track1] HandlerVendorID : Apple
[Track1] HandlerDescription : Core Media Data Handler
[Track1] CompressorID : avc1
[Track1] SourceImageWidth : 1920
[Track1] SourceImageHeight : 1080
[Track1] XResolution : 72
[Track1] YResolution : 72
[Track1] CompressorName : H.264
[Track1] BitDepth : 24
[Track1] VideoFrameRate : 29.982
[Track2] TrackHeaderVersion : 0
[Track2] TrackCreateDate : 2015:05:23 20:58:24
[Track2] TrackModifyDate : 2015:05:23 20:58:35
[Track2] TrackID : 2
[Track2] TrackDuration : 11.14 s
[Track2] TrackLayer : 0
[Track2] TrackVolume : 100.00%
[Track2] MatrixStructure : 1 0 0 0 1 0 0 0 1
[Track2] MediaHeaderVersion : 0
[Track2] MediaCreateDate : 2015:05:23 20:58:24
[Track2] MediaModifyDate : 2015:05:23 20:58:35
[Track2] MediaTimeScale : 44100
[Track2] MediaDuration : 11.19 s
[Track2] MediaLanguageCode : und
[Track2] HandlerClass : Media Handler
[Track2] HandlerType : Audio Track
[Track2] HandlerVendorID : Apple
[Track2] HandlerDescription : Core Media Audio
[Track2] Balance : 0
[Track2] HandlerClass : Data Handler
[Track2] HandlerType : Alias Data
[Track2] HandlerVendorID : Apple
[Track2] HandlerDescription : Core Media Data Handler
[Track2] AudioFormat : mp4a
[Track2] AudioChannels : 1
[Track2] AudioBitsPerSample : 16
[Track2] AudioSampleRate : 44100
[Track2] LayoutFlags : Mono
[Track2] AudioChannels : 1
[Track2] PurchaseFileFormat : mp4a
[UserData] SoftwareVersion : 8.1.2
[UserData] ContentCreateDate : 2015:05:23 15:58:23-05:00
[UserData] GPSCoordinates : [redacted]
[UserData] Model : iPhone 5s
[UserData] Make : Apple
[Keys] CreationDate-und-US : 2015:05:23 15:58:23-05:00
[Keys] Model-und-US : iPhone 5s
[Keys] Software-und-US : 8.1.2
[Keys] GPSCoordinates-und-US : [redacted]
[Keys] Make-und-US : Apple
[Keys] CreationDate : 2015:05:23 15:58:23-05:00
[Keys] Software : 8.1.2
[Composite] ImageSize : 1920x1080
[Composite] Megapixels : 2.1
[Composite] AvgBitrate : 10.9 Mbps
[Composite] GPSAltitude : [redacted]
[Composite] GPSAltitudeRef : Above Sea Level
[Composite] GPSLatitude : [redacted]
[Composite] GPSLongitude : [redacted]
[Composite] Rotation : 0
[Composite] GPSPosition : [redacted]
GPS tags don't work with Apple Photos. Source file from Google Photos and used JSON to add GPS data.
[ExifTool] ExifToolVersion : 11.64
[System] FileName : IMG_2652 - gps added.MOV
[System] Directory : .
[System] FileSize : 26 MB
[System] FileModifyDate : 2019:08:28 16:49:40-05:00
[System] FileAccessDate : 2019:08:28 16:49:40-05:00
[System] FileCreateDate : 2019:08:25 20:00:14-05:00
[System] FilePermissions : rw-rw-rw-
[File] FileType : MP4
[File] FileTypeExtension : mp4
[File] MIMEType : video/mp4
[QuickTime] MajorBrand : MP4 v2 [ISO 14496-14]
[QuickTime] MinorVersion : 0.0.0
[QuickTime] CompatibleBrands : isom, mp42
[QuickTime] MovieHeaderVersion : 0
[QuickTime] CreateDate : 2019:01:08 04:41:09
[QuickTime] ModifyDate : 2019:01:08 01:18:15
[QuickTime] TimeScale : 600
[QuickTime] Duration : 20.48 s
[QuickTime] PreferredRate : 1
[QuickTime] PreferredVolume : 100.00%
[QuickTime] MatrixStructure : 1 0 0 0 1 0 0 0 1
[QuickTime] PreviewTime : 0 s
[QuickTime] PreviewDuration : 0 s
[QuickTime] PosterTime : 0 s
[QuickTime] SelectionTime : 0 s
[QuickTime] SelectionDuration : 0 s
[QuickTime] CurrentTime : 0 s
[QuickTime] NextTrackID : 3
[QuickTime] MovieDataSize : 26964593
[QuickTime] MovieDataOffset : 10845
[Track1] TrackHeaderVersion : 0
[Track1] TrackCreateDate : 0000:00:00 00:00:00
[Track1] TrackModifyDate : 2019:01:08 01:18:18
[Track1] TrackID : 1
[Track1] TrackDuration : 20.40 s
[Track1] TrackLayer : 0
[Track1] TrackVolume : 0.00%
[Track1] MatrixStructure : 1 0 0 0 1 0 0 0 1
[Track1] ImageWidth : 1920
[Track1] ImageHeight : 1080
[Track1] MediaHeaderVersion : 0
[Track1] MediaCreateDate : 0000:00:00 00:00:00
[Track1] MediaModifyDate : 2019:01:08 01:18:17
[Track1] MediaTimeScale : 15360
[Track1] MediaDuration : 20.40 s
[Track1] MediaLanguageCode : und
[Track1] HandlerType : Video Track
[Track1] HandlerDescription : VideoHandler
[Track1] GraphicsMode : srcCopy
[Track1] OpColor : 0 0 0
[Track1] CompressorID : avc1
[Track1] SourceImageWidth : 1920
[Track1] SourceImageHeight : 1080
[Track1] XResolution : 72
[Track1] YResolution : 72
[Track1] BitDepth : 24
[Track1] BufferSize : 259531
[Track1] MaxBitrate : 13118504
[Track1] AverageBitrate : 10477968
[Track1] VideoFrameRate : 30
[Track2] TrackHeaderVersion : 0
[Track2] TrackCreateDate : 2019:01:08 01:18:17
[Track2] TrackModifyDate : 2019:01:08 01:18:18
[Track2] TrackID : 2
[Track2] TrackDuration : 20.48 s
[Track2] TrackLayer : 0
[Track2] TrackVolume : 100.00%
[Track2] MatrixStructure : 1 0 0 0 1 0 0 0 1
[Track2] MediaHeaderVersion : 0
[Track2] MediaCreateDate : 2019:01:08 01:18:17
[Track2] MediaModifyDate : 2019:01:08 01:18:18
[Track2] MediaTimeScale : 44100
[Track2] MediaDuration : 20.48 s
[Track2] MediaLanguageCode : und
[Track2] HandlerType : Audio Track
[Track2] HandlerDescription : IsoMedia File Produced by Google, 5-11-2011
[Track2] Balance : 0
[Track2] AudioFormat : mp4a
[Track2] AudioChannels : 1
[Track2] AudioBitsPerSample : 16
[Track2] AudioSampleRate : 44100
[UserData] GPSCoordinates : [redacted]
[XMP-x] XMPToolkit : Image::ExifTool 11.64
[XMP-xmp] CreateDate : 2019:01:07 22:41:09
[Composite] ImageSize : 1920x1080
[Composite] Megapixels : 2.1
[Composite] AvgBitrate : 10.5 Mbps
[Composite] GPSAltitude : [redacted]
[Composite] GPSAltitudeRef : Above Sea Level
[Composite] GPSLatitude : [redacted]
[Composite] GPSLongitude : [redacted]
[Composite] Rotation : 0
[Composite] GPSPosition : [redacted]
Ok, in your original command, try changing
"-quicktime:GPSCoordinates#<$GeoDataLatitude $GeoDataLongitude $GeoDataAltitude"
into
"-Keys:GPSCoordinates#<$GeoDataLatitude $GeoDataLongitude $GeoDataAltitude"
Edit: Had the wrong tag name, fixed.
I modified the script but now I'm getting a new error. The JSON file "IMG_2652.MOV.json" is sitting in the same directory as the file, and it's not open in another application.
exiftool -tagsfromfile "%d/%F.json" "-Keys:gpsposition#<$GeoDataLatitude $GeoDataLongitude $GeoDataAltitude" "-QuickTime:CreateDate<${PhotoTakenTimeTimestamp;$_-=21600}" -d %s IMG_2652.MOV
Warning: Error opening file - /IMG_2652.MOV.json
0 image files updated
1 image files unchanged
I'm running exiftool 11.64. Can you tell what I'm doing wrong?
Sorry, I should have paid more attention. The %d already includes the trailing slash. Try "%d%F.json". Or alternatively, "%D/%F.json", as a capital D won't include the trailing slash.
That worked. Thank you. Here's the revised script, however, no GPS data is displaying. The QuickTime create date is correct, so I know it read the JSON. See output below.
exiftool -tagsfromfile "%d%F.json" "-Keys:gpsposition#<$GeoDataLatitude $GeoDataLongitude $GeoDataAltitude" "-QuickTime:CreateDate<${PhotoTakenTimeTimestamp;$_-=21600}" -d %s IMG_2652.MOV
exiftool -G1 -a -s IMG_2652.MOV
[ExifTool] ExifToolVersion : 11.64
[System] FileName : IMG_2652.MOV
[System] Directory : .
[System] FileSize : 26 MB
[System] FileModifyDate : 2019:09:24 16:37:09-05:00
[System] FileAccessDate : 2019:09:24 16:37:09-05:00
[System] FileCreateDate : 2019:09:24 14:55:13-05:00
[System] FilePermissions : rw-rw-rw-
[File] FileType : MP4
[File] FileTypeExtension : mp4
[File] MIMEType : video/mp4
[QuickTime] MajorBrand : MP4 v2 [ISO 14496-14]
[QuickTime] MinorVersion : 0.0.0
[QuickTime] CompatibleBrands : isom, mp42
[QuickTime] MovieHeaderVersion : 0
[QuickTime] CreateDate : 2019:01:07 16:41:09
[QuickTime] ModifyDate : 2019:01:08 01:18:15
[QuickTime] TimeScale : 600
[QuickTime] Duration : 20.48 s
[QuickTime] PreferredRate : 1
[QuickTime] PreferredVolume : 100.00%
[QuickTime] MatrixStructure : 1 0 0 0 1 0 0 0 1
[QuickTime] PreviewTime : 0 s
[QuickTime] PreviewDuration : 0 s
[QuickTime] PosterTime : 0 s
[QuickTime] SelectionTime : 0 s
[QuickTime] SelectionDuration : 0 s
[QuickTime] CurrentTime : 0 s
[QuickTime] NextTrackID : 3
[QuickTime] MovieDataSize : 26964593
[QuickTime] MovieDataOffset : 7962
[Track1] TrackHeaderVersion : 0
[Track1] TrackCreateDate : 0000:00:00 00:00:00
[Track1] TrackModifyDate : 2019:01:08 01:18:18
[Track1] TrackID : 1
[Track1] TrackDuration : 20.40 s
[Track1] TrackLayer : 0
[Track1] TrackVolume : 0.00%
[Track1] MatrixStructure : 1 0 0 0 1 0 0 0 1
[Track1] ImageWidth : 1920
[Track1] ImageHeight : 1080
[Track1] MediaHeaderVersion : 0
[Track1] MediaCreateDate : 0000:00:00 00:00:00
[Track1] MediaModifyDate : 2019:01:08 01:18:17
[Track1] MediaTimeScale : 15360
[Track1] MediaDuration : 20.40 s
[Track1] MediaLanguageCode : und
[Track1] HandlerType : Video Track
[Track1] HandlerDescription : VideoHandler
[Track1] GraphicsMode : srcCopy
[Track1] OpColor : 0 0 0
[Track1] CompressorID : avc1
[Track1] SourceImageWidth : 1920
[Track1] SourceImageHeight : 1080
[Track1] XResolution : 72
[Track1] YResolution : 72
[Track1] BitDepth : 24
[Track1] BufferSize : 259531
[Track1] MaxBitrate : 13118504
[Track1] AverageBitrate : 10477968
[Track1] VideoFrameRate : 30
[Track2] TrackHeaderVersion : 0
[Track2] TrackCreateDate : 2019:01:08 01:18:17
[Track2] TrackModifyDate : 2019:01:08 01:18:18
[Track2] TrackID : 2
[Track2] TrackDuration : 20.48 s
[Track2] TrackLayer : 0
[Track2] TrackVolume : 100.00%
[Track2] MatrixStructure : 1 0 0 0 1 0 0 0 1
[Track2] MediaHeaderVersion : 0
[Track2] MediaCreateDate : 2019:01:08 01:18:17
[Track2] MediaModifyDate : 2019:01:08 01:18:18
[Track2] MediaTimeScale : 44100
[Track2] MediaDuration : 20.48 s
[Track2] MediaLanguageCode : und
[Track2] HandlerType : Audio Track
[Track2] HandlerDescription : IsoMedia File Produced by Google, 5-11-2011
[Track2] Balance : 0
[Track2] AudioFormat : mp4a
[Track2] AudioChannels : 1
[Track2] AudioBitsPerSample : 16
[Track2] AudioSampleRate : 44100
[Composite] ImageSize : 1920x1080
[Composite] Megapixels : 2.1
[Composite] AvgBitrate : 10.5 Mbps
[Composite] Rotation : 0
Oops, GPSCoordinates, not GPSPosition. That got compounded by my copy/pasted Keys suggestion.
Just to cover all bases, try
"-Keys:GPSCoordinates#<$GeoDataLatitude $GeoDataLongitude $GeoDataAltitude" "-UserData:GPSCoordinates#<$GeoDataLatitude $GeoDataLongitude $GeoDataAltitude"
That should write to both of the possible Quicktime GPS coordinates.
I ran this script and verified the GPS data was in Keys and UserData by running "exiftool -G1 -a -s [file]". It's still not being recognized in Apple Photos. Anything else I can try? I appreciate your time.
The exact tag name from an original iPhone video is "GPSCoordinates-und-US," so I tried that as well, to know avail.
exiftool -tagsfromfile "%d%F.json" "-Keys:GPSCoordinates#<$GeoDataLatitude $GeoDataLongitude $GeoDataAltitude" "-UserData:GPSCoordinates#<$GeoDataLatitude $GeoDataLongitude $GeoDataAltitude" "-QuickTime:CreateDate<$PhotoTakenTimeTimestamp" -d %s IMG_2652.MOV
Output after the script.
[ExifTool] ExifToolVersion : 11.65
[System] FileName : IMG_2652.MOV
[System] Directory : .
[System] FileSize : 26 MB
[System] FileModifyDate : 2019:09:25 18:08:43-05:00
[System] FileAccessDate : 2019:09:25 18:08:43-05:00
[System] FileCreateDate : 2019:09:25 18:03:08-05:00
[System] FilePermissions : rw-rw-rw-
[File] FileType : MP4
[File] FileTypeExtension : mp4
[File] MIMEType : video/mp4
[QuickTime] MajorBrand : MP4 v2 [ISO 14496-14]
[QuickTime] MinorVersion : 0.0.0
[QuickTime] CompatibleBrands : isom, mp42
[QuickTime] MovieHeaderVersion : 0
[QuickTime] CreateDate : 2019:01:07 22:41:09
[QuickTime] ModifyDate : 2019:01:08 01:18:15
[QuickTime] TimeScale : 600
[QuickTime] Duration : 20.48 s
[QuickTime] PreferredRate : 1
[QuickTime] PreferredVolume : 100.00%
[QuickTime] MatrixStructure : 1 0 0 0 1 0 0 0 1
[QuickTime] PreviewTime : 0 s
[QuickTime] PreviewDuration : 0 s
[QuickTime] PosterTime : 0 s
[QuickTime] SelectionTime : 0 s
[QuickTime] SelectionDuration : 0 s
[QuickTime] CurrentTime : 0 s
[QuickTime] NextTrackID : 3
[QuickTime] HandlerType : Metadata Tags
[QuickTime] MovieDataSize : 26964593
[QuickTime] MovieDataOffset : 8178
[Track1] TrackHeaderVersion : 0
[Track1] TrackCreateDate : 0000:00:00 00:00:00
[Track1] TrackModifyDate : 2019:01:08 01:18:18
[Track1] TrackID : 1
[Track1] TrackDuration : 20.40 s
[Track1] TrackLayer : 0
[Track1] TrackVolume : 0.00%
[Track1] MatrixStructure : 1 0 0 0 1 0 0 0 1
[Track1] ImageWidth : 1920
[Track1] ImageHeight : 1080
[Track1] MediaHeaderVersion : 0
[Track1] MediaCreateDate : 0000:00:00 00:00:00
[Track1] MediaModifyDate : 2019:01:08 01:18:17
[Track1] MediaTimeScale : 15360
[Track1] MediaDuration : 20.40 s
[Track1] MediaLanguageCode : und
[Track1] HandlerType : Video Track
[Track1] HandlerDescription : VideoHandler
[Track1] GraphicsMode : srcCopy
[Track1] OpColor : 0 0 0
[Track1] CompressorID : avc1
[Track1] SourceImageWidth : 1920
[Track1] SourceImageHeight : 1080
[Track1] XResolution : 72
[Track1] YResolution : 72
[Track1] BitDepth : 24
[Track1] BufferSize : 259531
[Track1] MaxBitrate : 13118504
[Track1] AverageBitrate : 10477968
[Track1] VideoFrameRate : 30
[Track2] TrackHeaderVersion : 0
[Track2] TrackCreateDate : 2019:01:08 01:18:17
[Track2] TrackModifyDate : 2019:01:08 01:18:18
[Track2] TrackID : 2
[Track2] TrackDuration : 20.48 s
[Track2] TrackLayer : 0
[Track2] TrackVolume : 100.00%
[Track2] MatrixStructure : 1 0 0 0 1 0 0 0 1
[Track2] MediaHeaderVersion : 0
[Track2] MediaCreateDate : 2019:01:08 01:18:17
[Track2] MediaModifyDate : 2019:01:08 01:18:18
[Track2] MediaTimeScale : 44100
[Track2] MediaDuration : 20.48 s
[Track2] MediaLanguageCode : und
[Track2] HandlerType : Audio Track
[Track2] HandlerDescription : IsoMedia File Produced by Google, 5-11-2011
[Track2] Balance : 0
[Track2] AudioFormat : mp4a
[Track2] AudioChannels : 1
[Track2] AudioBitsPerSample : 16
[Track2] AudioSampleRate : 44100
[UserData] GPSCoordinates : 35 deg 55' 21.00" N, 86 deg 46' 40.80" W, 141.7 m Above Sea Level
[Keys] GPSCoordinates : 35 deg 55' 21.00" N, 86 deg 46' 40.80" W, 141.7 m Above Sea Level
[Composite] ImageSize : 1920x1080
[Composite] Megapixels : 2.1
[Composite] AvgBitrate : 10.5 Mbps
[Composite] GPSAltitude : 141.7 m
[Composite] GPSAltitudeRef : Above Sea Level
[Composite] GPSLatitude : 35 deg 55' 21.00" N
[Composite] GPSLongitude : 86 deg 46' 40.80" W
[Composite] Rotation : 0
[Composite] GPSPosition : 35 deg 55' 21.00" N, 86 deg 46' 40.80" W
Quote from: bobross on September 25, 2019, 07:16:29 PM
The exact tag name from an original iPhone video is "GPSCoordinates-und-US," so I tried that as well, to know avail.
I'm not sure what this output means and don't know how to make it write to that tag.
I'm sorry but I'm out of ideas. Unfortunately, I'm on Windows and don't have access to a Mac in order to do further testing.
Hmm, I can't see anything obviously wrong; the position information seems correct.
Can you post an example file that does work and one that doesn't?
(@Stargeek: GPSCoordinates-und-US means it's an undetermined language, country US, version of the coordinates)
Quote from: StarGeek on September 25, 2019, 08:14:01 PM
Quote from: bobross on September 25, 2019, 07:16:29 PM
The exact tag name from an original iPhone video is "GPSCoordinates-und-US," so I tried that as well, to know avail.
I'm not sure what this output means and don't know how to make it write to that tag.
exiftool -GPSCoordinates-und-US=...- Phil
Below is an example from a file with GPS coordinates that Apple Photos recognizes from earlier in the chain. This is an interesting puzzle.
Quote from: bobross on September 20, 2019, 11:44:19 AM
Thanks again for your help.
GPS tags work with Apple Photos. iPhone original.
[ExifTool] ExifToolVersion : 11.64
[System] FileName : IMG_2557.MOV
[System] Directory : .
[System] FileSize : 14 MB
[System] FileModifyDate : 2015:05:23 15:58:23-05:00
[System] FileAccessDate : 2019:09:18 15:10:41-05:00
[System] FileCreateDate : 2019:09:18 15:10:40-05:00
[System] FilePermissions : rw-rw-rw-
[File] FileType : MOV
[File] FileTypeExtension : mov
[File] MIMEType : video/quicktime
[QuickTime] MajorBrand : Apple QuickTime (.MOV/QT)
[QuickTime] MinorVersion : 0.0.0
[QuickTime] CompatibleBrands : qt
[QuickTime] MovieDataSize : 15161862
[QuickTime] MovieDataOffset : 36
[QuickTime] MovieHeaderVersion : 0
[QuickTime] CreateDate : 2015:05:23 20:58:24
[QuickTime] ModifyDate : 2015:05:23 20:58:35
[QuickTime] TimeScale : 600
[QuickTime] Duration : 11.14 s
[QuickTime] PreferredRate : 1
[QuickTime] PreferredVolume : 100.00%
[QuickTime] MatrixStructure : 1 0 0 0 1 0 0 0 1
[QuickTime] PreviewTime : 0 s
[QuickTime] PreviewDuration : 0 s
[QuickTime] PosterTime : 0 s
[QuickTime] SelectionTime : 0 s
[QuickTime] SelectionDuration : 0 s
[QuickTime] CurrentTime : 0 s
[QuickTime] NextTrackID : 3
[QuickTime] HandlerType : Metadata Tags
[Track1] TrackHeaderVersion : 0
[Track1] TrackCreateDate : 2015:05:23 20:58:24
[Track1] TrackModifyDate : 2015:05:23 20:58:35
[Track1] TrackID : 1
[Track1] TrackDuration : 11.14 s
[Track1] TrackLayer : 0
[Track1] TrackVolume : 0.00%
[Track1] MatrixStructure : 1 0 0 0 1 0 0 0 1
[Track1] ImageWidth : 1920
[Track1] ImageHeight : 1080
[Track1] CleanApertureDimensions : 1920x1080
[Track1] ProductionApertureDimensions : 1920x1080
[Track1] EncodedPixelsDimensions : 1920x1080
[Track1] MediaHeaderVersion : 0
[Track1] MediaCreateDate : 2015:05:23 20:58:24
[Track1] MediaModifyDate : 2015:05:23 20:58:35
[Track1] MediaTimeScale : 600
[Track1] MediaDuration : 11.14 s
[Track1] MediaLanguageCode : und
[Track1] HandlerClass : Media Handler
[Track1] HandlerType : Video Track
[Track1] HandlerVendorID : Apple
[Track1] HandlerDescription : Core Media Video
[Track1] GraphicsMode : ditherCopy
[Track1] OpColor : 32768 32768 32768
[Track1] HandlerClass : Data Handler
[Track1] HandlerType : Alias Data
[Track1] HandlerVendorID : Apple
[Track1] HandlerDescription : Core Media Data Handler
[Track1] CompressorID : avc1
[Track1] SourceImageWidth : 1920
[Track1] SourceImageHeight : 1080
[Track1] XResolution : 72
[Track1] YResolution : 72
[Track1] CompressorName : H.264
[Track1] BitDepth : 24
[Track1] VideoFrameRate : 29.982
[Track2] TrackHeaderVersion : 0
[Track2] TrackCreateDate : 2015:05:23 20:58:24
[Track2] TrackModifyDate : 2015:05:23 20:58:35
[Track2] TrackID : 2
[Track2] TrackDuration : 11.14 s
[Track2] TrackLayer : 0
[Track2] TrackVolume : 100.00%
[Track2] MatrixStructure : 1 0 0 0 1 0 0 0 1
[Track2] MediaHeaderVersion : 0
[Track2] MediaCreateDate : 2015:05:23 20:58:24
[Track2] MediaModifyDate : 2015:05:23 20:58:35
[Track2] MediaTimeScale : 44100
[Track2] MediaDuration : 11.19 s
[Track2] MediaLanguageCode : und
[Track2] HandlerClass : Media Handler
[Track2] HandlerType : Audio Track
[Track2] HandlerVendorID : Apple
[Track2] HandlerDescription : Core Media Audio
[Track2] Balance : 0
[Track2] HandlerClass : Data Handler
[Track2] HandlerType : Alias Data
[Track2] HandlerVendorID : Apple
[Track2] HandlerDescription : Core Media Data Handler
[Track2] AudioFormat : mp4a
[Track2] AudioChannels : 1
[Track2] AudioBitsPerSample : 16
[Track2] AudioSampleRate : 44100
[Track2] LayoutFlags : Mono
[Track2] AudioChannels : 1
[Track2] PurchaseFileFormat : mp4a
[UserData] SoftwareVersion : 8.1.2
[UserData] ContentCreateDate : 2015:05:23 15:58:23-05:00
[UserData] GPSCoordinates : [redacted]
[UserData] Model : iPhone 5s
[UserData] Make : Apple
[Keys] CreationDate-und-US : 2015:05:23 15:58:23-05:00
[Keys] Model-und-US : iPhone 5s
[Keys] Software-und-US : 8.1.2
[Keys] GPSCoordinates-und-US : [redacted]
[Keys] Make-und-US : Apple
[Keys] CreationDate : 2015:05:23 15:58:23-05:00
[Keys] Software : 8.1.2
[Composite] ImageSize : 1920x1080
[Composite] Megapixels : 2.1
[Composite] AvgBitrate : 10.9 Mbps
[Composite] GPSAltitude : [redacted]
[Composite] GPSAltitudeRef : Above Sea Level
[Composite] GPSLatitude : [redacted]
[Composite] GPSLongitude : [redacted]
[Composite] Rotation : 0
[Composite] GPSPosition : [redacted]
GPS tags don't work with Apple Photos. Source file from Google Photos and used JSON to add GPS data.
[ExifTool] ExifToolVersion : 11.64
[System] FileName : IMG_2652 - gps added.MOV
[System] Directory : .
[System] FileSize : 26 MB
[System] FileModifyDate : 2019:08:28 16:49:40-05:00
[System] FileAccessDate : 2019:08:28 16:49:40-05:00
[System] FileCreateDate : 2019:08:25 20:00:14-05:00
[System] FilePermissions : rw-rw-rw-
[File] FileType : MP4
[File] FileTypeExtension : mp4
[File] MIMEType : video/mp4
[QuickTime] MajorBrand : MP4 v2 [ISO 14496-14]
[QuickTime] MinorVersion : 0.0.0
[QuickTime] CompatibleBrands : isom, mp42
[QuickTime] MovieHeaderVersion : 0
[QuickTime] CreateDate : 2019:01:08 04:41:09
[QuickTime] ModifyDate : 2019:01:08 01:18:15
[QuickTime] TimeScale : 600
[QuickTime] Duration : 20.48 s
[QuickTime] PreferredRate : 1
[QuickTime] PreferredVolume : 100.00%
[QuickTime] MatrixStructure : 1 0 0 0 1 0 0 0 1
[QuickTime] PreviewTime : 0 s
[QuickTime] PreviewDuration : 0 s
[QuickTime] PosterTime : 0 s
[QuickTime] SelectionTime : 0 s
[QuickTime] SelectionDuration : 0 s
[QuickTime] CurrentTime : 0 s
[QuickTime] NextTrackID : 3
[QuickTime] MovieDataSize : 26964593
[QuickTime] MovieDataOffset : 10845
[Track1] TrackHeaderVersion : 0
[Track1] TrackCreateDate : 0000:00:00 00:00:00
[Track1] TrackModifyDate : 2019:01:08 01:18:18
[Track1] TrackID : 1
[Track1] TrackDuration : 20.40 s
[Track1] TrackLayer : 0
[Track1] TrackVolume : 0.00%
[Track1] MatrixStructure : 1 0 0 0 1 0 0 0 1
[Track1] ImageWidth : 1920
[Track1] ImageHeight : 1080
[Track1] MediaHeaderVersion : 0
[Track1] MediaCreateDate : 0000:00:00 00:00:00
[Track1] MediaModifyDate : 2019:01:08 01:18:17
[Track1] MediaTimeScale : 15360
[Track1] MediaDuration : 20.40 s
[Track1] MediaLanguageCode : und
[Track1] HandlerType : Video Track
[Track1] HandlerDescription : VideoHandler
[Track1] GraphicsMode : srcCopy
[Track1] OpColor : 0 0 0
[Track1] CompressorID : avc1
[Track1] SourceImageWidth : 1920
[Track1] SourceImageHeight : 1080
[Track1] XResolution : 72
[Track1] YResolution : 72
[Track1] BitDepth : 24
[Track1] BufferSize : 259531
[Track1] MaxBitrate : 13118504
[Track1] AverageBitrate : 10477968
[Track1] VideoFrameRate : 30
[Track2] TrackHeaderVersion : 0
[Track2] TrackCreateDate : 2019:01:08 01:18:17
[Track2] TrackModifyDate : 2019:01:08 01:18:18
[Track2] TrackID : 2
[Track2] TrackDuration : 20.48 s
[Track2] TrackLayer : 0
[Track2] TrackVolume : 100.00%
[Track2] MatrixStructure : 1 0 0 0 1 0 0 0 1
[Track2] MediaHeaderVersion : 0
[Track2] MediaCreateDate : 2019:01:08 01:18:17
[Track2] MediaModifyDate : 2019:01:08 01:18:18
[Track2] MediaTimeScale : 44100
[Track2] MediaDuration : 20.48 s
[Track2] MediaLanguageCode : und
[Track2] HandlerType : Audio Track
[Track2] HandlerDescription : IsoMedia File Produced by Google, 5-11-2011
[Track2] Balance : 0
[Track2] AudioFormat : mp4a
[Track2] AudioChannels : 1
[Track2] AudioBitsPerSample : 16
[Track2] AudioSampleRate : 44100
[UserData] GPSCoordinates : [redacted]
[XMP-x] XMPToolkit : Image::ExifTool 11.64
[XMP-xmp] CreateDate : 2019:01:07 22:41:09
[Composite] ImageSize : 1920x1080
[Composite] Megapixels : 2.1
[Composite] AvgBitrate : 10.5 Mbps
[Composite] GPSAltitude : [redacted]
[Composite] GPSAltitudeRef : Above Sea Level
[Composite] GPSLatitude : [redacted]
[Composite] GPSLongitude : [redacted]
[Composite] Rotation : 0
[Composite] GPSPosition : [redacted]
One is a MOV file, and one is an MP4. Big difference. Try comparing apples to apples. ;)
- Phil
Google really did a number on this data... They come down from Google Photos with an MOV extension, but the metadata says it's an MP4 container?
I've remuxed video streams to alternate containers with ffmpeg before. Is that what is needed? Geez, lesson learned.
Quote from: bobross on September 26, 2019, 03:10:32 PM
I've remuxed video streams to alternate containers with ffmpeg before. Is that what is needed?
Maybe. You'll have to test it out to see.
There is some deep voodoo magic Apple is using to read GPS data in Apple Photos. I remuxed the streams into an MOV, and added every GPS tag I could find using an original iPhone video as a guide. File updated successfully, but the location data STILL doesn't display in Apple Photos. I think I give up unless someone spots something between these two files I missed.
GPS data readable by Apple Photos
[ExifTool] ExifToolVersion : 11.64
[System] FileName : IMG_5852 apple original.MOV
[System] Directory : .
[System] FileSize : 3.1 MB
[System] FileModifyDate : 2019:01:15 05:44:04-06:00
[System] FileAccessDate : 2019:09:26 15:45:35-05:00
[System] FileCreateDate : 2019:09:26 15:45:35-05:00
[System] FilePermissions : rw-rw-rw-
[File] FileType : MOV
[File] FileTypeExtension : mov
[File] MIMEType : video/quicktime
[QuickTime] MajorBrand : Apple QuickTime (.MOV/QT)
[QuickTime] MinorVersion : 0.0.0
[QuickTime] CompatibleBrands : qt
[QuickTime] MovieDataSize : 3275499
[QuickTime] MovieDataOffset : 36
[QuickTime] MovieHeaderVersion : 0
[QuickTime] CreateDate : 2018:11:20 22:59:25
[QuickTime] ModifyDate : 2018:11:20 22:59:30
[QuickTime] TimeScale : 600
[QuickTime] Duration : 4.01 s
[QuickTime] PreferredRate : 1
[QuickTime] PreferredVolume : 100.00%
[QuickTime] MatrixStructure : 1 0 0 0 1 0 0 0 1
[QuickTime] PreviewTime : 0 s
[QuickTime] PreviewDuration : 0 s
[QuickTime] PosterTime : 0 s
[QuickTime] SelectionTime : 0 s
[QuickTime] SelectionDuration : 0 s
[QuickTime] CurrentTime : 0 s
[QuickTime] NextTrackID : 5
[QuickTime] HandlerType : Metadata Tags
[Track1] TrackHeaderVersion : 0
[Track1] TrackCreateDate : 2018:11:20 22:59:25
[Track1] TrackModifyDate : 2018:11:20 22:59:30
[Track1] TrackID : 1
[Track1] TrackDuration : 4.01 s
[Track1] TrackLayer : 0
[Track1] TrackVolume : 100.00%
[Track1] MatrixStructure : -1 0 0 0 -1 0 1920 1080 1
[Track1] ImageWidth : 1920
[Track1] ImageHeight : 1080
[Track1] CleanApertureDimensions : 1920x1080
[Track1] ProductionApertureDimensions : 1920x1080
[Track1] EncodedPixelsDimensions : 1920x1080
[Track1] MediaHeaderVersion : 0
[Track1] MediaCreateDate : 2018:11:20 22:59:25
[Track1] MediaModifyDate : 2018:11:20 22:59:30
[Track1] MediaTimeScale : 600
[Track1] MediaDuration : 4.01 s
[Track1] MediaLanguageCode : und
[Track1] HandlerClass : Media Handler
[Track1] HandlerType : Video Track
[Track1] HandlerVendorID : Apple
[Track1] HandlerDescription : Core Media Video
[Track1] GraphicsMode : ditherCopy
[Track1] OpColor : 32768 32768 32768
[Track1] HandlerClass : Data Handler
[Track1] HandlerType : Alias Data
[Track1] HandlerVendorID : Apple
[Track1] HandlerDescription : Core Media Data Handler
[Track1] CompressorID : avc1
[Track1] SourceImageWidth : 1920
[Track1] SourceImageHeight : 1080
[Track1] XResolution : 72
[Track1] YResolution : 72
[Track1] CompressorName : H.264
[Track1] BitDepth : 24
[Track1] VideoFrameRate : 26.933
[Track2] TrackHeaderVersion : 0
[Track2] TrackCreateDate : 2018:11:20 22:59:25
[Track2] TrackModifyDate : 2018:11:20 22:59:30
[Track2] TrackID : 2
[Track2] TrackDuration : 4.01 s
[Track2] TrackLayer : 0
[Track2] TrackVolume : 100.00%
[Track2] MatrixStructure : 1 0 0 0 1 0 0 0 1
[Track2] MediaHeaderVersion : 0
[Track2] MediaCreateDate : 2018:11:20 22:59:25
[Track2] MediaModifyDate : 2018:11:20 22:59:30
[Track2] MediaTimeScale : 44100
[Track2] MediaDuration : 4.06 s
[Track2] MediaLanguageCode : und
[Track2] HandlerClass : Media Handler
[Track2] HandlerType : Audio Track
[Track2] HandlerVendorID : Apple
[Track2] HandlerDescription : Core Media Audio
[Track2] Balance : 0
[Track2] HandlerClass : Data Handler
[Track2] HandlerType : Alias Data
[Track2] HandlerVendorID : Apple
[Track2] HandlerDescription : Core Media Data Handler
[Track2] AudioFormat : mp4a
[Track2] AudioChannels : 2
[Track2] AudioBitsPerSample : 16
[Track2] AudioSampleRate : 44100
[Track2] LayoutFlags : Stereo
[Track2] AudioChannels : 2
[Track2] PurchaseFileFormat : mp4a
[Track3] TrackHeaderVersion : 0
[Track3] TrackCreateDate : 2018:11:20 22:59:25
[Track3] TrackModifyDate : 2018:11:20 22:59:30
[Track3] TrackID : 3
[Track3] TrackDuration : 4.01 s
[Track3] TrackLayer : 0
[Track3] TrackVolume : 100.00%
[Track3] MatrixStructure : 1 0 0 0 1 0 0 0 1
[Track3] ContentDescribes : Track 1
[Track3] MediaHeaderVersion : 0
[Track3] MediaCreateDate : 2018:11:20 22:59:25
[Track3] MediaModifyDate : 2018:11:20 22:59:30
[Track3] MediaTimeScale : 600
[Track3] MediaDuration : 4.01 s
[Track3] MediaLanguageCode : und
[Track3] HandlerClass : Media Handler
[Track3] HandlerType : NRT Metadata
[Track3] HandlerVendorID : Apple
[Track3] HandlerDescription : Core Media Metadata
[Track3] GenMediaVersion : 0
[Track3] GenFlags : 0 0 0
[Track3] GenGraphicsMode : ditherCopy
[Track3] GenOpColor : 32768 32768 32768
[Track3] GenBalance : 0
[Track3] HandlerClass : Data Handler
[Track3] HandlerType : Alias Data
[Track3] HandlerVendorID : Apple
[Track3] HandlerDescription : Core Media Data Handler
[Track3] MetaFormat : mebx
[Track3] SampleTime : 0 s
[Track3] SampleDuration : 4.01 s
[Track4] TrackHeaderVersion : 0
[Track4] TrackCreateDate : 2018:11:20 22:59:25
[Track4] TrackModifyDate : 2018:11:20 22:59:30
[Track4] TrackID : 4
[Track4] TrackDuration : 4.01 s
[Track4] TrackLayer : 0
[Track4] TrackVolume : 100.00%
[Track4] MatrixStructure : 1 0 0 0 1 0 0 0 1
[Track4] ContentDescribes : Track 1
[Track4] MediaHeaderVersion : 0
[Track4] MediaCreateDate : 2018:11:20 22:59:25
[Track4] MediaModifyDate : 2018:11:20 22:59:30
[Track4] MediaTimeScale : 600
[Track4] MediaDuration : 4.01 s
[Track4] MediaLanguageCode : und
[Track4] HandlerClass : Media Handler
[Track4] HandlerType : NRT Metadata
[Track4] HandlerVendorID : Apple
[Track4] HandlerDescription : Core Media Metadata
[Track4] GenMediaVersion : 0
[Track4] GenFlags : 0 0 0
[Track4] GenGraphicsMode : ditherCopy
[Track4] GenOpColor : 32768 32768 32768
[Track4] GenBalance : 0
[Track4] HandlerClass : Data Handler
[Track4] HandlerType : Alias Data
[Track4] HandlerVendorID : Apple
[Track4] HandlerDescription : Core Media Data Handler
[Track4] MetaFormat : mebx
[Track4] SampleTime : 0 s
[Track4] SampleDuration : 4.01 s
[Track4] VideoOrientation : 3
[Keys] GPSCoordinates : 35 deg 57' 15.12" N, 86 deg 49' 8.76" W, 209.948 m Above Sea Level
[Keys] Make : Apple
[Keys] Model : iPhone XR
[Keys] Software : 12.1
[Keys] CreationDate : 2018:11:20 16:59:25-06:00
[Composite] ImageSize : 1920x1080
[Composite] Megapixels : 2.1
[Composite] AvgBitrate : 6.53 Mbps
[Composite] GPSAltitude : 209.948 m
[Composite] GPSAltitudeRef : Above Sea Level
[Composite] GPSLatitude : 35 deg 57' 15.12" N
[Composite] GPSLongitude : 86 deg 49' 8.76" W
[Composite] Rotation : 180
[Composite] GPSPosition : 35 deg 57' 15.12" N, 86 deg 49' 8.76" W
GPS added from JSON, but not displaying in Apple Photos.
[ExifTool] ExifToolVersion : 11.64
[System] FileName : IMG_2652.MOV
[System] Directory : .
[System] FileSize : 26 MB
[System] FileModifyDate : 2019:09:26 16:06:52-05:00
[System] FileAccessDate : 2019:09:26 16:06:52-05:00
[System] FileCreateDate : 2019:09:26 15:43:08-05:00
[System] FilePermissions : rw-rw-rw-
[File] FileType : MOV
[File] FileTypeExtension : mov
[File] MIMEType : video/quicktime
[QuickTime] MajorBrand : Apple QuickTime (.MOV/QT)
[QuickTime] MinorVersion : 0.2.0
[QuickTime] CompatibleBrands : qt
[QuickTime] MovieHeaderVersion : 0
[QuickTime] CreateDate : 2019:01:07 22:41:09
[QuickTime] ModifyDate : 0000:00:00 00:00:00
[QuickTime] TimeScale : 1000
[QuickTime] Duration : 20.48 s
[QuickTime] PreferredRate : 1
[QuickTime] PreferredVolume : 100.00%
[QuickTime] MatrixStructure : 1 0 0 0 1 0 0 0 1
[QuickTime] PreviewTime : 0 s
[QuickTime] PreviewDuration : 0 s
[QuickTime] PosterTime : 0 s
[QuickTime] SelectionTime : 0 s
[QuickTime] SelectionDuration : 0 s
[QuickTime] CurrentTime : 0 s
[QuickTime] NextTrackID : 3
[QuickTime] HandlerType : Metadata Tags
[QuickTime] MovieDataSize : 26964593
[QuickTime] MovieDataOffset : 19182
[Track1] TrackHeaderVersion : 0
[Track1] TrackCreateDate : 0000:00:00 00:00:00
[Track1] TrackModifyDate : 0000:00:00 00:00:00
[Track1] TrackID : 1
[Track1] TrackDuration : 20.40 s
[Track1] TrackLayer : 0
[Track1] TrackVolume : 0.00%
[Track1] MatrixStructure : 1 0 0 0 1 0 0 0 1
[Track1] ImageWidth : 1920
[Track1] ImageHeight : 1080
[Track1] MediaHeaderVersion : 0
[Track1] MediaCreateDate : 0000:00:00 00:00:00
[Track1] MediaModifyDate : 0000:00:00 00:00:00
[Track1] MediaTimeScale : 15360
[Track1] MediaDuration : 20.40 s
[Track1] MediaLanguageCode : Unknown (32767)
[Track1] HandlerClass : Media Handler
[Track1] HandlerType : Video Track
[Track1] HandlerDescription : VideoHandler
[Track1] GraphicsMode : srcCopy
[Track1] OpColor : 0 0 0
[Track1] HandlerClass : Data Handler
[Track1] HandlerType : URL
[Track1] HandlerDescription : DataHandler
[Track1] CompressorID : avc1
[Track1] VendorID : FFmpeg
[Track1] SourceImageWidth : 1920
[Track1] SourceImageHeight : 1080
[Track1] XResolution : 72
[Track1] YResolution : 72
[Track1] BitDepth : 24
[Track1] PixelAspectRatio : 1:1
[Track1] VideoFrameRate : 30
[Track2] TrackHeaderVersion : 0
[Track2] TrackCreateDate : 0000:00:00 00:00:00
[Track2] TrackModifyDate : 0000:00:00 00:00:00
[Track2] TrackID : 2
[Track2] TrackDuration : 20.48 s
[Track2] TrackLayer : 0
[Track2] TrackVolume : 100.00%
[Track2] MatrixStructure : 1 0 0 0 1 0 0 0 1
[Track2] MediaHeaderVersion : 0
[Track2] MediaCreateDate : 0000:00:00 00:00:00
[Track2] MediaModifyDate : 0000:00:00 00:00:00
[Track2] MediaTimeScale : 44100
[Track2] MediaDuration : 20.48 s
[Track2] MediaLanguageCode : Unknown (32767)
[Track2] HandlerClass : Media Handler
[Track2] HandlerType : Audio Track
[Track2] HandlerDescription : +IsoMedia File Produced by Google, 5-11-2011
[Track2] Balance : 0
[Track2] HandlerClass : Data Handler
[Track2] HandlerType : URL
[Track2] HandlerDescription : DataHandler
[Track2] AudioFormat : mp4a
[Track2] AudioChannels : 1
[Track2] AudioBitsPerSample : 16
[Track2] AudioSampleRate : 44100
[Track2] PurchaseFileFormat : mp4a
[Track2] LayoutFlags : Mono
[Track2] AudioChannels : 1
[UserData] SoftwareVersion : Lavf58.29.100
[Keys] CreationDate : 2019:01:07 22:41:09
[Keys] GPSCoordinates : 35 deg 55' 21.00" N, 86 deg 46' 40.80" W, 141.7 m Above Sea Level
[Keys] Make : Apple
[Keys] Model : iPhone XR
[Composite] ImageSize : 1920x1080
[Composite] Megapixels : 2.1
[Composite] AvgBitrate : 10.5 Mbps
[Composite] GPSAltitude : 141.7 m
[Composite] GPSAltitudeRef : Above Sea Level
[Composite] GPSLatitude : 35 deg 55' 21.00" N
[Composite] GPSLongitude : 86 deg 46' 40.80" W
[Composite] Rotation : 0
[Composite] GPSPosition : 35 deg 55' 21.00" N, 86 deg 46' 40.80" W
Nothing obvious. Could you attach the output of the -v2 command for these files? ie. exiftool -v2 FILE > out.txt
- Phil
See below. Thanks Phil. Splitting this into two posts since it excedes the character limit.
Apple Photos reads.
ExifToolVersion = 11.64
FileName = IMG_5852 apple original.MOV
Directory = .
FileSize = 3282864
FileModifyDate = 1547552644
FileAccessDate = 1569530735.45017
FileCreateDate = 1569530735.33333
FilePermissions = 33206
FileType = MOV
FileTypeExtension = MOV
MIMEType = video/quicktime
FileType (SubDirectory) -->
- Tag 'ftyp' (12 bytes)
+ [BinaryData directory, 12 bytes]
| MajorBrand = qt
| - Tag 0x0000 (4 bytes, undef[4])
| MinorVersion =
| - Tag 0x0001 (4 bytes, undef[4])
| CompatibleBrands = qt
| - Tag 0x0002 (4 bytes, undef[4])
Wide =
- Tag 'wide' (0 bytes)
MovieDataSize = 3275499
MovieDataOffset = 36
MovieData = ! .@h.!N.?...V..?=c.8....z+>...R1.O..Bm.(<..RG...U...Gu..k...0.zj......t+[snip]
- Tag 'mdat' (3275499 bytes)
Movie (SubDirectory) -->
- Tag 'moov' (7321 bytes)
+ [Movie directory]
| MovieHeader (SubDirectory) -->
| - Tag 'mvhd' (100 bytes)
| + [BinaryData directory, 100 bytes]
| | MovieHeaderVersion = 0
| | - Tag 0x0000 (1 bytes, int8u[1])
| | CreateDate = 3625599565
| | - Tag 0x0001 (4 bytes, int32u[1])
| | ModifyDate = 3625599570
| | - Tag 0x0002 (4 bytes, int32u[1])
| | TimeScale = 600
| | - Tag 0x0003 (4 bytes, int32u[1])
| | Duration = 2406
| | - Tag 0x0004 (4 bytes, int32u[1])
| | PreferredRate = 65536
| | - Tag 0x0005 (4 bytes, int32u[1])
| | PreferredVolume = 256
| | - Tag 0x0006 (2 bytes, int16u[1])
| | MatrixStructure = 1 0 0 0 1 0 0 0 16384
| | - Tag 0x0009 (36 bytes, fixed32s[9])
| | PreviewTime = 0
| | - Tag 0x0012 (4 bytes, int32u[1])
| | PreviewDuration = 0
| | - Tag 0x0013 (4 bytes, int32u[1])
| | PosterTime = 0
| | - Tag 0x0014 (4 bytes, int32u[1])
| | SelectionTime = 0
| | - Tag 0x0015 (4 bytes, int32u[1])
| | SelectionDuration = 0
| | - Tag 0x0016 (4 bytes, int32u[1])
| | CurrentTime = 0
| | - Tag 0x0017 (4 bytes, int32u[1])
| | NextTrackID = 5
| | - Tag 0x0018 (4 bytes, int32u[1])
| Track (SubDirectory) -->
| - Tag 'trak' (1451 bytes)
| + [Track directory]
| | TrackHeader (SubDirectory) -->
| | - Tag 'tkhd' (84 bytes)
| | + [BinaryData directory, 84 bytes]
| | | TrackHeaderVersion = 0
| | | - Tag 0x0000 (1 bytes, int8u[1])
| | | TrackCreateDate = 3625599565
| | | - Tag 0x0001 (4 bytes, int32u[1])
| | | TrackModifyDate = 3625599570
| | | - Tag 0x0002 (4 bytes, int32u[1])
| | | TrackID = 1
| | | - Tag 0x0003 (4 bytes, int32u[1])
| | | TrackDuration = 2406
| | | - Tag 0x0005 (4 bytes, int32u[1])
| | | TrackLayer = 0
| | | - Tag 0x0008 (2 bytes, int16u[1])
| | | TrackVolume = 256
| | | - Tag 0x0009 (2 bytes, int16u[1])
| | | MatrixStructure = -1 0 0 0 -1 0 1920 1080 16384
| | | - Tag 0x000a (36 bytes, fixed32s[9])
| | | ImageWidth = 125829120
| | | - Tag 0x0013 (4 bytes, int32u[1])
| | | ImageHeight = 70778880
| | | - Tag 0x0014 (4 bytes, int32u[1])
| | TrackAperture (SubDirectory) -->
| | - Tag 'tapt' (60 bytes)
| | + [TrackAperture directory]
| | | CleanApertureDimensions = 0 1920 1080
| | | - Tag 'clef' (12 bytes, fixed32u)
| | | ProductionApertureDimensions = 0 1920 1080
| | | - Tag 'prof' (12 bytes, fixed32u)
| | | EncodedPixelsDimensions = 0 1920 1080
| | | - Tag 'enof' (12 bytes, fixed32u)
| | Unknown_edts = .elst..f.
| | - Tag 'edts' (28 bytes)
| | Media (SubDirectory) -->
| | - Tag 'mdia' (1247 bytes)
| | + [Media directory]
| | | MediaHeader (SubDirectory) -->
| | | - Tag 'mdhd' (24 bytes)
| | | + [BinaryData directory, 24 bytes]
| | | | MediaHeaderVersion = 0
| | | | - Tag 0x0000 (4 bytes, int32u[1])
| | | | MediaCreateDate = 3625599565
| | | | - Tag 0x0001 (4 bytes, int32u[1])
| | | | MediaModifyDate = 3625599570
| | | | - Tag 0x0002 (4 bytes, int32u[1])
| | | | MediaTimeScale = 600
| | | | - Tag 0x0003 (4 bytes, int32u[1])
| | | | MediaDuration = 2406
| | | | - Tag 0x0004 (4 bytes, int32u[1])
| | | | MediaLanguageCode = 21956
| | | | - Tag 0x0005 (2 bytes, int16u[1])
| | | Handler (SubDirectory) -->
| | | - Tag 'hdlr' (41 bytes)
| | | + [BinaryData directory, 41 bytes]
| | | | HandlerClass = mhlr
| | | | - Tag 0x0004 (4 bytes, undef[4])
| | | | HandlerType = vide
| | | | - Tag 0x0008 (4 bytes, undef[4])
| | | | HandlerVendorID = appl
| | | | - Tag 0x000c (4 bytes, undef[4])
| | | | HandlerDescription = .Core Media Video
| | | | - Tag 0x0018 (17 bytes, string[17])
| | | MediaInfo (SubDirectory) -->
| | | - Tag 'minf' (1158 bytes)
| | | + [MediaInfo directory]
| | | | VideoHeader (SubDirectory) -->
| | | | - Tag 'vmhd' (12 bytes)
| | | | + [BinaryData directory, 12 bytes]
| | | | | GraphicsMode = 64
| | | | | - Tag 0x0002 (2 bytes, int16u[1])
| | | | | OpColor = 32768 32768 32768
| | | | | - Tag 0x0003 (6 bytes, int16u[3])
| | | | Handler (SubDirectory) -->
| | | | - Tag 'hdlr' (48 bytes)
| | | | + [BinaryData directory, 48 bytes]
| | | | | HandlerClass = dhlr
| | | | | - Tag 0x0004 (4 bytes, undef[4])
| | | | | HandlerType = alis
| | | | | - Tag 0x0008 (4 bytes, undef[4])
| | | | | HandlerVendorID = appl
| | | | | - Tag 0x000c (4 bytes, undef[4])
| | | | | HandlerDescription = .Core Media Data Handler
| | | | | - Tag 0x0018 (24 bytes, string[24])
| | | | DataInfo (SubDirectory) -->
| | | | - Tag 'dinf' (28 bytes)
| | | | + [DataInfo directory]
| | | | | DataRef (SubDirectory) -->
| | | | | - Tag 'dref' (20 bytes)
| | | | | + [DataRef directory]
| | | | | | Unknown_alis = .
| | | | | | - Tag 'alis' (4 bytes)
| | | | SampleTable (SubDirectory) -->
| | | | - Tag 'stbl' (1038 bytes)
| | | | + [SampleTable directory]
| | | | | VideoSampleDesc (SubDirectory) -->
| | | | | - Tag 'stsd' (298 bytes)
| | | | | + [BinaryData directory, 290 bytes]
| | | | | | CompressorID = avc1
| | | | | | - Tag 0x0002 (4 bytes, string[4])
| | | | | | VendorID =
| | | | | | - Tag 0x000a (4 bytes, string[4])
| | | | | | SourceImageWidth = 1920
| | | | | | - Tag 0x0010 (2 bytes, int16u[1])
| | | | | | SourceImageHeight = 1080
| | | | | | - Tag 0x0011 (2 bytes, int16u[1])
| | | | | | XResolution = 72
| | | | | | - Tag 0x0012 (4 bytes, fixed32u[1])
| | | | | | YResolution = 72
| | | | | | - Tag 0x0014 (4 bytes, fixed32u[1])
| | | | | | CompressorName = .H.264
| | | | | | - Tag 0x0019 (32 bytes, string[32])
| | | | | | BitDepth = 24
| | | | | | - Tag 0x0029 (2 bytes, int16u[1])
| | | | | VideoFrameRate = .......1.
| | | | | - Tag 'stts' (40 bytes, undef)
| | | | | SyncSampleTable = ...=U
| | | | | - Tag 'stss' (24 bytes)
| | | | | IdependentAndDisposableSamples = ............................. ...........[snip]
| | | | | - Tag 'sdtp' (112 bytes)
| | | | | SampleToChunk = .......
| | | | | - Tag 'stsc' (32 bytes)
| | | | | SampleSizes = l.....F.U.R.G{.|.y.t+t.t.b m,m._]j*n~V.o1d.U.`.\5L.p;`qU@cPi.[snip]
| | | | | - Tag 'stsz' (444 bytes)
| | | | | ChunkOffset = ....j..H}..B...&(m
| | | | | - Tag 'stco' (32 bytes)
| Track (SubDirectory) -->
| - Tag 'trak' (1420 bytes)
| + [Track directory]
| | TrackHeader (SubDirectory) -->
| | - Tag 'tkhd' (84 bytes)
| | + [BinaryData directory, 84 bytes]
| | | TrackHeaderVersion = 0
| | | - Tag 0x0000 (1 bytes, int8u[1])
| | | TrackCreateDate = 3625599565
| | | - Tag 0x0001 (4 bytes, int32u[1])
| | | TrackModifyDate = 3625599570
| | | - Tag 0x0002 (4 bytes, int32u[1])
| | | TrackID = 2
| | | - Tag 0x0003 (4 bytes, int32u[1])
| | | TrackDuration = 2405
| | | - Tag 0x0005 (4 bytes, int32u[1])
| | | TrackLayer = 0
| | | - Tag 0x0008 (2 bytes, int16u[1])
| | | TrackVolume = 256
| | | - Tag 0x0009 (2 bytes, int16u[1])
| | | MatrixStructure = 1 0 0 0 1 0 0 0 16384
| | | - Tag 0x000a (36 bytes, fixed32s[9])
| | | ImageWidth = 0
| | | - Tag 0x0013 (4 bytes, int32u[1])
| | | ImageHeight = 0
| | | - Tag 0x0014 (4 bytes, int32u[1])
| | Unknown_edts = .elst..e.
| | - Tag 'edts' (28 bytes)
| | Media (SubDirectory) -->
| | - Tag 'mdia' (1284 bytes)
| | + [Media directory]
| | | MediaHeader (SubDirectory) -->
| | | - Tag 'mdhd' (24 bytes)
| | | + [BinaryData directory, 24 bytes]
| | | | MediaHeaderVersion = 0
| | | | - Tag 0x0000 (4 bytes, int32u[1])
| | | | MediaCreateDate = 3625599565
| | | | - Tag 0x0001 (4 bytes, int32u[1])
| | | | MediaModifyDate = 3625599570
| | | | - Tag 0x0002 (4 bytes, int32u[1])
| | | | MediaTimeScale = 44100
| | | | - Tag 0x0003 (4 bytes, int32u[1])
| | | | MediaDuration = 179200
| | | | - Tag 0x0004 (4 bytes, int32u[1])
| | | | MediaLanguageCode = 21956
| | | | - Tag 0x0005 (2 bytes, int16u[1])
| | | Handler (SubDirectory) -->
| | | - Tag 'hdlr' (41 bytes)
| | | + [BinaryData directory, 41 bytes]
| | | | HandlerClass = mhlr
| | | | - Tag 0x0004 (4 bytes, undef[4])
| | | | HandlerType = soun
| | | | - Tag 0x0008 (4 bytes, undef[4])
| | | | HandlerVendorID = appl
| | | | - Tag 0x000c (4 bytes, undef[4])
| | | | HandlerDescription = .Core Media Audio
| | | | - Tag 0x0018 (17 bytes, string[17])
| | | MediaInfo (SubDirectory) -->
| | | - Tag 'minf' (1195 bytes)
| | | + [MediaInfo directory]
| | | | AudioHeader (SubDirectory) -->
| | | | - Tag 'smhd' (8 bytes)
| | | | + [BinaryData directory, 8 bytes]
| | | | | Balance = 0
| | | | | - Tag 0x0002 (2 bytes, fixed16s[1])
| | | | Handler (SubDirectory) -->
| | | | - Tag 'hdlr' (48 bytes)
| | | | + [BinaryData directory, 48 bytes]
| | | | | HandlerClass = dhlr
| | | | | - Tag 0x0004 (4 bytes, undef[4])
| | | | | HandlerType = alis
| | | | | - Tag 0x0008 (4 bytes, undef[4])
| | | | | HandlerVendorID = appl
| | | | | - Tag 0x000c (4 bytes, undef[4])
| | | | | HandlerDescription = .Core Media Data Handler
| | | | | - Tag 0x0018 (24 bytes, string[24])
| | | | DataInfo (SubDirectory) -->
| | | | - Tag 'dinf' (28 bytes)
| | | | + [DataInfo directory]
| | | | | DataRef (SubDirectory) -->
| | | | | - Tag 'dref' (20 bytes)
| | | | | + [DataRef directory]
| | | | | | Unknown_alis = .
| | | | | | - Tag 'alis' (4 bytes)
| | | | SampleTable (SubDirectory) -->
| | | | - Tag 'stbl' (1079 bytes)
| | | | + [SampleTable directory]
| | | | | AudioSampleDesc (SubDirectory) -->
| | | | | - Tag 'stsd' (195 bytes)
| | | | | + [BinaryData directory, 60 bytes]
| | | | | | AudioFormat = mp4a
| | | | | | - Tag 0x0004 (4 bytes, undef[4])
| | | | | | AudioVendorID =
| | | | | | - Tag 0x0014 (4 bytes, undef[4])
| | | | | | AudioChannels = 2
| | | | | | - Tag 0x0018 (2 bytes, int16u[1])
| | | | | | AudioBitsPerSample = 16
| | | | | | - Tag 0x001a (2 bytes, int16u[1])
| | | | | | AudioSampleRate = 44100
| | | | | | - Tag 0x0020 (4 bytes, fixed32u[1])
| | | | | + [AudioSampleDesc directory]
| | | | | | AudioChannelLayout (SubDirectory) -->
| | | | | | - Tag 'chan' (36 bytes)
| | | | | | + [BinaryData directory, 36 bytes]
| | | | | | | LayoutFlags = 101
| | | | | | | - Tag 0x0004 (2 bytes, int16u[1])
| | | | | | | AudioChannels = 2
| | | | | | | - Tag 0x0006 (2 bytes, int16u[1])
| | | | | | Wave (SubDirectory) -->
| | | | | | - Tag 'wave' (83 bytes)
| | | | | | + [Wave directory]
| | | | | | | PurchaseFileFormat = mp4a
| | | | | | | - Tag 'frma' (4 bytes)
| | | | | | | Unknown_mp4a =
| | | | | | | - Tag 'mp4a' (4 bytes)
| | | | | | | Unknown_esds = ....".....@.................
| | | | | | | - Tag 'esds' (43 bytes)
| | | | | TimeToSampleTable = ...
| | | | | - Tag 'stts' (16 bytes)
| | | | | SampleToChunk = ..+................
| | | | | - Tag 'stsc' (80 bytes)
| | | | | SampleSizes = ...-...........................................J.............[snip]
| | | | | - Tag 'stsz' (712 bytes)
| | | | | ChunkOffset = .$T....AB..h..M..Z
| | | | | - Tag 'stco' (36 bytes)
| Track (SubDirectory) -->
| - Tag 'trak' (1062 bytes)
| + [Track directory]
| | TrackHeader (SubDirectory) -->
| | - Tag 'tkhd' (84 bytes)
| | + [BinaryData directory, 84 bytes]
| | | TrackHeaderVersion = 0
| | | - Tag 0x0000 (1 bytes, int8u[1])
| | | TrackCreateDate = 3625599565
| | | - Tag 0x0001 (4 bytes, int32u[1])
| | | TrackModifyDate = 3625599570
| | | - Tag 0x0002 (4 bytes, int32u[1])
| | | TrackID = 3
| | | - Tag 0x0003 (4 bytes, int32u[1])
| | | TrackDuration = 2406
| | | - Tag 0x0005 (4 bytes, int32u[1])
| | | TrackLayer = 0
| | | - Tag 0x0008 (2 bytes, int16u[1])
| | | TrackVolume = 256
| | | - Tag 0x0009 (2 bytes, int16u[1])
| | | MatrixStructure = 1 0 0 0 1 0 0 0 16384
| | | - Tag 0x000a (36 bytes, fixed32s[9])
| | | ImageWidth = 0
| | | - Tag 0x0013 (4 bytes, int32u[1])
| | | ImageHeight = 0
| | | - Tag 0x0014 (4 bytes, int32u[1])
| | Unknown_edts = .elst..f.
| | - Tag 'edts' (28 bytes)
| | TrackRef (SubDirectory) -->
| | - Tag 'tref' (24 bytes)
| | + [TrackRef directory]
| | | ContentDescribes = 1
| | | - Tag 'cdsc' (4 bytes, int32u)
| | | Unknown_cdep = .
| | | - Tag 'cdep' (4 bytes)
| | Media (SubDirectory) -->
| | - Tag 'mdia' (894 bytes)
| | + [Media directory]
| | | MediaHeader (SubDirectory) -->
| | | - Tag 'mdhd' (24 bytes)
| | | + [BinaryData directory, 24 bytes]
| | | | MediaHeaderVersion = 0
| | | | - Tag 0x0000 (4 bytes, int32u[1])
| | | | MediaCreateDate = 3625599565
| | | | - Tag 0x0001 (4 bytes, int32u[1])
| | | | MediaModifyDate = 3625599570
| | | | - Tag 0x0002 (4 bytes, int32u[1])
| | | | MediaTimeScale = 600
| | | | - Tag 0x0003 (4 bytes, int32u[1])
| | | | MediaDuration = 2406
| | | | - Tag 0x0004 (4 bytes, int32u[1])
| | | | MediaLanguageCode = 21956
| | | | - Tag 0x0005 (2 bytes, int16u[1])
| | | Handler (SubDirectory) -->
| | | - Tag 'hdlr' (44 bytes)
| | | + [BinaryData directory, 44 bytes]
| | | | HandlerClass = mhlr
| | | | - Tag 0x0004 (4 bytes, undef[4])
| | | | HandlerType = meta
| | | | - Tag 0x0008 (4 bytes, undef[4])
| | | | HandlerVendorID = appl
| | | | - Tag 0x000c (4 bytes, undef[4])
| | | | HandlerDescription = .Core Media Metadata
| | | | - Tag 0x0018 (20 bytes, string[20])
| | | MediaInfo (SubDirectory) -->
| | | - Tag 'minf' (802 bytes)
| | | + [MediaInfo directory]
| | | | GenMediaHeader (SubDirectory) -->
| | | | - Tag 'gmhd' (24 bytes)
| | | | + [GenMediaHeader directory]
| | | | | GenMediaInfo (SubDirectory) -->
| | | | | - Tag 'gmin' (16 bytes)
| | | | | + [BinaryData directory, 16 bytes]
| | | | | | GenMediaVersion = 0
| | | | | | - Tag 0x0000 (1 bytes, int8u[1])
| | | | | | GenFlags = 0 0 0
| | | | | | - Tag 0x0001 (3 bytes, int8u[3])
| | | | | | GenGraphicsMode = 64
| | | | | | - Tag 0x0004 (2 bytes, int16u[1])
| | | | | | GenOpColor = 32768 32768 32768
| | | | | | - Tag 0x0006 (6 bytes, int16u[3])
| | | | | | GenBalance = 0
| | | | | | - Tag 0x000c (2 bytes, fixed16s[1])
| | | | Handler (SubDirectory) -->
| | | | - Tag 'hdlr' (48 bytes)
| | | | + [BinaryData directory, 48 bytes]
| | | | | HandlerClass = dhlr
| | | | | - Tag 0x0004 (4 bytes, undef[4])
| | | | | HandlerType = alis
| | | | | - Tag 0x0008 (4 bytes, undef[4])
| | | | | HandlerVendorID = appl
| | | | | - Tag 0x000c (4 bytes, undef[4])
| | | | | HandlerDescription = .Core Media Data Handler
| | | | | - Tag 0x0018 (24 bytes, string[24])
| | | | DataInfo (SubDirectory) -->
| | | | - Tag 'dinf' (28 bytes)
| | | | + [DataInfo directory]
| | | | | DataRef (SubDirectory) -->
| | | | | - Tag 'dref' (20 bytes)
| | | | | + [DataRef directory]
| | | | | | Unknown_alis = .
| | | | | | - Tag 'alis' (4 bytes)
| | | | SampleTable (SubDirectory) -->
| | | | - Tag 'stbl' (670 bytes)
| | | | + [SampleTable directory]
| | | | | MetaSampleDesc (SubDirectory) -->
| | | | | - Tag 'stsd' (570 bytes)
| | | | | + [BinaryData directory, 24 bytes]
| | | | | | MetaFormat = mebx
| | | | | | - Tag 0x0004 (4 bytes, undef[4])
| | | | | + [MetaSampleDesc directory]
| | | | | | Keys (SubDirectory) -->
| | | | | | - Tag 'keys' (494 bytes)
| | | | | | Unknown_lidp = .
| | | | | | - Tag 'lidp' (4 bytes)
| | | | | | Unknown_lidl = ......
| | | | | | - Tag 'lidl' (24 bytes)
| | | | | Warning = [minor] The ExtractEmbedded option may find more tags in the movie data
| | | | | TimeToSampleTable = ...f
| | | | | - Tag 'stts' (16 bytes)
| | | | | SampleToChunk = ....
| | | | | - Tag 'stsc' (20 bytes)
| | | | | SampleSizes = ..
| | | | | - Tag 'stsz' (12 bytes)
| | | | | ChunkOffset = .&([
| | | | | - Tag 'stco' (12 bytes)
| Track (SubDirectory) -->
| - Tag 'trak' (617 bytes)
| + [Track directory]
| | TrackHeader (SubDirectory) -->
| | - Tag 'tkhd' (84 bytes)
| | + [BinaryData directory, 84 bytes]
| | | TrackHeaderVersion = 0
| | | - Tag 0x0000 (1 bytes, int8u[1])
| | | TrackCreateDate = 3625599565
| | | - Tag 0x0001 (4 bytes, int32u[1])
| | | TrackModifyDate = 3625599570
| | | - Tag 0x0002 (4 bytes, int32u[1])
| | | TrackID = 4
| | | - Tag 0x0003 (4 bytes, int32u[1])
| | | TrackDuration = 2406
| | | - Tag 0x0005 (4 bytes, int32u[1])
| | | TrackLayer = 0
| | | - Tag 0x0008 (2 bytes, int16u[1])
| | | TrackVolume = 256
| | | - Tag 0x0009 (2 bytes, int16u[1])
| | | MatrixStructure = 1 0 0 0 1 0 0 0 16384
| | | - Tag 0x000a (36 bytes, fixed32s[9])
| | | ImageWidth = 0
| | | - Tag 0x0013 (4 bytes, int32u[1])
| | | ImageHeight = 0
| | | - Tag 0x0014 (4 bytes, int32u[1])
| | Unknown_edts = .elst..f.
| | - Tag 'edts' (28 bytes)
| | TrackRef (SubDirectory) -->
| | - Tag 'tref' (24 bytes)
| | + [TrackRef directory]
| | | ContentDescribes = 1
| | | - Tag 'cdsc' (4 bytes, int32u)
| | | Unknown_cdep = .
| | | - Tag 'cdep' (4 bytes)
| | Media (SubDirectory) -->
| | - Tag 'mdia' (449 bytes)
| | + [Media directory]
| | | MediaHeader (SubDirectory) -->
| | | - Tag 'mdhd' (24 bytes)
| | | + [BinaryData directory, 24 bytes]
| | | | MediaHeaderVersion = 0
| | | | - Tag 0x0000 (4 bytes, int32u[1])
| | | | MediaCreateDate = 3625599565
| | | | - Tag 0x0001 (4 bytes, int32u[1])
| | | | MediaModifyDate = 3625599570
| | | | - Tag 0x0002 (4 bytes, int32u[1])
| | | | MediaTimeScale = 600
| | | | - Tag 0x0003 (4 bytes, int32u[1])
| | | | MediaDuration = 2406
| | | | - Tag 0x0004 (4 bytes, int32u[1])
| | | | MediaLanguageCode = 21956
| | | | - Tag 0x0005 (2 bytes, int16u[1])
| | | Handler (SubDirectory) -->
| | | - Tag 'hdlr' (44 bytes)
| | | + [BinaryData directory, 44 bytes]
| | | | HandlerClass = mhlr
| | | | - Tag 0x0004 (4 bytes, undef[4])
| | | | HandlerType = meta
| | | | - Tag 0x0008 (4 bytes, undef[4])
| | | | HandlerVendorID = appl
| | | | - Tag 0x000c (4 bytes, undef[4])
| | | | HandlerDescription = .Core Media Metadata
| | | | - Tag 0x0018 (20 bytes, string[20])
| | | MediaInfo (SubDirectory) -->
| | | - Tag 'minf' (357 bytes)
| | | + [MediaInfo directory]
| | | | GenMediaHeader (SubDirectory) -->
| | | | - Tag 'gmhd' (24 bytes)
| | | | + [GenMediaHeader directory]
| | | | | GenMediaInfo (SubDirectory) -->
| | | | | - Tag 'gmin' (16 bytes)
| | | | | + [BinaryData directory, 16 bytes]
| | | | | | GenMediaVersion = 0
| | | | | | - Tag 0x0000 (1 bytes, int8u[1])
| | | | | | GenFlags = 0 0 0
| | | | | | - Tag 0x0001 (3 bytes, int8u[3])
| | | | | | GenGraphicsMode = 64
| | | | | | - Tag 0x0004 (2 bytes, int16u[1])
| | | | | | GenOpColor = 32768 32768 32768
| | | | | | - Tag 0x0006 (6 bytes, int16u[3])
| | | | | | GenBalance = 0
| | | | | | - Tag 0x000c (2 bytes, fixed16s[1])
| | | | Handler (SubDirectory) -->
| | | | - Tag 'hdlr' (48 bytes)
| | | | + [BinaryData directory, 48 bytes]
| | | | | HandlerClass = dhlr
| | | | | - Tag 0x0004 (4 bytes, undef[4])
| | | | | HandlerType = alis
| | | | | - Tag 0x0008 (4 bytes, undef[4])
| | | | | HandlerVendorID = appl
| | | | | - Tag 0x000c (4 bytes, undef[4])
| | | | | HandlerDescription = .Core Media Data Handler
| | | | | - Tag 0x0018 (24 bytes, string[24])
| | | | DataInfo (SubDirectory) -->
| | | | - Tag 'dinf' (28 bytes)
| | | | + [DataInfo directory]
| | | | | DataRef (SubDirectory) -->
| | | | | - Tag 'dref' (20 bytes)
| | | | | + [DataRef directory]
| | | | | | Unknown_alis = .
| | | | | | - Tag 'alis' (4 bytes)
| | | | SampleTable (SubDirectory) -->
| | | | - Tag 'stbl' (225 bytes)
| | | | + [SampleTable directory]
| | | | | MetaSampleDesc (SubDirectory) -->
| | | | | - Tag 'stsd' (125 bytes)
| | | | | + [BinaryData directory, 24 bytes]
| | | | | | MetaFormat = mebx
| | | | | | - Tag 0x0004 (4 bytes, undef[4])
| | | | | + [MetaSampleDesc directory]
| | | | | | Keys (SubDirectory) -->
| | | | | | - Tag 'keys' (93 bytes)
| | | | | TimeToSampleTable = ...f
| | | | | - Tag 'stts' (16 bytes)
| | | | | SampleToChunk = ....
| | | | | - Tag 'stsc' (20 bytes)
| | | | | SampleSizes = ..
| | | | | - Tag 'stsz' (12 bytes)
| | | | | ChunkOffset = .&(c
| | | | | - Tag 'stco' (12 bytes)
| UserData (SubDirectory) -->
| - Tag 'udta' (0 bytes)
| Unknown_free =
| - Tag 'free' (1016 bytes)
| Meta (SubDirectory) -->
| - Tag 'meta' (1455 bytes)
| + [Meta directory]
| | Handler (SubDirectory) -->
| | - Tag 'hdlr' (26 bytes)
| | + [BinaryData directory, 26 bytes]
| | | HandlerClass =
| | | - Tag 0x0004 (4 bytes, undef[4])
| | | HandlerType = mdta
| | | - Tag 0x0008 (4 bytes, undef[4])
| | | HandlerVendorID =
| | | - Tag 0x000c (4 bytes, undef[4])
| | | HandlerDescription =
| | | - Tag 0x0018 (2 bytes, string[2])
| | Keys (SubDirectory) -->
| | - Tag 'keys' (193 bytes)
| | + [Keys directory]
| | | Added ItemList Tag 1.1 = location.ISO6709
| | | Added ItemList Tag 1.2 = make
| | | Added ItemList Tag 1.3 = model
| | | Added ItemList Tag 1.4 = software
| | | Added ItemList Tag 1.5 = creationdate
| | ItemList (SubDirectory) -->
| | - Tag 'ilst' (188 bytes)
| | + [ItemList directory]
| | | GPSCoordinates = +35.9542-086.8191+209.948/
| | | - Tag '1.1', Type='data', Flags=0x1 (26 bytes)
| | | Make = Apple
| | | - Tag '1.2', Type='data', Flags=0x1 (5 bytes)
| | | Model = iPhone XR
| | | - Tag '1.3', Type='data', Flags=0x1 (9 bytes)
| | | Software = 12.1
| | | - Tag '1.4', Type='data', Flags=0x1 (4 bytes)
| | | CreationDate = 2018-11-20T16:59:25-0600
| | | - Tag '1.5', Type='data', Flags=0x1 (24 bytes)
| | Free =
| | - Tag 'free' (1016 bytes)
| Unknown_free = trex....... trex.... trex...f. trex...f.
| - Tag 'free' (128 bytes)
Apple Photos does not read.
ExifToolVersion = 11.64
FileName = IMG_2652.MOV
Directory = .
FileSize = 26983775
FileModifyDate = 1569532012.81046
FileAccessDate = 1569532012.60419
FileCreateDate = 1569530588.91084
FilePermissions = 33206
FileType = MOV
FileTypeExtension = MOV
MIMEType = video/quicktime
FileType (SubDirectory) -->
- Tag 'ftyp' (12 bytes)
+ [BinaryData directory, 12 bytes]
| MajorBrand = qt
| - Tag 0x0000 (4 bytes, undef[4])
| MinorVersion = .
| - Tag 0x0001 (4 bytes, undef[4])
| CompatibleBrands = qt
| - Tag 0x0002 (4 bytes, undef[4])
Movie (SubDirectory) -->
- Tag 'moov' (19146 bytes)
+ [Movie directory]
| MovieHeader (SubDirectory) -->
| - Tag 'mvhd' (100 bytes)
| + [BinaryData directory, 100 bytes]
| | MovieHeaderVersion = 0
| | - Tag 0x0000 (1 bytes, int8u[1])
| | CreateDate = 3629745669
| | - Tag 0x0001 (4 bytes, int32u[1])
| | ModifyDate = 0
| | - Tag 0x0002 (4 bytes, int32u[1])
| | TimeScale = 1000
| | - Tag 0x0003 (4 bytes, int32u[1])
| | Duration = 20480
| | - Tag 0x0004 (4 bytes, int32u[1])
| | PreferredRate = 65536
| | - Tag 0x0005 (4 bytes, int32u[1])
| | PreferredVolume = 256
| | - Tag 0x0006 (2 bytes, int16u[1])
| | MatrixStructure = 1 0 0 0 1 0 0 0 16384
| | - Tag 0x0009 (36 bytes, fixed32s[9])
| | PreviewTime = 0
| | - Tag 0x0012 (4 bytes, int32u[1])
| | PreviewDuration = 0
| | - Tag 0x0013 (4 bytes, int32u[1])
| | PosterTime = 0
| | - Tag 0x0014 (4 bytes, int32u[1])
| | SelectionTime = 0
| | - Tag 0x0015 (4 bytes, int32u[1])
| | SelectionDuration = 0
| | - Tag 0x0016 (4 bytes, int32u[1])
| | CurrentTime = 0
| | - Tag 0x0017 (4 bytes, int32u[1])
| | NextTrackID = 3
| | - Tag 0x0018 (4 bytes, int32u[1])
| Track (SubDirectory) -->
| - Tag 'trak' (5548 bytes)
| + [Track directory]
| | TrackHeader (SubDirectory) -->
| | - Tag 'tkhd' (84 bytes)
| | + [BinaryData directory, 84 bytes]
| | | TrackHeaderVersion = 0
| | | - Tag 0x0000 (1 bytes, int8u[1])
| | | TrackCreateDate = 0
| | | - Tag 0x0001 (4 bytes, int32u[1])
| | | TrackModifyDate = 0
| | | - Tag 0x0002 (4 bytes, int32u[1])
| | | TrackID = 1
| | | - Tag 0x0003 (4 bytes, int32u[1])
| | | TrackDuration = 20400
| | | - Tag 0x0005 (4 bytes, int32u[1])
| | | TrackLayer = 0
| | | - Tag 0x0008 (2 bytes, int16u[1])
| | | TrackVolume = 0
| | | - Tag 0x0009 (2 bytes, int16u[1])
| | | MatrixStructure = 1 0 0 0 1 0 0 0 16384
| | | - Tag 0x000a (36 bytes, fixed32s[9])
| | | ImageWidth = 125829120
| | | - Tag 0x0013 (4 bytes, int32u[1])
| | | ImageHeight = 70778880
| | | - Tag 0x0014 (4 bytes, int32u[1])
| | Unknown_edts = .elst.O..
| | - Tag 'edts' (28 bytes)
| | Media (SubDirectory) -->
| | - Tag 'mdia' (5412 bytes)
| | + [Media directory]
| | | MediaHeader (SubDirectory) -->
| | | - Tag 'mdhd' (24 bytes)
| | | + [BinaryData directory, 24 bytes]
| | | | MediaHeaderVersion = 0
| | | | - Tag 0x0000 (4 bytes, int32u[1])
| | | | MediaCreateDate = 0
| | | | - Tag 0x0001 (4 bytes, int32u[1])
| | | | MediaModifyDate = 0
| | | | - Tag 0x0002 (4 bytes, int32u[1])
| | | | MediaTimeScale = 15360
| | | | - Tag 0x0003 (4 bytes, int32u[1])
| | | | MediaDuration = 313344
| | | | - Tag 0x0004 (4 bytes, int32u[1])
| | | | MediaLanguageCode = 32767
| | | | - Tag 0x0005 (2 bytes, int16u[1])
| | | Handler (SubDirectory) -->
| | | - Tag 'hdlr' (37 bytes)
| | | + [BinaryData directory, 37 bytes]
| | | | HandlerClass = mhlr
| | | | - Tag 0x0004 (4 bytes, undef[4])
| | | | HandlerType = vide
| | | | - Tag 0x0008 (4 bytes, undef[4])
| | | | HandlerVendorID =
| | | | - Tag 0x000c (4 bytes, undef[4])
| | | | HandlerDescription = .VideoHandler
| | | | - Tag 0x0018 (13 bytes, string[13])
| | | MediaInfo (SubDirectory) -->
| | | - Tag 'minf' (5327 bytes)
| | | + [MediaInfo directory]
| | | | VideoHeader (SubDirectory) -->
| | | | - Tag 'vmhd' (12 bytes)
| | | | + [BinaryData directory, 12 bytes]
| | | | | GraphicsMode = 0
| | | | | - Tag 0x0002 (2 bytes, int16u[1])
| | | | | OpColor = 0 0 0
| | | | | - Tag 0x0003 (6 bytes, int16u[3])
| | | | Handler (SubDirectory) -->
| | | | - Tag 'hdlr' (36 bytes)
| | | | + [BinaryData directory, 36 bytes]
| | | | | HandlerClass = dhlr
| | | | | - Tag 0x0004 (4 bytes, undef[4])
| | | | | HandlerType = url
| | | | | - Tag 0x0008 (4 bytes, undef[4])
| | | | | HandlerVendorID =
| | | | | - Tag 0x000c (4 bytes, undef[4])
| | | | | HandlerDescription = .DataHandler
| | | | | - Tag 0x0018 (12 bytes, string[12])
| | | | DataInfo (SubDirectory) -->
| | | | - Tag 'dinf' (28 bytes)
| | | | + [DataInfo directory]
| | | | | DataRef (SubDirectory) -->
| | | | | - Tag 'dref' (20 bytes)
| | | | | + [DataRef directory]
| | | | | | URL = .
| | | | | | - Tag 'url ' (4 bytes, undef)
| | | | SampleTable (SubDirectory) -->
| | | | - Tag 'stbl' (5219 bytes)
| | | | + [SampleTable directory]
| | | | | VideoSampleDesc (SubDirectory) -->
| | | | | - Tag 'stsd' (163 bytes)
| | | | | + [BinaryData directory, 94 bytes]
| | | | | | CompressorID = avc1
| | | | | | - Tag 0x0002 (4 bytes, string[4])
| | | | | | VendorID = FFMP
| | | | | | - Tag 0x000a (4 bytes, string[4])
| | | | | | SourceImageWidth = 1920
| | | | | | - Tag 0x0010 (2 bytes, int16u[1])
| | | | | | SourceImageHeight = 1080
| | | | | | - Tag 0x0011 (2 bytes, int16u[1])
| | | | | | XResolution = 72
| | | | | | - Tag 0x0012 (4 bytes, fixed32u[1])
| | | | | | YResolution = 72
| | | | | | - Tag 0x0014 (4 bytes, fixed32u[1])
| | | | | | CompressorName =
| | | | | | - Tag 0x0019 (32 bytes, string[32])
| | | | | | BitDepth = 24
| | | | | | - Tag 0x0029 (2 bytes, int16u[1])
| | | | | + [VideoSampleDesc directory]
| | | | | | AVCConfiguration = .d(...gd(.....?.........<..2...h.<.
| | | | | | - Tag 'avcC' (45 bytes)
| | | | | | PixelAspectRatio = ..
| | | | | | - Tag 'pasp' (8 bytes)
| | | | | VideoFrameRate = ..d.
| | | | | - Tag 'stts' (16 bytes, undef)
| | | | | SyncSampleTable = ..=h.....?.{.......I
| | | | | - Tag 'stss' (56 bytes)
| | | | | SampleToChunk = ....
| | | | | - Tag 'stsc' (20 bytes)
| | | | | SampleSizes = .d....n........{............Z.......\...$.X.....Q...a...T.T..[snip]
| | | | | - Tag 'stsz' (2460 bytes)
| | | | | ChunkOffset = .dJ..f..,........l...R.m......M.L7....k..!2....]<.....k.Rz...[snip]
| | | | | - Tag 'stco' (2456 bytes)
| Track (SubDirectory) -->
| - Tag 'trak' (13067 bytes)
| + [Track directory]
| | TrackHeader (SubDirectory) -->
| | - Tag 'tkhd' (84 bytes)
| | + [BinaryData directory, 84 bytes]
| | | TrackHeaderVersion = 0
| | | - Tag 0x0000 (1 bytes, int8u[1])
| | | TrackCreateDate = 0
| | | - Tag 0x0001 (4 bytes, int32u[1])
| | | TrackModifyDate = 0
| | | - Tag 0x0002 (4 bytes, int32u[1])
| | | TrackID = 2
| | | - Tag 0x0003 (4 bytes, int32u[1])
| | | TrackDuration = 20480
| | | - Tag 0x0005 (4 bytes, int32u[1])
| | | TrackLayer = 0
| | | - Tag 0x0008 (2 bytes, int16u[1])
| | | TrackVolume = 256
| | | - Tag 0x0009 (2 bytes, int16u[1])
| | | MatrixStructure = 1 0 0 0 1 0 0 0 16384
| | | - Tag 0x000a (36 bytes, fixed32s[9])
| | | ImageWidth = 0
| | | - Tag 0x0013 (4 bytes, int32u[1])
| | | ImageHeight = 0
| | | - Tag 0x0014 (4 bytes, int32u[1])
| | Unknown_edts = .elst.P.
| | - Tag 'edts' (28 bytes)
| | Media (SubDirectory) -->
| | - Tag 'mdia' (12931 bytes)
| | + [Media directory]
| | | MediaHeader (SubDirectory) -->
| | | - Tag 'mdhd' (24 bytes)
| | | + [BinaryData directory, 24 bytes]
| | | | MediaHeaderVersion = 0
| | | | - Tag 0x0000 (4 bytes, int32u[1])
| | | | MediaCreateDate = 0
| | | | - Tag 0x0001 (4 bytes, int32u[1])
| | | | MediaModifyDate = 0
| | | | - Tag 0x0002 (4 bytes, int32u[1])
| | | | MediaTimeScale = 44100
| | | | - Tag 0x0003 (4 bytes, int32u[1])
| | | | MediaDuration = 903168
| | | | - Tag 0x0004 (4 bytes, int32u[1])
| | | | MediaLanguageCode = 32767
| | | | - Tag 0x0005 (2 bytes, int16u[1])
| | | Handler (SubDirectory) -->
| | | - Tag 'hdlr' (68 bytes)
| | | + [BinaryData directory, 68 bytes]
| | | | HandlerClass = mhlr
| | | | - Tag 0x0004 (4 bytes, undef[4])
| | | | HandlerType = soun
| | | | - Tag 0x0008 (4 bytes, undef[4])
| | | | HandlerVendorID =
| | | | - Tag 0x000c (4 bytes, undef[4])
| | | | HandlerDescription = +IsoMedia File Produced by Google, 5-11-2011
| | | | - Tag 0x0018 (44 bytes, string[44])
| | | MediaInfo (SubDirectory) -->
| | | - Tag 'minf' (12815 bytes)
| | | + [MediaInfo directory]
| | | | AudioHeader (SubDirectory) -->
| | | | - Tag 'smhd' (8 bytes)
| | | | + [BinaryData directory, 8 bytes]
| | | | | Balance = 0
| | | | | - Tag 0x0002 (2 bytes, fixed16s[1])
| | | | Handler (SubDirectory) -->
| | | | - Tag 'hdlr' (36 bytes)
| | | | + [BinaryData directory, 36 bytes]
| | | | | HandlerClass = dhlr
| | | | | - Tag 0x0004 (4 bytes, undef[4])
| | | | | HandlerType = url
| | | | | - Tag 0x0008 (4 bytes, undef[4])
| | | | | HandlerVendorID =
| | | | | - Tag 0x000c (4 bytes, undef[4])
| | | | | HandlerDescription = .DataHandler
| | | | | - Tag 0x0018 (12 bytes, string[12])
| | | | DataInfo (SubDirectory) -->
| | | | - Tag 'dinf' (28 bytes)
| | | | + [DataInfo directory]
| | | | | DataRef (SubDirectory) -->
| | | | | - Tag 'dref' (20 bytes)
| | | | | + [DataRef directory]
| | | | | | URL = .
| | | | | | - Tag 'url ' (4 bytes, undef)
| | | | SampleTable (SubDirectory) -->
| | | | - Tag 'stbl' (12711 bytes)
| | | | + [SampleTable directory]
| | | | | AudioSampleDesc (SubDirectory) -->
| | | | | - Tag 'stsd' (189 bytes)
| | | | | + [BinaryData directory, 60 bytes]
| | | | | | AudioFormat = mp4a
| | | | | | - Tag 0x0004 (4 bytes, undef[4])
| | | | | | AudioVendorID =
| | | | | | - Tag 0x0014 (4 bytes, undef[4])
| | | | | | AudioChannels = 1
| | | | | | - Tag 0x0018 (2 bytes, int16u[1])
| | | | | | AudioBitsPerSample = 16
| | | | | | - Tag 0x001a (2 bytes, int16u[1])
| | | | | | AudioSampleRate = 44100
| | | | | | - Tag 0x0020 (4 bytes, fixed32u[1])
| | | | | + [AudioSampleDesc directory]
| | | | | | Wave (SubDirectory) -->
| | | | | | - Tag 'wave' (97 bytes)
| | | | | | + [Wave directory]
| | | | | | | PurchaseFileFormat = mp4a
| | | | | | | - Tag 'frma' (4 bytes)
| | | | | | | Unknown_mp4a =
| | | | | | | - Tag 'mp4a' (4 bytes)
| | | | | | | Unknown_esds = ....0....."@..v..v..............
| | | | | | | - Tag 'esds' (57 bytes)
| | | | | | AudioChannelLayout (SubDirectory) -->
| | | | | | - Tag 'chan' (16 bytes)
| | | | | | + [BinaryData directory, 16 bytes]
| | | | | | | LayoutFlags = 100
| | | | | | | - Tag 0x0004 (2 bytes, int16u[1])
| | | | | | | AudioChannels = 1
| | | | | | | - Tag 0x0006 (2 bytes, int16u[1])
| | | | | TimeToSampleTable = ..r.
| | | | | - Tag 'stts' (16 bytes)
| | | | | SampleToChunk = ...........................................................[snip]
| | | | | - Tag 'stsc' (6416 bytes)
| | | | | SampleSizes = .r.........7.7.3.........#.1.......%.S.5............... .0...[snip]
| | | | | - Tag 'stsz' (3540 bytes)
| | | | | ChunkOffset = .d.c..+...!.._.jZ..M.k........J)....i+.....'.\?.....l.Qm....u[snip]
| | | | | - Tag 'stco' (2456 bytes)
| | | | | SampleGroupDescription = .roll....
| | | | | - Tag 'sgpd' (18 bytes)
| | | | | SampleToGroup = roll..r.
| | | | | - Tag 'sbgp' (20 bytes)
| UserData (SubDirectory) -->
| - Tag 'udta' (25 bytes)
| + [UserData directory]
| | SoftwareVersion = .U.Lavf58.29.100
| | - Tag '\xa9swr' (17 bytes)
| Meta (SubDirectory) -->
| - Tag 'meta' (366 bytes)
| + [Meta directory]
| | Handler (SubDirectory) -->
| | - Tag 'hdlr' (24 bytes)
| | + [BinaryData directory, 24 bytes]
| | | HandlerClass =
| | | - Tag 0x0004 (4 bytes, undef[4])
| | | HandlerType = mdta
| | | - Tag 0x0008 (4 bytes, undef[4])
| | | HandlerVendorID =
| | | - Tag 0x000c (4 bytes, undef[4])
| | Keys (SubDirectory) -->
| | - Tag 'keys' (157 bytes)
| | + [Keys directory]
| | | Added ItemList Tag 1.1 = creationdate
| | | Added ItemList Tag 1.2 = location.ISO6709
| | | Added ItemList Tag 1.3 = make
| | | Added ItemList Tag 1.4 = model
| | ItemList (SubDirectory) -->
| | - Tag 'ilst' (161 bytes)
| | + [ItemList directory]
| | | CreationDate = 2019-01-07T22:41:09
| | | - Tag '1.1', Type='data', Flags=0x1 (19 bytes)
| | | GPSCoordinates = +35.9225-86.77799999999999+141.7
| | | - Tag '1.2', Type='data', Flags=0x1 (32 bytes)
| | | Make = Apple
| | | - Tag '1.3', Type='data', Flags=0x1 (5 bytes)
| | | Model = iPhone XR
| | | - Tag '1.4', Type='data', Flags=0x1 (9 bytes)
MovieDataSize = 26964593
MovieDataOffset = 19182
MovieData = ...e.....e..y..7.C.....8.....A.nr.o....a.....".x....S}....'6,k...^*.4m..O[snip]
- Tag 'mdat' (26964593 bytes)
This would be unfortunate, but perhaps the number of digits in the GPS coordinates is the problem.
Try this:
exiftool "-keys:gpscoordinates#=35.9225 -86.7780 141.700" FILE
to force the same number of digits as in the file that works.
I sort of hope this isn't the problem because it would be unfortunate to have to limit the precision of the coordinates.
- Phil
Edit: Added "Keys:" group when writing
A similar problem was just reported here (https://exiftool.org/forum/index.php/topic,10081.msg55284.html#msg55284).
- Phil
Edit: I think we have a solution for this problem. See the thread linked above.
Version 11.68 works! Apple Photos can read. It must have been the GPS coordinate formatting. Here is my final script to add GPS Coordinates and Create Date from the Google Photos JSON.
exiftool -tagsfromfile "%d%F.json" "-Keys:GPSCoordinates#<$GeoDataLatitude $GeoDataLongitude $GeoDataAltitude" "-Keys:CreationDate<$PhotoTakenTimeTimestamp" "-QuickTime:CreateDate<$PhotoTakenTimeTimestamp" -d %s FILE
Excellent. I'm glad this fixed things for you too.
- Phil