[PR #3175] feat(server): Google Pixel motion photos #9880

Closed
opened 2026-02-05 14:12:20 +03:00 by OVERLORD · 0 comments
Owner

Original Pull Request: https://github.com/immich-app/immich/pull/3175

State: closed
Merged: Yes


Description

Add support for motion photos taken on Pixel phones. They have the exif property 'MotionPhoto' set to 1, and an embedded mp4 file appended to the JPEG file.

The implementation works like this:

  • on metadata extraction, if a live photo is detected, examine the metadata to determine where in the file the embedded MP4 is.
  • extract this MP4 and write it next to the JPEG.
  • link it using the existing mechanism for live photos.

There is a "MotionPhotoPresentationTimestampUs" exif property, which we don't do anything with - I imagine that it refers to the timepoint in the video that the photo was taken at, but it probably warrants more investigation.

How Has This Been Tested?

  • Tested against motion photos from a Pixel 6, Pixel 4a, and Pixel 2.

Checklist:

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation if applicable
**Original Pull Request:** https://github.com/immich-app/immich/pull/3175 **State:** closed **Merged:** Yes --- ## Description <!--- Describe your changes in detail --> <!--- Why is this change required? What problem does it solve? --> <!--- If it fixes an open issue, please link to the issue here. --> Add support for motion photos taken on Pixel phones. They have the exif property 'MotionPhoto' set to 1, and an embedded mp4 file appended to the JPEG file. The implementation works like this: - on metadata extraction, if a live photo is detected, examine the metadata to determine where in the file the embedded MP4 is. - extract this MP4 and write it next to the JPEG. - link it using the existing mechanism for live photos. There is a "MotionPhotoPresentationTimestampUs" exif property, which we don't do anything with - I imagine that it refers to the timepoint in the video that the photo was taken at, but it probably warrants more investigation. ## How Has This Been Tested? - Tested against motion photos from a Pixel 6, Pixel 4a, and Pixel 2. ## Checklist: - [x] I have performed a self-review of my own code - [x] I have made corresponding changes to the documentation if applicable
OVERLORD added the pull-request label 2026-02-05 14:12:20 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#9880