Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some Exif info lost when upload with android phone #13188

Closed
1 of 3 tasks
charlieshen7 opened this issue Oct 4, 2024 · 5 comments
Closed
1 of 3 tasks

Some Exif info lost when upload with android phone #13188

charlieshen7 opened this issue Oct 4, 2024 · 5 comments

Comments

@charlieshen7
Copy link

charlieshen7 commented Oct 4, 2024

The bug

The same photo
when I upload it with my andriod phone (app version is 1.117.0), some exif info will lost, such as Make, Model, ModifyDate,Focal Length etc.
but if i upload it with web, exif info will not lost

how can i fix this problem?
the_photo_in_my_phone.zip
the_photo_uploaded_with_android_phone_then_download_in_web.zip

The OS that Immich Server is running on

docker

Version of Immich Server

1.117.0

Version of Immich Mobile App

1.117.0

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

version: "3.8"

name: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/hardware-transcoding
      file: hwaccel.transcoding.yml 
      service: vaapi # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    volumes:
      - /mnt/media_rw/5cda1ac3-58fe-4df5-97f6-6eb0aa662c51/.ugreen_nas/214558/1_Pictures/Immich:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      - /mnt/media_rw/5cda1ac3-58fe-4df5-97f6-6eb0aa662c51/.ugreen_nas/214558/1_Pictures/Archive:/mnt/archive
    env_file:
      - stack.env
    ports:
      - 2283:3001
    depends_on:
      - redis
      - database
    restart: always
    healthcheck:
      disable: false
    networks:
      network:
        ipv4_address: 172.24.0.5


  immich-machine-learning:
    container_name: immich_machine_learning
    # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag.
    # Example tag: ${IMMICH_VERSION:-release}-cuda
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
      # file: hwaccel.ml.yml
      # service: openvino # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable
    volumes:
      - /mnt/media_rw/e68d7880-8c05-493e-8b92-b956aebeac0c/.ugreen_nas/214558/Docker/Immich/model-cache:/cache
    env_file:
      - stack.env
    restart: always
    healthcheck:
      disable: false
    networks:
      network:
        ipv4_address: 172.24.0.3

  redis:
    container_name: immich_redis
    image: docker.io/redis:6.2-alpine@sha256:e3b17ba9479deec4b7d1eeec1548a253acc5374d68d3b27937fcfe4df8d18c7e
    restart: always
    healthcheck:
      test: redis-cli ping || exit 1
    networks:
      network:
        ipv4_address: 172.24.0.4

  database:
    container_name: immich_postgres
    image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
    volumes:
      - /mnt/media_rw/e68d7880-8c05-493e-8b92-b956aebeac0c/.ugreen_nas/214558/Docker/Immich/pgdata:/var/lib/postgresql/data
    healthcheck:
      test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1
      interval: 5m
      start_interval: 30s
      start_period: 5m
    command: ["postgres", "-c", "shared_preload_libraries=vectors.so", "-c", 'search_path="$$user", public, vectors', "-c", "logging_collector=on", "-c", "max_wal_size=2GB", "-c", "shared_buffers=512MB", "-c", "wal_compression=on"]
    restart: always
    networks:
      network:
        ipv4_address: 172.24.0.6

networks:
  network:
    ipam:
      config:
      - subnet: 172.24.0.0/16
        gateway: 172.24.0.1

Your .env content

DB_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_PASSWORD=H4#Xhgti7%FoCQ
DB_DATABASE_NAME=immich
REDIS_HOSTNAME=immich_redis
UPLOAD_LOCATION=/mnt/media_rw/5cda1ac3-58fe-4df5-97f6-6eb0aa662c51/.ugreen_nas/214558/Pictures/Immich
LOG_LEVEL=log
TYPESENSE_API_KEY=QCkiTy*f*fCNJ6iU7cr3q@bmf67bgtX#uec9B
PUBLIC_LOGIN_PAGE_MESSAGE="My Family Photos and Videos Backup Server"

Reproduction steps

  1. open the_photo_in_my_phone.jpg directly in pc, you can see full exif info
  2. upload it with andriod phone, most exif info lost (you can download it and check the exif info)

Relevant log output

No response

Additional information

No response

@bo0tzz
Copy link
Member

bo0tzz commented Oct 4, 2024

What phone do you have? Some phones are known for removing gps metadata if Immich doesn't have Location permissions, but I've never heard about other metadata being removed.

@charlieshen7
Copy link
Author

What phone do you have? Some phones are known for removing gps metadata if Immich doesn't have Location permissions, but I've never heard about other metadata being removed.你有什么电话?如果 Immich 没有位置权限,某些手机会删除 GPS 元数据,但我从未听说过其他元数据被删除。

Meizu 21 pro, This is a Chinese brand phone, I'm not sure what impact the local hardware will have on the upload process. The EXIF ​​information of these photos can be read normally in the photo album that comes with the mobile phone system.

@mmomjian
Copy link
Contributor

mmomjian commented Oct 4, 2024

Immich uploads files completely untouched, so if data is missing, it’s most likely being stripped by the phone before/when Immich can access the file.

@charlieshen7
Copy link
Author

Immich uploads files completely untouched, so if data is missing, it’s most likely being stripped by the phone before/when Immich can access the file.Immich 上传的文件完全不受影响,因此如果数据丢失,很可能在 Immich 可以访问该文件之前/时被手机删除。

Is it because the Immich software on my phone does not have permission to read the exif information? I don’t know where this permission should be managed. The system shows that the read permission for photos and videos is already turned on.

@charlieshen7
Copy link
Author

I know the reason.
There is a privacy protection function in the mobile phone that will erase the exif related information when the application reads it, causing the information to be lost when uploading.
After turning off this function, everything is normal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants