I have a script that I wrote that uses HandBrakeCLI to convert files from .MOV to .MP4, but then also attempts to preserve various EXIF metadata by using
exiftool by using the -TagsFromFile operation to copy tags from the older MOV to the newer MP4 (and then a subsequent additional run for -FileModifyDate<CreateDate).
While everything seems to work and the EXIF tags appear in the output MP4, when I import the MP4 into Photos I don't see any information about location, or the iPhone model that I captured the video with.
If I use exiftool to view the metadata of the original MOV and resulting MP4 I do see that the MOV only has 5 GPS-related items (Coordinates, Altitude, Alt. Ref, Latitude, Longitude, Position) while the MP4 has the same but multiple copies of all except 'Position'. Additionally, I can see that the MOV has 'Model' for iPhone, but the MP4 has 'Model' and 'Camera Model Name' both referencing the iPhone.
Despite this plethora of data, Photos.app says it doesn't know what camera took the video nor does it know what GPS location the video was taken.
Does anyone have any insight on this? Is it because it is an MP4 and not a MOV? I'm assuming that Photos.app is getting camera/GPS from the EXIF data in the first place, so why doesn't it recognize it from the MP4?