immich-app / immich

High performance self-hosted photo and video management solution.
https://immich.app
GNU Affero General Public License v3.0
47.25k stars 2.39k forks source link

[BUG] In the iOS app, the metadata of the backed up file is different. #5818

Open paijjang opened 9 months ago

paijjang commented 9 months ago

The bug

It was written with a translator, so the language is awkward. I apologize in advance. I am currently using immich as Docker on Synology. I think immich is the best photo backup server and program I've ever used. However, i have one problem. I don't know if this is a bug or not, so I'm leaving it as a discussion section. (In this case, the same symptoms appear in synology photos app backup and immich app backup, which I have currently tested) In the case of portrait photos or cinematic videos backed up with immich ios app, delete the original video from the iPhone, re-download it as iOS Photos from immich, and run it. Then, the menu for turning portrait mode on and off, which was possible in the original version, will not work. Cinematic video is also only capable of HDR, and the unique functions of cinematics (focus change, etc.) do not work. However, after backing up with an app called photosync (third party), adding it to the immich server, downloading it through immich and running it in iOS Photos, editing that was possible in the original (turning on or off portrait mode, editing cinematic video) was possible. . So, when comparing the actual exif metadata, something was confirmed to be different. (In the photosync file, there is an additional item called Region) I would like to ask if immich can also include this information when backing up photos. If this information is added, I think it will be more convenient to use immich.

Differences in exif metadata (syntax that only exists in files backed up with photosync)

Region Area Y : 0.36199999999999999 Region Area W : 0.11299999999999999 Region Area X : 0.42749999999999994 Region Area H : 0.15799999999999997 Region Area Unit : normalized Region Type : Focus Region Extensions : Region Applied To Dimensions H : 3024 Region Applied To Dimensions W : 4032 Region Applied To Dimensions Unit: pixel

metafile... IMG_6629.HEIC.backup_for_immich.TXT IMG_6629.HEIC.backup_for_photosync.TXT

The OS that Immich Server is running on

Synology 7.1.1-42962 update 6.(uname -a result : Linux RANSER-NAS-BOX 3.10.108 #42962 SMP Mon May 29 14:36:28 CST 2023 x86_64 GNU/Linux synology_avoton_1815+)

Version of Immich Server

v1.90.2

Version of Immich Mobile App

v1.90.2

Platform with the issue

Your docker-compose.yml content

version: "3.8"

#
# WARNING: Make sure to use the docker-compose.yml of the current release:
#
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
#
# The compose file on main may not be compatible with the latest release.
#

name: tmimmich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: [ "start.sh", "immich" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - ${RAWDATA_LOCATION}:/usr/src/app/upload/library
      - /etc/localtime:/etc/localtime:ro
      - ${EXTERNAL_LOCATION}:/mnt/media/old_photo
    env_file:
      - .env
    ports:
      - 2283:3001
    depends_on:
      - redis
      - database
      - typesense
    restart: always
    networks:
      TMBRIDGE:
        ipv4_address: 172.18.1.101

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends:
    #   file: hwaccel.yml
    #   service: hwaccel
    command: [ "start.sh", "microservices" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - ${RAWDATA_LOCATION}:/usr/src/app/upload/library
      - /etc/localtime:/etc/localtime:ro
      - ${EXTERNAL_LOCATION}:/mnt/media/old_photo
    env_file:
      - .env
    depends_on:
      - redis
      - database
      - typesense
    restart: always
    networks:
      TMBRIDGE:
        ipv4_address: 172.18.1.102

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    restart: always
    networks:
      TMBRIDGE:
        ipv4_address: 172.18.1.103

  typesense:
    container_name: immich_typesense
    image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
    environment:
      - TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
      - TYPESENSE_DATA_DIR=/data
      # remove this to get debug messages
      - GLOG_minloglevel=1
    volumes:
      - tsdata:/data
    restart: always
    networks:
      TMBRIDGE:
        ipv4_address: 172.18.1.104

  redis:
    container_name: immich_redis
    image: redis:6.2-alpine@sha256:80cc8518800438c684a53ed829c621c94afd1087aaeb59b0d4343ed3e7bcf6c5
    restart: always
    networks:
      TMBRIDGE:
        ipv4_address: 172.18.1.105

  database:
    container_name: immich_postgres
    image: postgres:14-alpine@sha256:50d9be76e9a90da4c781554955e0ffc79d9d5c4226838e64b36aacc97cbc35ad
    env_file:
      - .env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: always
    networks:
      TMBRIDGE:
        ipv4_address: 172.18.1.106

volumes:
  pgdata:
  model-cache:
  tsdata:

networks:
  TMBRIDGE:
    external: true

Your .env content

# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables

# The location where your uploaded files are stored
UPLOAD_LOCATION=./data
RAWDATA_LOCATION=/volume2/TMPHOTO/immich-photofile
EXTERNAL_LOCATION=/volume2/homes/TM/newphotos

# The Immich version to use. You can pin this to a specific
IMMICH_VERSION=release

# Connection secrets for postgres and typesense. You should change these to random passwords
#TYPESENSE_API_KEY=REMOVE
DB_PASSWORD=REMOVE

# The values below this line do not need to be changed
###################################################################################
DB_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

REDIS_HOSTNAME=immich_redis

Reproduction steps

1. (IN IOS APP) backup to "newfolder" album by immich or synology photos app (= by portrait picture)
2. (IN IOS APP) backup to "newfolder" album by (= by portrait picture)
2-1. upload backup picture(by photosync backup) to immich web
3. download pictures(immich or synology photos backup, and photosync app backup)
4. save the metadata by exiftool(https://exiftool.org/)
   exiftool(-k).exe picname.HEIC > picname.HEIC.txt
5. merge two file metadata..

Additional information

No response

alextran1502 commented 9 months ago

I think this is the limitation of the library that we use i.e photo_manager about retrieving original data for Portrait mode

stealthmode404 commented 5 days ago

Any idea if this will be fixed soon?