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

There is an issue with the live photo. #14745

Open
2 of 3 tasks
pyccl opened this issue Dec 17, 2024 · 10 comments
Open
2 of 3 tasks

There is an issue with the live photo. #14745

pyccl opened this issue Dec 17, 2024 · 10 comments

Comments

@pyccl
Copy link
Contributor

pyccl commented Dec 17, 2024

The bug

There are few live photos in my immich, about 10 or so, some of which are Android and some are iOS. After updating the system, live photos can only display regular photos and will not show the "play" button. The metadata needs to be refreshed again to play properly. However, live photos in the IOS system cannot be played normally and can only display regular photos (IOS uploads source files).And the GPS information of live photos can be displayed on the map, but the text information on the map is not displayed.

image
image

The OS that Immich Server is running on

Windows 11 DockerDesktop V4.37.0

Version of Immich Server

v1.122.3

Version of Immich Mobile App

v1.122.3

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

#
# 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: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends:
    #   file: hwaccel.transcoding.yml
    #   service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    volumes:
      # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      - "E:/My photo:/mnt/media/myphoto"
    env_file:
      - .env
    ports:
      - '2283:2283'
    depends_on:
      - redis
      - database
    restart: always
    healthcheck:
      disable: false

  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: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable
    volumes:
      - model-cache:/cache
     # - "E:/immich/cache:/cache"
    env_file:
      - .env
    restart: always
    healthcheck:
      disable: false

  redis:
    container_name: immich_redis
    image: m.daocloud.io/docker.io/redis:6.2-alpine@sha256:eaba718fecd1196d88533de7ba49bf903ad33664a92debb24660a922ecd9cac8
    healthcheck:
      test: redis-cli ping || exit 1
    restart: always

  database:
    container_name: immich_postgres
    image: m.daocloud.io/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:
      # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
      #- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
      - pgdata:/var/lib/postgresql/data
    ports:
      - 5432:5432
    healthcheck:
      test: >-
        pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1;
        Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --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

volumes:
  model-cache:
  pgdata:

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=./library
# The location where your database files are stored
DB_DATA_LOCATION=./postgres

# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
TZ=Asia/Shanghai

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

# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=postgres

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

Reproduction steps

...

Relevant log output

No response

Additional information

No response

@pyccl
Copy link
Contributor Author

pyccl commented Dec 17, 2024

The first image is a live image from the IOS system, and refreshing metadata does not display the live photo. The second image is a live photo on the Android system. If the metadata is not refreshed, the live photo will not be displayed. After refreshing the metadata, the live photo will be displayed, but the GPS location will not be shown. Only the map will be displayed.

@alextran1502
Copy link
Contributor

How was the LivePhotos from iPhone uploaded? From the web or the mobile app?

@pyccl
Copy link
Contributor Author

pyccl commented Dec 17, 2024

How was the LivePhotos from iPhone uploaded? From the web or the mobile app?

My computer opened an http service, and IOS opened this http service and uploaded it directly. Does it have anything to do with this? That's how I uploaded my Android. No problem.

@alextran1502
Copy link
Contributor

Does it have anything to do with this?

I am trying to identify where is the cause of the issue. Since LivePhotos comes in 2 parts and MotionPhotos has the motion part embedded in the image.

And the photo IMG_1370 can be viewed as LivePhotos on the mobile app?

@pyccl
Copy link
Contributor Author

pyccl commented Dec 18, 2024

Does it have anything to do with this?

I am trying to identify where is the cause of the issue. Since LivePhotos comes in 2 parts and MotionPhotos has the motion part embedded in the image.

And the photo IMG_1370 can be viewed as LivePhotos on the mobile app?

Img_1370 This live photo cannot be displayed in the mobile app (Android app), and it is also displayed as a static photo. Because I don't have an ios phone, I can't test whether it is normal in the ios mobile app.

@alextran1502
Copy link
Contributor

How can you determine IMG_1370 is a LivePhoto?

@pyccl
Copy link
Contributor Author

pyccl commented Dec 19, 2024

VID_20241219_174138.mp4

How can you determine IMG_1370 is a LivePhoto?

@pyccl
Copy link
Contributor Author

pyccl commented Dec 19, 2024

How can you determine IMG_1370 is a LivePhoto?

IOS mobile phone can display live photos normally when it is synchronized to immich by using immich app, and it has also been viewed in the folder uploaded by immich, which is exactly the same as the file uploaded by http service before (size, format, etc.). I tried to copy the synchronized file to the external gallery folder, and only static photos can be displayed after rescanning. Now it has been confirmed that only those who use the app to synchronize to immich can display live normally, but those who upload it themselves cannot.

@alextran1502
Copy link
Contributor

@pyccl LivePhotos comes in two parts, a still image and a motion video. When uploading LivePhotos from the Immich mobile app, it uploads both files and the server links them together based on the metadata provided in the files' EXIF.

If you uploading the files manually and only upload the image part, it will shown only as an image

@pyccl
Copy link
Contributor Author

pyccl commented Dec 20, 2024

@pyccl LivePhotos comes in two parts, a still image and a motion video. When uploading LivePhotos from the Immich mobile app, it uploads both files and the server links them together based on the metadata provided in the files' EXIF.

If you uploading the files manually and only upload the image part, it will shown only as an image

Where is the video file uploaded? It seems that I didn't find the video file in the folder, only the picture file. There is another, where is the video file of ios live photos? Can I upload it myself?

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

2 participants