Google Pixel RAW/JPEG are not recognised as a stack of images #2843

Closed
opened 2026-02-05 07:06:33 +03:00 by OVERLORD · 0 comments
Owner

Originally created by @Sdaniele on GitHub (Apr 10, 2024).

The bug

Google does not make it particularly easy for third-party apps to recognise a stack of images. My Google Pixel 6 stores JPEG and RAW in this unorthodox naming convention:

PXL_20240407_152207242.RAW-01.COVER.jpg
PXL_20240407_152207242.RAW-02.ORIGINAL.dng

A general solution might be to allow a user to formulate a regular expression or string pattern to identify the stack of images. The list of patterns could grow over time, so all users would benefit. To make it user-friendly, you could specify the part that is not common (if you remove it, you would get duplicated names). In my example, that would be:

["-01.COVER.jpg","-02.ORIGINAL.dng"]

You could have more than two strings specifying a collection or stack of images.

The OS that Immich Server is running on

Docker

Version of Immich Server

v1.99.0

Version of Immich Mobile App

1.101.0 build.131

Platform with the issue

  • Server
  • Web
  • Mobile

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

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
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    ports:
      - 2283:3001
    depends_on:
      - redis
      - database
    restart: always

  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
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    depends_on:
      - redis
      - database
    restart: always

  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

  redis:
    container_name: immich_redis
    image: redis:6.2-alpine@sha256:b6124ab2e45cc332e16398022a411d7e37181f21ff7874835e0180f56a09e82a
    restart: always

  database:
    container_name: immich_postgres
    image: tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
      #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

volumes:
  pgdata:
  model-cache:

Your .env content

nothing special here

Reproduction steps

- get your Hand on a Google Pixel Phone
- set it to shoot raw and jpeg
- shot a picture 
- install immicht android app

-> see that the image appears twice in the timeline

I have uploaded a stack of images here so it is easier to reproduce:
https://www.swisstransfer.com/d/17567b00-561c-42c2-9a54-400fe0bd9f1d

Additional information

No response

Originally created by @Sdaniele on GitHub (Apr 10, 2024). ### The bug Google does not make it particularly easy for third-party apps to recognise a stack of images. My Google Pixel 6 stores JPEG and RAW in this unorthodox naming convention: PXL_20240407_152207242.RAW-01.COVER.jpg PXL_20240407_152207242.RAW-02.ORIGINAL.dng A general solution might be to allow a user to formulate a regular expression or string pattern to identify the stack of images. The list of patterns could grow over time, so all users would benefit. To make it user-friendly, you could specify the part that is not common (if you remove it, you would get duplicated names). In my example, that would be: `["-01.COVER.jpg","-02.ORIGINAL.dng"]` You could have more than two strings specifying a collection or stack of images. ### The OS that Immich Server is running on Docker ### Version of Immich Server v1.99.0 ### Version of Immich Mobile App 1.101.0 build.131 ### Platform with the issue - [X] Server - [X] Web - [X] Mobile ### Your docker-compose.yml content ```YAML 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: immich 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 - /etc/localtime:/etc/localtime:ro env_file: - .env ports: - 2283:3001 depends_on: - redis - database restart: always 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 - /etc/localtime:/etc/localtime:ro env_file: - .env depends_on: - redis - database restart: always 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 redis: container_name: immich_redis image: redis:6.2-alpine@sha256:b6124ab2e45cc332e16398022a411d7e37181f21ff7874835e0180f56a09e82a restart: always database: container_name: immich_postgres image: tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 #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 volumes: pgdata: model-cache: ``` ### Your .env content ```Shell nothing special here ``` ### Reproduction steps ```bash - get your Hand on a Google Pixel Phone - set it to shoot raw and jpeg - shot a picture - install immicht android app -> see that the image appears twice in the timeline I have uploaded a stack of images here so it is easier to reproduce: https://www.swisstransfer.com/d/17567b00-561c-42c2-9a54-400fe0bd9f1d ``` ### Additional information _No response_
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#2843