immich/server
Simon Shields 4f59e6c7ab
feat(server): Google Pixel motion photos (#3175)
* feat(server): Google Pixel motion photos

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.

* fix format

* fix test

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-07-21 22:52:59 -05:00
..
bin feat(cli) Add new CLI (#3066) 2023-07-06 09:37:47 -05:00
e2e feat(server): Use Testcontainers for e2e tests (#3202) 2023-07-11 16:54:44 -05:00
openapi-generator feat(cli) Add new CLI (#3066) 2023-07-06 09:37:47 -05:00
src feat(server): Google Pixel motion photos (#3175) 2023-07-21 22:52:59 -05:00
test feat(server,web): hide faces (#3262) 2023-07-18 13:09:43 -05:00
.dockerignore feat(immich-server) use ubuntu base-image (#851) 2022-10-24 14:59:07 -05:00
.eslintrc.js chore(docs): contributing (#1311) 2023-01-12 08:44:11 -06:00
.gitignore refactor(server)*: tsconfigs (#2689) 2023-06-08 10:01:07 -05:00
.prettierignore chore(docs): contributing (#1311) 2023-01-12 08:44:11 -06:00
.prettierrc chore(server): organize imports (#2779) 2023-06-16 19:54:17 +00:00
Dockerfile fix(server): properly handle SIGTERM (#3350) 2023-07-21 09:20:04 -05:00
immich-openapi-specs.json Version v1.68.0 2023-07-20 03:06:12 +00:00
jest-e2e.json feat(server): Use Testcontainers for e2e tests (#3202) 2023-07-11 16:54:44 -05:00
LICENSE feat(docker) revert ubuntu base image (#863) 2022-10-25 14:18:37 -05:00
nest-cli.json refactor(server)*: tsconfigs (#2689) 2023-06-08 10:01:07 -05:00
openapitools.json chore(server): update openapi (#2205) 2023-04-08 21:26:09 -05:00
package-lock.json Version v1.68.0 2023-07-20 03:06:12 +00:00
package.json Version v1.68.0 2023-07-20 03:06:12 +00:00
start-microservices.sh refactor(server)*: tsconfigs (#2689) 2023-06-08 10:01:07 -05:00
start-server.sh refactor(server)*: tsconfigs (#2689) 2023-06-08 10:01:07 -05:00
start.sh Update start.sh (#3282) 2023-07-15 10:30:52 -05:00
tsconfig.build.json fix: exclude e2e format (#3250) 2023-07-13 21:41:16 -05:00
tsconfig.json feat(web,server): add thumbhash support (#2649) 2023-06-17 22:22:31 -05:00