garzj / google-photos-migrate

A tool to fix EXIF data and recover filenames from a Google Photos takeout, preserving albums within the directory structure.
https://npmjs.com/package/google-photos-migrate
MIT License
104 stars 11 forks source link

[Feature Request] Support .MP format files #9

Closed mtalexan closed 7 months ago

mtalexan commented 9 months ago

Per a discussion on Photoprism (https://github.com/photoprism/photoprism/issues/1501), Google started generating .MP files for their "Live Photo" equivalent on Pixel devices. This seems to replace the .MVIMG extension they used to use.

The "solution" seems to be that the files just need a .mp4 extension added to them (i.e. .MP.mp4). To add confusion however, the files with the .MP extension are expected to match the basename of a JPEG file. Google apparently has been embedding short MP4 video files into the metadata of the JPEG files, but then also creates a "sidecar" video file with the same content that they give the .MP extension to.

I would propose a processing flag that would optionally add the .mp4 extension to the .MP files, and would use the same sidecar JSON file as the JPEG (the json file will match the JPEG file name, not the .MP file's name) to modify the .MP.mp4 file's metadata.

garzj commented 9 months ago

I created and linked a new branch, where I added the extension to the config file. ExifTool will probably detect if the file looks like a mp4 and it will change the final file extension. Please let me know if the changes work for you

mtalexan commented 9 months ago

That takes care of part of it, but its metadata should also be updated from the associated JSON file as well.
Sometimes the JSON might be named my_image.jpg.json and it needs to update metadata for both my_image.jpg and my_image.mp/my_image.mp.mp4.

garzj commented 9 months ago

It should already do that, doesn't it?

mtalexan commented 9 months ago

It should already do that, doesn't it?

Currently it completely ignores the files other than to indicate it's an unsupported extension. I don't find it in the processed output at all, so I presume it doesn't change the metadata either

garzj commented 7 months ago

I finally had some time and changed a bit on the linked branch, so what about now? Hope you can still make use of it