Adding field from a JSON file to Exif seems not to work for MP4 (unlike JPG)

Started by drundanibel, December 14, 2023, 06:46:55 PM

Previous topic - Next topic

drundanibel

I exported my Google Photos collection using Google Takeout and received directories with many JPG and MP4 files, each accompanied by an additional JSON file with metadata. Since the Exif fields $Make and $Model are not filled for some media files (JPG and MP4), I would at least like to enrich the files with the information "ANDROID_PHONE" or "IOS_PHONE", which is only found in the JSON files, here in the field `googlePhotosOrigin.mobileUpload.deviceType`.

But when I use a command like
exiftool -r -tagsFromFile %d/%f.%e.json "-ProcessingSoftware<${googlePhotosOriginMobileUploadDeviceType;}" "Photos from 2013"
this only works for JPG files, not for MP4 files.

Even if I also use the `-ext MP4` flag, I can only see that the MP4 files are processed but left unchanged.

From the documentation I cannot see that this feature would not be supported for MP4. So I think this is a bug. Or am I missing something?

StarGeek

ProcessingSoftware is an EXIF tag and any EXIF data is non-standard in a video file.  This doesn't stop camera companies from shoving it in to a video, but because there isn't a standard, every company does it differently.

A video file can hold Quicktime data and XMP data.  You'll have to look through those tags to see if there is something you can use.
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).

drundanibel

Thanks for your quick reply! I understand now. So ExifTool works as intended when it refuses to add Exif data to MP4 files. But wouldn't it then make sense to output an appropriate error message like:

QuoteThis action is not supported for video files. Use Quicktime or XMP data instead.

Phil Harvey

While this error message may seem like a good idea when copying a single tag, you would get hundreds of errors for various reasons when copying tags in bulk between files of different types.

- 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 ($).