Server crash on ffmpeg error while processing thumbnail of video #5528

Open
opened 2026-02-05 11:32:18 +03:00 by OVERLORD · 20 comments
Owner

Originally created by @radqnico on GitHub (Mar 3, 2025).

I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.

  • Yes

The bug

I think this is similar to past issues but the problem seems to be still there.
I have ran into a blocking issue with certain pictures or videos.
I am running Immich on docker, on a Alta Libre Computer board.
The server crashes when trying to process a certain video, it exits while generating the thumbnails. it happened with a video and some DNG pictures.

I believe it's a live picture that was exported wrongly from the phone, the files look like this in the galley:

Image

The OS that Immich Server is running on

Debian 12

Version of Immich Server

1.128.0

Version of Immich Mobile App

1.127.0 build.185

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

services:
  immich-server:
    container_name: immich-server
    image: ghcr.io/immich-app/immich-server:release
    volumes:
      - /mnt/nas/immich:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    environment:
      REDIS_HOSTNAME: immich-redis
      DB_HOSTNAME: immich-database
      DB_USERNAME: immich
      DB_PASSWORD: immich
      TZ: Europe/Rome
      IMMICH_PROCESS_INVALID_IMAGES: true
    depends_on:
      - immich-redis
      - immich-database
    restart: "unless-stopped"
    ports:
      - 2283:2283

  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:release
    volumes:
      - model-cache:/cache
    restart: "unless-stopped"

  immich-redis:
    container_name: immich-redis
    image: redis:6.2-alpine
    healthcheck:
      test: redis-cli ping || exit 1
    restart: "unless-stopped"

  immich-database:
    container_name: immich-postgres
    image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0
    environment:
      POSTGRES_PASSWORD: immich
      POSTGRES_USER: immich
      POSTGRES_DB: immich
      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
      - ./immich/postgres:/var/lib/postgresql/data
    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: "unless-stopped"

volumes:
  model-cache:

Your .env content

empty

Reproduction steps

  1. Upload the video attached

https://github.com/user-attachments/assets/21a61768-6acb-4931-925c-509eef56315a

  1. See immediately the errors
  2. If didn't crash, try to generate the thumbnail of that video.
    ...

Relevant log output

immich-server  | [Nest] 7  - 03/03/2025, 7:38:22 PM   ERROR [Microservices:MediaRepository] ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 the FFmpeg developers
immich-server  |   built with gcc 12 (Debian 12.2.0-14)
immich-server  |   configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disab-enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --emp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enaefix=/usr/bin/aarch64-linux-gnu- --toolchain=hardened --enable-cross-compile --enable-rkmpp --enable-rkrga
immich-server  |   libavutil      59.  8.100 / 59.  8.100
immich-server  |   libavcodec     61.  3.100 / 61.  3.100
immich-server  |   libavformat    61.  1.100 / 61.  1.100
immich-server  |   libavdevice    61.  1.100 / 61.  1.100
immich-server  |   libavfilter    10.  1.100 / 10.  1.100
immich-server  |   libswscale      8.  1.100 /  8.  1.100
immich-server  |   libswresample   5.  1.100 /  5.  1.100
immich-server  |   libpostproc    58.  1.100 / 58.  1.100
immich-server  | [mov,mp4,m4a,3gp,3g2,mj2 @ 0x5770e180180] All samples in data stream index:id [2:3] have zero duration, stream set to be discarded by default. Override using AVStream->discard
immich-server  | [h264 @ 0x5770e1b0500] Reinit context to 640x480, pix_fmt: yuvj420p
immich-server  | [h264 @ 0x5770e1b0c00] Reinit context to 2048x1536, pix_fmt: yuv420p
immich-server  | Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/library/admin/2021/12/29/MVIMG_20211229_130119.MP4':
immich-server  |   Metadata:
immich-server  |     major_brand     : mp42
immich-server  |     minor_version   : 0
immich-server  |     compatible_brands: isommp42
immich-server  |     creation_time   : 2021-12-29T12:01:27.000000Z
immich-server  |     com.android.version: 11
immich-server  |   Duration: 00:00:01.56, start: 0.000000, bitrate: 12433 kb/s
immich-server  |   Stream #0:0[0x1](eng): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuvj420p(pc, smpte170m, progressive, left), 640x480, 11296 kb/s, SAR 1:1 DAR 4:3, 17.26 fps
immich-server  |       Metadata:
immich-server  |         creation_time   : 2021-12-29T12:01:27.000000Z
immich-server  |         handler_name    : VideoHandle
immich-server  |         vendor_id       : [0][0][0][0]
immich-server  |   Stream #0:1[0x2](eng): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt470bg/smpte170m, progressive, left), 2048x1536, 3109 kb/s, SAR 1:1
immich-server  |       Metadata:
immich-server  |         creation_time   : 2021-12-29T12:01:27.000000Z
immich-server  |         handler_name    : VideoHandle
immich-server  |         vendor_id       : [0][0][0][0]
immich-server  |   Stream #0:2[0x3](eng): Data: none (mett / 0x7474656D) (default)
immich-server  |       Metadata:
immich-server  |         creation_time   : 2021-12-29T12:01:27.000000Z
immich-server  |         handler_name    : MetadHandle
immich-server  | [out#0/webp @ 0x5770e1c0fc0] No explicit maps, mapping streams automatically...
immich-server  | [vost#0:0/libwebp_anim @ 0x5770e1d0780] Created video stream from input stream 0:1
immich-server  | [Parsed_thumbnail_1 @ 0x5770e1c0540] batch size: 12 frames
immich-server  | [Parsed_scale_5 @ 0x5770e1c0780] w:-2 h:200 flags:'lanczos+accurate_rnd+full_chroma_int' interl:0
immich-server  | [Parsed_fps_0 @ 0x5770e1c09c0] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated.
immich-server  | Stream mapping:
immich-server  |   Stream #0:1 -> #0:0 (h264 (native) -> webp (libwebp_anim))
immich-server  | [vost#0:0/libwebp_anim @ 0x5770e1d0780] Starting thread...
immich-server  | [vf#0:0 @ 0x5770e127980] Starting thread...
immich-server  | [vist#0:1/h264 @ 0x5770e050a80] [dec:h264 @ 0x5770e1907c0] Starting thread...
immich-server  | [in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5770e080380] Starting thread...
immich-server  | Press [q] to stop, [?] for help
immich-server  | [in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5770e080380] EOF while reading input
immich-server  | [in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5770e080380] Terminating thread with return code 0 (success)
immich-server  | [vist#0:1/h264 @ 0x5770e050a80] [dec:h264 @ 0x5770e1907c0] Decoder thread received EOF packet
immich-server  | [h264 @ 0x5770e1b2100] Reinit context to 2048x1536, pix_fmt: yuv420p
immich-server  | [vist#0:1/h264 @ 0x5770e050a80] [dec:h264 @ 0x5770e1907c0] Decoder returned EOF, finishing
immich-server  | [vist#0:1/h264 @ 0x5770e050a80] [dec:h264 @ 0x5770e1907c0] Terminating thread with return code 0 (success)
immich-server  | [Parsed_thumbnail_1 @ 0x577120b0600] batch size: 12 frames
immich-server  | [Parsed_scale_5 @ 0x577120b0900] w:-2 h:200 flags:'lanczos+accurate_rnd+full_chroma_int' interl:0
immich-server  | [graph 0 input from stream 0:1 @ 0x577120b09c0] w:2048 h:1536 pixfmt:yuv420p tb:1/90000 fr:0/1 sar:1/1 csp:smpte170m range:tv
immich-server  | [Parsed_fps_0 @ 0x577120b0480] fps=12/1
immich-server  | [Parsed_scale_5 @ 0x577120b0900] w:2048 h:1536 fmt:yuv420p csp:smpte170m range:tv sar:1/1 -> w:266 h:200 fmt:yuv420p csp:smpte170m range:pc sar:400/399 flags:0x00042200
immich-server  | [vf#0:0 @ 0x5770e127980] Filtergraph returned EOF, finishing
immich-server  | [vf#0:0 @ 0x5770e127980] All consumers returned EOF
immich-server  | [vost#0:0/libwebp_anim @ 0x5770e1d0780] No filtered frames for output stream, trying to initialize anyway.
immich-server  | Output #0, webp, to 'upload/thumbs/f76925c0-a163-47da-9bc5-cd82e47cca94/78/cd/78cdb0ab-fe5f-4288-a2c4-cbed374e6949-thumbnail.webp':
immich-server  |   Metadata:
immich-server  |     major_brand     : mp42
immich-server  |     minor_version   : 0
immich-server  |     compatible_brands: isommp42
immich-server  |     com.android.version: 11
immich-server  |     encoder         : Lavf61.1.100
immich-server  |   Stream #0:0(eng): Video: webp, 1 reference frame, yuv420p(progressive), 266x200 [SAR 400:399 DAR 4:3], q=2-31, 200 kb/s, 12 fps, 1k tbn (default)
immich-server  |       Metadata:
immich-server  |         creation_time   : 2021-12-29T12:01:27.000000Z
immich-server  |         handler_name    : VideoHandle
immich-server  |         vendor_id       : [0][0][0][0]
immich-server  |         encoder         : Lavc61.3.100 libwebp_anim
immich-server  | [out#0/webp @ 0x5770e1c0fc0] Starting thread...
immich-server  | [Parsed_fps_0 @ 0x577120b0480] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated.
immich-server  | [vost#0:0/libwebp_anim @ 0x5770e1d0780] Encoder thread received EOF
immich-server  | [libwebp encoder @ 0x5770e170420] WebPAnimEncoderAssemble() failed with error: 1
immich-server  | [vost#0:0/libwebp_anim @ 0x5770e1d0780] Error submitting video frame to the encoder
immich-server  | [vost#0:0/libwebp_anim @ 0x5770e1d0780] Error flushing encoder: Cannot allocate memory
immich-server  | [vost#0:0/libwebp_anim @ 0x5770e1d0780] Task finished with error code: -12 (Cannot allocate memory)
immich-server  | [vost#0:0/libwebp_anim @ 0x5770e1d0780] Terminating thread with return code -12 (Cannot allocate memory)
immich-server  | [vf#0:0 @ 0x5770e127980] Terminating thread with return code 0 (success)
immich-server  | [out#0/webp @ 0x5770e1c0fc0] All streams finished
immich-server  | [out#0/webp @ 0x5770e1c0fc0] Terminating thread with return code 0 (success)
immich-server  | [AVIOContext @ 0x5770e190540] Statistics: 0 bytes written, 0 seeks, 0 writeouts
immich-server  | [out#0/webp @ 0x5770e1c0fc0] Output file #0 (upload/thumbs/f76925c0-a163-47da-9bc5-cd82e47cca94/78/cd/78cdb0ab-fe5f-4288-a2c4-cbed374e6949-thumbnail.webp):
immich-server  | [out#0/webp @ 0x5770e1c0fc0]   Output stream #0:0 (video): 0 frames encoded; 0 packets muxed (0 bytes);
immich-server  | [out#0/webp @ 0x5770e1c0fc0]   Total: 0 packets (0 bytes) muxed
immich-server  | [out#0/webp @ 0x5770e1c0fc0] video:0KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
immich-server  | [out#0/webp @ 0x5770e1c0fc0] Output file is empty, nothing was encoded(check -ss / -t / -frames parameters if used)
immich-server  | frame=    0 fps=0.0 q=0.0 Lsize=       0KiB time=N/A bitrate=N/A speed=N/A
immich-server  | [in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5770e080380] Input file #0 (upload/library/admin/2021/12/29/MVIMG_20211229_130119.MP4):
immich-server  | [in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5770e080380]   Input stream #0:1 (video): 1 packets read (207056 bytes); 0 frames decoded; 0 decode errors;
immich-server  | [in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5770e080380]   Total: 1 packets (207056 bytes) demuxed
immich-server  | [AVIOContext @ 0x5770e190180] Statistics: 2431588 bytes read, 0 seeks
immich-server  | Conversion failed!
immich-server  |
immich-server  | [Nest] 7  - 03/03/2025, 7:38:22 PM   ERROR [Microservices:{"id":"78cdb0ab-fe5f-4288-a2c4-cbed374e6949"}] Unable to run job handler (thumbnailGeneration/generate-thumbnails): E
immich-server  |
immich-server  | Error: ffmpeg exited with code 244: Conversion failed!
immich-server  |
immich-server  |     at ChildProcess.<anonymous> (/usr/src/app/node_modules/fluent-ffmpeg/lib/processor.js:180:22)
immich-server  |     at ChildProcess.emit (node:events:524:28)
immich-server  |     at ChildProcess._handle.onexit (node:internal/child_process:293:12)
immich-server exited with code 0

Additional information

No response

Originally created by @radqnico on GitHub (Mar 3, 2025). ### I have searched the existing issues, both open and closed, to make sure this is not a duplicate report. - [x] Yes ### The bug I think this is similar to past issues but the problem seems to be still there. I have ran into a blocking issue with certain pictures or videos. I am running Immich on docker, on a Alta Libre Computer board. The server crashes when trying to process a certain video, it exits while generating the thumbnails. it happened with a video and some DNG pictures. I believe it's a live picture that was exported wrongly from the phone, the files look like this in the galley: ![Image](https://github.com/user-attachments/assets/57984e2a-3682-49b6-b9ac-c36286c60dcd) ### The OS that Immich Server is running on Debian 12 ### Version of Immich Server 1.128.0 ### Version of Immich Mobile App 1.127.0 build.185 ### Platform with the issue - [x] Server - [ ] Web - [ ] Mobile ### Your docker-compose.yml content ```YAML services: immich-server: container_name: immich-server image: ghcr.io/immich-app/immich-server:release volumes: - /mnt/nas/immich:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro environment: REDIS_HOSTNAME: immich-redis DB_HOSTNAME: immich-database DB_USERNAME: immich DB_PASSWORD: immich TZ: Europe/Rome IMMICH_PROCESS_INVALID_IMAGES: true depends_on: - immich-redis - immich-database restart: "unless-stopped" ports: - 2283:2283 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:release volumes: - model-cache:/cache restart: "unless-stopped" immich-redis: container_name: immich-redis image: redis:6.2-alpine healthcheck: test: redis-cli ping || exit 1 restart: "unless-stopped" immich-database: container_name: immich-postgres image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0 environment: POSTGRES_PASSWORD: immich POSTGRES_USER: immich POSTGRES_DB: immich 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 - ./immich/postgres:/var/lib/postgresql/data 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: "unless-stopped" volumes: model-cache: ``` ### Your .env content ```Shell empty ``` ### Reproduction steps 1. Upload the video attached https://github.com/user-attachments/assets/21a61768-6acb-4931-925c-509eef56315a 2. See immediately the errors 3. If didn't crash, try to generate the thumbnail of that video. ... ### Relevant log output ```shell immich-server | [Nest] 7 - 03/03/2025, 7:38:22 PM ERROR [Microservices:MediaRepository] ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 the FFmpeg developers immich-server | built with gcc 12 (Debian 12.2.0-14) immich-server | configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disab-enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --emp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enaefix=/usr/bin/aarch64-linux-gnu- --toolchain=hardened --enable-cross-compile --enable-rkmpp --enable-rkrga immich-server | libavutil 59. 8.100 / 59. 8.100 immich-server | libavcodec 61. 3.100 / 61. 3.100 immich-server | libavformat 61. 1.100 / 61. 1.100 immich-server | libavdevice 61. 1.100 / 61. 1.100 immich-server | libavfilter 10. 1.100 / 10. 1.100 immich-server | libswscale 8. 1.100 / 8. 1.100 immich-server | libswresample 5. 1.100 / 5. 1.100 immich-server | libpostproc 58. 1.100 / 58. 1.100 immich-server | [mov,mp4,m4a,3gp,3g2,mj2 @ 0x5770e180180] All samples in data stream index:id [2:3] have zero duration, stream set to be discarded by default. Override using AVStream->discard immich-server | [h264 @ 0x5770e1b0500] Reinit context to 640x480, pix_fmt: yuvj420p immich-server | [h264 @ 0x5770e1b0c00] Reinit context to 2048x1536, pix_fmt: yuv420p immich-server | Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/library/admin/2021/12/29/MVIMG_20211229_130119.MP4': immich-server | Metadata: immich-server | major_brand : mp42 immich-server | minor_version : 0 immich-server | compatible_brands: isommp42 immich-server | creation_time : 2021-12-29T12:01:27.000000Z immich-server | com.android.version: 11 immich-server | Duration: 00:00:01.56, start: 0.000000, bitrate: 12433 kb/s immich-server | Stream #0:0[0x1](eng): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuvj420p(pc, smpte170m, progressive, left), 640x480, 11296 kb/s, SAR 1:1 DAR 4:3, 17.26 fps immich-server | Metadata: immich-server | creation_time : 2021-12-29T12:01:27.000000Z immich-server | handler_name : VideoHandle immich-server | vendor_id : [0][0][0][0] immich-server | Stream #0:1[0x2](eng): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt470bg/smpte170m, progressive, left), 2048x1536, 3109 kb/s, SAR 1:1 immich-server | Metadata: immich-server | creation_time : 2021-12-29T12:01:27.000000Z immich-server | handler_name : VideoHandle immich-server | vendor_id : [0][0][0][0] immich-server | Stream #0:2[0x3](eng): Data: none (mett / 0x7474656D) (default) immich-server | Metadata: immich-server | creation_time : 2021-12-29T12:01:27.000000Z immich-server | handler_name : MetadHandle immich-server | [out#0/webp @ 0x5770e1c0fc0] No explicit maps, mapping streams automatically... immich-server | [vost#0:0/libwebp_anim @ 0x5770e1d0780] Created video stream from input stream 0:1 immich-server | [Parsed_thumbnail_1 @ 0x5770e1c0540] batch size: 12 frames immich-server | [Parsed_scale_5 @ 0x5770e1c0780] w:-2 h:200 flags:'lanczos+accurate_rnd+full_chroma_int' interl:0 immich-server | [Parsed_fps_0 @ 0x5770e1c09c0] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated. immich-server | Stream mapping: immich-server | Stream #0:1 -> #0:0 (h264 (native) -> webp (libwebp_anim)) immich-server | [vost#0:0/libwebp_anim @ 0x5770e1d0780] Starting thread... immich-server | [vf#0:0 @ 0x5770e127980] Starting thread... immich-server | [vist#0:1/h264 @ 0x5770e050a80] [dec:h264 @ 0x5770e1907c0] Starting thread... immich-server | [in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5770e080380] Starting thread... immich-server | Press [q] to stop, [?] for help immich-server | [in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5770e080380] EOF while reading input immich-server | [in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5770e080380] Terminating thread with return code 0 (success) immich-server | [vist#0:1/h264 @ 0x5770e050a80] [dec:h264 @ 0x5770e1907c0] Decoder thread received EOF packet immich-server | [h264 @ 0x5770e1b2100] Reinit context to 2048x1536, pix_fmt: yuv420p immich-server | [vist#0:1/h264 @ 0x5770e050a80] [dec:h264 @ 0x5770e1907c0] Decoder returned EOF, finishing immich-server | [vist#0:1/h264 @ 0x5770e050a80] [dec:h264 @ 0x5770e1907c0] Terminating thread with return code 0 (success) immich-server | [Parsed_thumbnail_1 @ 0x577120b0600] batch size: 12 frames immich-server | [Parsed_scale_5 @ 0x577120b0900] w:-2 h:200 flags:'lanczos+accurate_rnd+full_chroma_int' interl:0 immich-server | [graph 0 input from stream 0:1 @ 0x577120b09c0] w:2048 h:1536 pixfmt:yuv420p tb:1/90000 fr:0/1 sar:1/1 csp:smpte170m range:tv immich-server | [Parsed_fps_0 @ 0x577120b0480] fps=12/1 immich-server | [Parsed_scale_5 @ 0x577120b0900] w:2048 h:1536 fmt:yuv420p csp:smpte170m range:tv sar:1/1 -> w:266 h:200 fmt:yuv420p csp:smpte170m range:pc sar:400/399 flags:0x00042200 immich-server | [vf#0:0 @ 0x5770e127980] Filtergraph returned EOF, finishing immich-server | [vf#0:0 @ 0x5770e127980] All consumers returned EOF immich-server | [vost#0:0/libwebp_anim @ 0x5770e1d0780] No filtered frames for output stream, trying to initialize anyway. immich-server | Output #0, webp, to 'upload/thumbs/f76925c0-a163-47da-9bc5-cd82e47cca94/78/cd/78cdb0ab-fe5f-4288-a2c4-cbed374e6949-thumbnail.webp': immich-server | Metadata: immich-server | major_brand : mp42 immich-server | minor_version : 0 immich-server | compatible_brands: isommp42 immich-server | com.android.version: 11 immich-server | encoder : Lavf61.1.100 immich-server | Stream #0:0(eng): Video: webp, 1 reference frame, yuv420p(progressive), 266x200 [SAR 400:399 DAR 4:3], q=2-31, 200 kb/s, 12 fps, 1k tbn (default) immich-server | Metadata: immich-server | creation_time : 2021-12-29T12:01:27.000000Z immich-server | handler_name : VideoHandle immich-server | vendor_id : [0][0][0][0] immich-server | encoder : Lavc61.3.100 libwebp_anim immich-server | [out#0/webp @ 0x5770e1c0fc0] Starting thread... immich-server | [Parsed_fps_0 @ 0x577120b0480] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated. immich-server | [vost#0:0/libwebp_anim @ 0x5770e1d0780] Encoder thread received EOF immich-server | [libwebp encoder @ 0x5770e170420] WebPAnimEncoderAssemble() failed with error: 1 immich-server | [vost#0:0/libwebp_anim @ 0x5770e1d0780] Error submitting video frame to the encoder immich-server | [vost#0:0/libwebp_anim @ 0x5770e1d0780] Error flushing encoder: Cannot allocate memory immich-server | [vost#0:0/libwebp_anim @ 0x5770e1d0780] Task finished with error code: -12 (Cannot allocate memory) immich-server | [vost#0:0/libwebp_anim @ 0x5770e1d0780] Terminating thread with return code -12 (Cannot allocate memory) immich-server | [vf#0:0 @ 0x5770e127980] Terminating thread with return code 0 (success) immich-server | [out#0/webp @ 0x5770e1c0fc0] All streams finished immich-server | [out#0/webp @ 0x5770e1c0fc0] Terminating thread with return code 0 (success) immich-server | [AVIOContext @ 0x5770e190540] Statistics: 0 bytes written, 0 seeks, 0 writeouts immich-server | [out#0/webp @ 0x5770e1c0fc0] Output file #0 (upload/thumbs/f76925c0-a163-47da-9bc5-cd82e47cca94/78/cd/78cdb0ab-fe5f-4288-a2c4-cbed374e6949-thumbnail.webp): immich-server | [out#0/webp @ 0x5770e1c0fc0] Output stream #0:0 (video): 0 frames encoded; 0 packets muxed (0 bytes); immich-server | [out#0/webp @ 0x5770e1c0fc0] Total: 0 packets (0 bytes) muxed immich-server | [out#0/webp @ 0x5770e1c0fc0] video:0KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown immich-server | [out#0/webp @ 0x5770e1c0fc0] Output file is empty, nothing was encoded(check -ss / -t / -frames parameters if used) immich-server | frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A immich-server | [in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5770e080380] Input file #0 (upload/library/admin/2021/12/29/MVIMG_20211229_130119.MP4): immich-server | [in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5770e080380] Input stream #0:1 (video): 1 packets read (207056 bytes); 0 frames decoded; 0 decode errors; immich-server | [in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5770e080380] Total: 1 packets (207056 bytes) demuxed immich-server | [AVIOContext @ 0x5770e190180] Statistics: 2431588 bytes read, 0 seeks immich-server | Conversion failed! immich-server | immich-server | [Nest] 7 - 03/03/2025, 7:38:22 PM ERROR [Microservices:{"id":"78cdb0ab-fe5f-4288-a2c4-cbed374e6949"}] Unable to run job handler (thumbnailGeneration/generate-thumbnails): E immich-server | immich-server | Error: ffmpeg exited with code 244: Conversion failed! immich-server | immich-server | at ChildProcess.<anonymous> (/usr/src/app/node_modules/fluent-ffmpeg/lib/processor.js:180:22) immich-server | at ChildProcess.emit (node:events:524:28) immich-server | at ChildProcess._handle.onexit (node:internal/child_process:293:12) immich-server exited with code 0 ``` ### Additional information _No response_
Author
Owner

@wnhre2ur8cxx8 commented on GitHub (Mar 26, 2025):

I have the same issue

@wnhre2ur8cxx8 commented on GitHub (Mar 26, 2025): I have the same issue
Author
Owner

@NightHawk0999 commented on GitHub (Mar 27, 2025):

Same here

@NightHawk0999 commented on GitHub (Mar 27, 2025): Same here
Author
Owner

@Michael7711 commented on GitHub (Mar 31, 2025):

smae here

@Michael7711 commented on GitHub (Mar 31, 2025): smae here
Author
Owner

@haroldfinch69 commented on GitHub (Apr 3, 2025):

As my issue was shut down, is anything extra required to debug/help fix this?

@haroldfinch69 commented on GitHub (Apr 3, 2025): As my issue was shut down, is anything extra required to debug/help fix this?
Author
Owner

@haroldfinch69 commented on GitHub (Apr 5, 2025):

Is there any progress with this? Immich is unusable while this issue exists!

@haroldfinch69 commented on GitHub (Apr 5, 2025): Is there any progress with this? Immich is unusable while this issue exists!
Author
Owner

@alextran1502 commented on GitHub (Apr 5, 2025):

@haroldfinch69 is everything regarding transcoding settings and job concurrency are default on your instance? What is the hardware you are running on and if you are using hardware acceleration?

@alextran1502 commented on GitHub (Apr 5, 2025): @haroldfinch69 is everything regarding transcoding settings and job concurrency are default on your instance? What is the hardware you are running on and if you are using hardware acceleration?
Author
Owner

@haroldfinch69 commented on GitHub (Apr 5, 2025):

This was working fine until two releases ago. The settings haven't changed during that period. This issue only seems to occur with motion photos, other non motion photos upload and display fine.

Screen shots of the the settings are below

Image

Image

Image

Image

Image

Thanks for your help and the great app (current issues aside!).

@haroldfinch69 commented on GitHub (Apr 5, 2025): This was working fine until two releases ago. The settings haven't changed during that period. This issue only seems to occur with motion photos, other non motion photos upload and display fine. Screen shots of the the settings are below ![Image](https://github.com/user-attachments/assets/f8ae4385-d555-4450-be71-7335cf25f608) ![Image](https://github.com/user-attachments/assets/01e2292d-5a47-4446-b09f-88fbe8676fd8) ![Image](https://github.com/user-attachments/assets/501d744a-ec13-4ec8-a952-7b950d83bb50) ![Image](https://github.com/user-attachments/assets/e2458604-8099-49be-b91e-1063afe88bbd) ![Image](https://github.com/user-attachments/assets/4121add3-6cb9-4f19-a0a7-7b93e0069202) Thanks for your help and the great app (current issues aside!).
Author
Owner

@alextran1502 commented on GitHub (Apr 5, 2025):

@haroldfinch69 is everything regarding transcoding settings and job concurrency are default on your instance? What is the hardware you are running on and if you are using hardware acceleration?

Can you change to the default settings for them and try again?

@alextran1502 commented on GitHub (Apr 5, 2025): @haroldfinch69 is everything regarding transcoding settings and job concurrency are default on your instance? What is the hardware you are running on and if you are using hardware acceleration? Can you change to the default settings for them and try again?
Author
Owner

@haroldfinch69 commented on GitHub (Apr 5, 2025):

As per the above screen shots, no hardware encoding. The browser is Chrome Version 134.0.6998.165 and the hardware info is:

Image

Is there a config json file on the repo that I can use to reset the settings. The reset button only takes it to the last saved set:

Image

@haroldfinch69 commented on GitHub (Apr 5, 2025): As per the above screen shots, no hardware encoding. The browser is Chrome Version 134.0.6998.165 and the hardware info is: ![Image](https://github.com/user-attachments/assets/169b2c0c-8de7-4f79-bd11-ef281119f978) Is there a config json file on the repo that I can use to reset the settings. The reset button only takes it to the last saved set: ![Image](https://github.com/user-attachments/assets/4c0f7c11-6106-4c5b-a072-120cdd795825)
Author
Owner

@alextran1502 commented on GitHub (Apr 5, 2025):

Hey @haroldfinch69, there should be the default setting and the bottom of the form on the left, let me know if you can reset it and try transcoding again

@alextran1502 commented on GitHub (Apr 5, 2025): Hey @haroldfinch69, there should be the default setting and the bottom of the form on the left, let me know if you can reset it and try transcoding again
Author
Owner

@haroldfinch69 commented on GitHub (Apr 5, 2025):

In the transcoding section I don't have a reset to default option!

Does that mean it's already at the default settings?

@haroldfinch69 commented on GitHub (Apr 5, 2025): In the transcoding section I don't have a reset to default option! Does that mean it's already at the default settings?
Author
Owner

@alextran1502 commented on GitHub (Apr 5, 2025):

@haroldfinch69 Okay, next step: can you provide a sample file that caused the crash? Are you also on the latest version?

@alextran1502 commented on GitHub (Apr 5, 2025): @haroldfinch69 Okay, next step: can you provide a sample file that caused the crash? Are you also on the latest version?
Author
Owner

@haroldfinch69 commented on GitHub (Apr 6, 2025):

Here's a file: https://drive.google.com/file/d/1cin8CK3ugSulzzPREkHGKIMCVWA6cNr2/view?usp=sharing
Excuse the contents, it's about the only one I have recently that isn't personally identifable!

Here's the logs from the upload and attempt to access the file:

[Nest] 17  - 04/06/2025, 1:37:22 AM VERBOSE [Api:LoggingInterceptor~s24ybguu] {"deviceAssetId":"web-PXL_20250329_060349647.MP.jpg-1743228231000","deviceId":"WEB","fileCreatedAt":"2025-03-29T06:03:51.000Z","fileModifiedAt":"2025-03-29T06:03:51.000Z","isFavorite":"false","duration":"0:00:00.000000"}
[Nest] 7  - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Exif Tags
[Nest] 7  - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Object(143) {
  SourceFile: '/usr/src/app/upload/upload/e0919551-fb0d-41f1-8f32-e3c4bb209d26/a5/c3/a5c3b3db-41cb-41e0-9394-45144b4e86eb.jpg',
  errors: [],
  tz: 'UTC+8',
  tzSource: 'OffsetTime',
  Orientation: 1,
  FocalLength: 2.23,
  FileSize: 3978034,
  ExifToolVersion: 13,
  FileName: 'a5c3b3db-41cb-41e0-9394-45144b4e86eb.jpg',
  Directory: '/usr/src/app/upload/upload/e0919551-fb0d-41f1-8f32-e3c4bb209d26/a5/c3',
  FileModifyDate: ExifDateTime {
    year: 2025,
    month: 3,
    day: 29,
    hour: 14,
    minute: 3,
    second: 51,
    millisecond: undefined,
    tzoffsetMinutes: 480,
    rawValue: '2025:03:29 14:03:51+08:00',
    zoneName: 'UTC+8',
    inferredZone: false,
    zone: 'UTC+8'
  },
  FileAccessDate: ExifDateTime {
    year: 2025,
    month: 4,
    day: 6,
    hour: 9,
    minute: 37,
    second: 22,
    millisecond: undefined,
    tzoffsetMinutes: 480,
    rawValue: '2025:04:06 09:37:22+08:00',
    zoneName: 'UTC+8',
    inferredZone: false,
    zone: 'UTC+8'
  },
  FileInodeChangeDate: ExifDateTime {
    year: 2025,
    month: 4,
    day: 6,
    hour: 9,
    minute: 37,
    second: 22,
    millisecond: undefined,
    tzoffsetMinutes: 480,
    rawValue: '2025:04:06 09:37:22+08:00',
    zoneName: 'UTC+8',
    inferredZone: false,
    zone: 'UTC+8'
  },
  FilePermissions: '-rwxrwxrwx',
  FileType: 'JPEG',
  FileTypeExtension: 'jpg',
  MIMEType: 'image/jpeg',
  ExifByteOrder: 'Little-endian (Intel, II)',
  Make: 'Google',
  Model: 'Pixel 8 Pro',
  XResolution: 72,
  YResolution: 72,
  ResolutionUnit: 'inches',
  Software: 'HDR+ 1.0.734407124zd',
  YCbCrPositioning: 'Centered',
  ExposureTime: '1/210',
  FNumber: 1.9,
  ExposureProgram: 'Program AE',
  ISO: 269,
  ExifVersion: '0232',
  OffsetTime: '+08:00',
  OffsetTimeOriginal: '+08:00',
  OffsetTimeDigitized: '+08:00',
  ComponentsConfiguration: 'Y, Cb, Cr, -',
  ShutterSpeedValue: '1/211',
  ApertureValue: 2,
  BrightnessValue: 3.22,
  ExposureCompensation: 0,
  MaxApertureValue: 2,
  SubjectDistance: '0.218 m',
  MeteringMode: 'Center-weighted average',
  Flash: 'Off, Did not fire',
  SubSecTime: 647,
  SubSecTimeOriginal: 647,
  SubSecTimeDigitized: 647,
  FlashpixVersion: '0100',
  ColorSpace: 'sRGB',
  ExifImageWidth: 4080,
  ExifImageHeight: 3072,
  InteropIndex: 'R98 - DCF basic file (sRGB)',
  InteropVersion: '0100',
  SensingMethod: 'One-chip color area',
  SceneType: 'Directly photographed',
  CustomRendered: 'Custom',
  ExposureMode: 'Auto',
  WhiteBalance: 'Auto',
  DigitalZoomRatio: 2.01,
  FocalLengthIn35mmFormat: '12 mm',
  SceneCaptureType: 'Standard',
  Contrast: 'Normal',
  Saturation: 'Normal',
  Sharpness: 'Normal',
  SubjectDistanceRange: 'Macro',
  LensMake: 'Google',
  LensModel: 'Pixel 8 Pro back camera 2.23mm f/1.95',
  CompositeImage: 'Composite Image Captured While Shooting',
  GPSVersionID: '2.2.0.0',
  GPSImgDirectionRef: 'Magnetic North',
  GPSImgDirection: 116,
  Compression: 'JPEG (old-style)',
  ThumbnailOffset: 1128,
  ThumbnailLength: 32079,
  ProfileCMMType: '',
  ProfileVersion: '4.0.0',
  ProfileClass: 'Display Device Profile',
  ColorSpaceData: 'RGB ',
  ProfileConnectionSpace: 'XYZ ',
  ProfileDateTime: ExifDateTime {
    year: 2023,
    month: 3,
    day: 9,
    hour: 10,
    minute: 57,
    second: 0,
    millisecond: undefined,
    tzoffsetMinutes: 480,
    rawValue: '2023:03:09 10:57:00',
    zoneName: 'UTC+8',
    inferredZone: true,
    zone: 'UTC+8'
  },
  ProfileFileSignature: 'acsp',
  PrimaryPlatform: 'Unknown ()',
  CMMFlags: 'Not Embedded, Independent',
  DeviceManufacturer: 'Google',
  DeviceModel: '',
  DeviceAttributes: 'Reflective, Glossy, Positive, Color',
  RenderingIntent: 'Perceptual',
  ConnectionSpaceIlluminant: '0.9642 1 0.82491',
  ProfileCreator: 'Google',
  ProfileID: '61473528d5aaa311e143dfc93efaa268',
  ProfileDescription: 'sRGB IEC61966-2.1',
  ProfileCopyright: 'Copyright (c) 2023 Google Inc.',
  MediaWhitePoint: '0.9642 1 0.82491',
  MediaBlackPoint: '0 0 0',
  RedMatrixColumn: '0.43604 0.22249 0.01392',
  GreenMatrixColumn: '0.38512 0.7169 0.09706',
  BlueMatrixColumn: '0.14305 0.06061 0.71391',
  RedTRC: BinaryField {
    bytes: 32,
    rawValue: '(Binary data 32 bytes, use -b option to extract)'
  },
  ChromaticAdaptation: '1.04788 0.02292 -0.05019 0.02959 0.99048 -0.01704 -0.00922 0.01508 0.75168',
  BlueTRC: BinaryField {
    bytes: 32,
    rawValue: '(Binary data 32 bytes, use -b option to extract)'
  },
  GreenTRC: BinaryField {
    bytes: 32,
    rawValue: '(Binary data 32 bytes, use -b option to extract)'
  },
  XMPToolkit: 'Adobe XMP Core 5.1.0-jc003',
  Version: 1,
  HasExtendedXMP: '27433D52349468C5E340AF5FD6EACE60',
  MotionPhoto: 1,
  MotionPhotoVersion: 1,
  MotionPhotoPresentationTimestampUs: 1207941,
  ContainerDirectory: [
    {
      Item: {
        Mime: 'image/jpeg',
        Semantic: 'Primary'
      }
    },
    {
      Item: {
        Length: 9560,
        Mime: 'image/jpeg',
        Semantic: 'GainMap'
      }
    },
    {
      Item: {
        Length: 1859781,
        Mime: 'video/mp4',
        Padding: 0,
        Semantic: 'MotionPhoto'
      }
    }
  ],
  MPFVersion: '0100',
  NumberOfImages: 2,
  MPImageFlags: '(none)',
  MPImageFormat: 'JPEG',
  MPImageType: 'Undefined',
  MPImageLength: 9560,
  MPImageStart: 2108693,
  DependentImage1EntryNumber: 0,
  DependentImage2EntryNumber: 0,
  ImageWidth: 4080,
  ImageHeight: 3072,
  EncodingProcess: 'Baseline DCT, Huffman coding',
  BitsPerSample: 8,
  ColorComponents: 3,
  YCbCrSubSampling: 'YCbCr4:2:0 (2 2)',
  HdrPlusMakernote: BinaryField {
    bytes: 48227,
    rawValue: '(Binary data 48227 bytes, use -b option to extract)'
  },
  Aperture: 1.9,
  ImageSize: '4080x3072',
  Megapixels: 12.5,
  ScaleFactor35efl: 5.4,
  ShutterSpeed: '1/210',
  SubSecCreateDate: ExifDateTime {
    year: 2025,
    month: 3,
    day: 29,
    hour: 14,
    minute: 3,
    second: 49,
    millisecond: 647,
    tzoffsetMinutes: 480,
    rawValue: '2025:03:29 14:03:49.647+08:00',
    zoneName: 'UTC+8',
    inferredZone: false,
    zone: 'UTC+8'
  },
  SubSecDateTimeOriginal: ExifDateTime {
    year: 2025,
    month: 3,
    day: 29,
    hour: 14,
    minute: 3,
    second: 49,
    millisecond: 647,
    tzoffsetMinutes: 480,
    rawValue: '2025:03:29 14:03:49.647+08:00',
    zoneName: 'UTC+8',
    inferredZone: false,
    zone: 'UTC+8'
  },
  SubSecModifyDate: ExifDateTime {
    year: 2025,
    month: 3,
    day: 29,
    hour: 14,
    minute: 3,
    second: 49,
    millisecond: 647,
    tzoffsetMinutes: 480,
    rawValue: '2025:03:29 14:03:49.647+08:00',
    zoneName: 'UTC+8',
    inferredZone: false,
    zone: 'UTC+8'
  },
  ThumbnailImage: BinaryField {
    bytes: 32079,
    rawValue: '(Binary data 32079 bytes, use -b option to extract)'
  },
  MPImage2: BinaryField {
    bytes: 9560,
    rawValue: '(Binary data 9560 bytes, use -b option to extract)'
  },
  CreateDate: ExifDateTime {
    year: 2025,
    month: 3,
    day: 29,
    hour: 14,
    minute: 3,
    second: 49,
    millisecond: 647,
    tzoffsetMinutes: 480,
    rawValue: '2025:03:29 14:03:49.647+08:00',
    zoneName: 'UTC+8',
    inferredZone: false,
    zone: 'UTC+8'
  },
  DateTimeOriginal: ExifDateTime {
    year: 2025,
    month: 3,
    day: 29,
    hour: 14,
    minute: 3,
    second: 49,
    millisecond: 647,
    tzoffsetMinutes: 480,
    rawValue: '2025:03:29 14:03:49.647+08:00',
    zoneName: 'UTC+8',
    inferredZone: false,
    zone: 'UTC+8'
  },
  ModifyDate: ExifDateTime {
    year: 2025,
    month: 3,
    day: 29,
    hour: 14,
    minute: 3,
    second: 49,
    millisecond: 647,
    tzoffsetMinutes: 480,
    rawValue: '2025:03:29 14:03:49.647+08:00',
    zoneName: 'UTC+8',
    inferredZone: false,
    zone: 'UTC+8'
  },
  CircleOfConfusion: '0.006 mm',
  DOF: '0.27 m (0.15 - 0.41 m)',
  FOV: '112.6 deg',
  FocalLength35efl: '2.2 mm (35 mm equivalent: 12.0 mm)',
  HyperfocalDistance: '0.46 m',
  LightValue: 8.2,
  LensID: 'Pixel 8 Pro back camera 2.23mm f/1.95',
  warnings: []
}
[Nest] 7  - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Date and time is 2025-03-29T14:03:49.647+08:00 for asset ade22bea-b2ef-4d96-8857-9d3e5365667d: upload/upload/e0919551-fb0d-41f1-8f32-e3c4bb209d26/a5/c3/a5c3b3db-41cb-41e0-9394-45144b4e86eb.jpg
[Nest] 7  - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Found timezone UTC+8 via OffsetTime for asset ade22bea-b2ef-4d96-8857-9d3e5365667d: upload/upload/e0919551-fb0d-41f1-8f32-e3c4bb209d26/a5/c3/a5c3b3db-41cb-41e0-9394-45144b4e86eb.jpg
[Nest] 7  - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Found local date time 2025-03-29T14:03:49.647Z for asset ade22bea-b2ef-4d96-8857-9d3e5365667d: upload/upload/e0919551-fb0d-41f1-8f32-e3c4bb209d26/a5/c3/a5c3b3db-41cb-41e0-9394-45144b4e86eb.jpg
[Nest] 7  - 04/06/2025, 1:37:22 AM   DEBUG [Microservices:MetadataService] Starting motion photo video extraction for asset ade22bea-b2ef-4d96-8857-9d3e5365667d: upload/upload/e0919551-fb0d-41f1-8f32-e3c4bb209d26/a5/c3/a5c3b3db-41cb-41e0-9394-45144b4e86eb.jpg
[Nest] 7  - 04/06/2025, 1:37:22 AM     LOG [Microservices:MetadataService] Wrote motion photo video to upload/encoded-video/e0919551-fb0d-41f1-8f32-e3c4bb209d26/fd/1b/fd1bb91f-dd28-4cab-b1b4-00b70d9eb312-MP.mp4
[Nest] 7  - 04/06/2025, 1:37:22 AM   DEBUG [Microservices:MetadataService] Finished motion photo video extraction for asset ade22bea-b2ef-4d96-8857-9d3e5365667d: upload/upload/e0919551-fb0d-41f1-8f32-e3c4bb209d26/a5/c3/a5c3b3db-41cb-41e0-9394-45144b4e86eb.jpg
[Nest] 7  - 04/06/2025, 1:37:22 AM   DEBUG [Microservices:ApiKeyService] Attempting to rename file: upload/upload/e0919551-fb0d-41f1-8f32-e3c4bb209d26/a5/c3/a5c3b3db-41cb-41e0-9394-45144b4e86eb.jpg => upload/library/admin/2025/2025-03-29/PXL_20250329_060349647.MP.jpg
[Nest] 7  - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Exif Tags
[Nest] 7  - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Object(76) {
  SourceFile: '/usr/src/app/upload/encoded-video/e0919551-fb0d-41f1-8f32-e3c4bb209d26/fd/1b/fd1bb91f-dd28-4cab-b1b4-00b70d9eb312-MP.mp4',
  errors: [],
  tz: 'UTC',
  tzSource: 'defaultVideosToUTC',
  PreviewDuration: 0,
  SelectionDuration: 0,
  TrackDuration: 1.2501,
  MediaDuration: 0,
  FileSize: 1859781,
  ExifToolVersion: 13,
  FileName: 'fd1bb91f-dd28-4cab-b1b4-00b70d9eb312-MP.mp4',
  Directory: '/usr/src/app/upload/encoded-video/e0919551-fb0d-41f1-8f32-e3c4bb209d26/fd/1b',
  FileModifyDate: ExifDateTime {
    year: 2025,
    month: 4,
    day: 6,
    hour: 9,
    minute: 37,
    second: 22,
    millisecond: undefined,
    tzoffsetMinutes: 480,
    rawValue: '2025:04:06 09:37:22+08:00',
    zoneName: 'UTC+8',
    inferredZone: false,
    zone: 'UTC+8'
  },
  FileAccessDate: ExifDateTime {
    year: 2025,
    month: 4,
    day: 6,
    hour: 9,
    minute: 37,
    second: 22,
    millisecond: undefined,
    tzoffsetMinutes: 480,
    rawValue: '2025:04:06 09:37:22+08:00',
    zoneName: 'UTC+8',
    inferredZone: false,
    zone: 'UTC+8'
  },
  FileInodeChangeDate: ExifDateTime {
    year: 2025,
    month: 4,
    day: 6,
    hour: 9,
    minute: 37,
    second: 22,
    millisecond: undefined,
    tzoffsetMinutes: 480,
    rawValue: '2025:04:06 09:37:22+08:00',
    zoneName: 'UTC+8',
    inferredZone: false,
    zone: 'UTC+8'
  },
  FilePermissions: '-rw-r--r--',
  FileType: 'MP4',
  FileTypeExtension: 'mp4',
  MIMEType: 'video/mp4',
  MajorBrand: 'MP4 Base Media v1 [IS0 14496-12:2003]',
  MinorVersion: '2.0.0',
  CompatibleBrands: [
    'isom',
    'iso2',
    'mp41'
  ],
  MediaDataSize: 1857099,
  MediaDataOffset: 44,
  MovieHeaderVersion: 0,
  CreateDate: ExifDateTime {
    year: 2025,
    month: 3,
    day: 29,
    hour: 6,
    minute: 3,
    second: 49,
    millisecond: undefined,
    tzoffsetMinutes: 0,
    rawValue: '2025:03:29 06:03:49',
    zoneName: 'UTC',
    inferredZone: true,
    zone: 'UTC'
  },
  ModifyDate: ExifDateTime {
    year: 2025,
    month: 3,
    day: 29,
    hour: 6,
    minute: 3,
    second: 49,
    millisecond: undefined,
    tzoffsetMinutes: 0,
    rawValue: '2025:03:29 06:03:49',
    zoneName: 'UTC',
    inferredZone: true,
    zone: 'UTC'
  },
  TimeScale: 10000,
  PreferredRate: 1,
  PreferredVolume: '100.00%',
  PreviewTime: '0 s',
  PosterTime: '0 s',
  SelectionTime: '0 s',
  CurrentTime: '0 s',
  NextTrackID: 4,
  AndroidModel: 'Pixel 8 Pro',
  AndroidMake: 'Google',
  TrackHeaderVersion: 0,
  TrackCreateDate: ExifDateTime {
    year: 2025,
    month: 3,
    day: 29,
    hour: 6,
    minute: 3,
    second: 49,
    millisecond: undefined,
    tzoffsetMinutes: 0,
    rawValue: '2025:03:29 06:03:49',
    zoneName: 'UTC',
    inferredZone: true,
    zone: 'UTC'
  },
  TrackModifyDate: ExifDateTime {
    year: 2025,
    month: 3,
    day: 29,
    hour: 6,
    minute: 3,
    second: 49,
    millisecond: undefined,
    tzoffsetMinutes: 0,
    rawValue: '2025:03:29 06:03:49',
    zoneName: 'UTC',
    inferredZone: true,
    zone: 'UTC'
  },
  TrackID: 1,
  TrackLayer: 0,
  TrackVolume: '0.00%',
  ImageWidth: 1344,
  ImageHeight: 1008,
  GraphicsMode: 'srcCopy',
  OpColor: '0 0 0',
  CompressorID: 'hvc1',
  SourceImageWidth: 1344,
  SourceImageHeight: 1008,
  XResolution: 72,
  YResolution: 72,
  BitDepth: 24,
  PixelAspectRatio: '65536:65536',
  ColorProfiles: 'nclx',
  ColorPrimaries: 'BT.709',
  TransferCharacteristics: 'BT.709',
  MatrixCoefficients: 'BT.709',
  VideoFullRangeFlag: 1,
  VideoFrameRate: 24.798,
  MatrixStructure: '1 0 0 0 1 0 0 0 1',
  MediaHeaderVersion: 0,
  MediaCreateDate: ExifDateTime {
    year: 2025,
    month: 3,
    day: 29,
    hour: 6,
    minute: 3,
    second: 49,
    millisecond: undefined,
    tzoffsetMinutes: 0,
    rawValue: '2025:03:29 06:03:49',
    zoneName: 'UTC',
    inferredZone: true,
    zone: 'UTC'
  },
  MediaModifyDate: ExifDateTime {
    year: 2025,
    month: 3,
    day: 29,
    hour: 6,
    minute: 3,
    second: 49,
    millisecond: undefined,
    tzoffsetMinutes: 0,
    rawValue: '2025:03:29 06:03:49',
    zoneName: 'UTC',
    inferredZone: true,
    zone: 'UTC'
  },
  MediaTimeScale: 90000,
  HandlerType: 'NRT Metadata',
  HandlerDescription: 'MetaHandle',
  MetaFormat: 'mett',
  MetaType: 'application/motionphoto-image-meta',
  ImageSize: '1344x1008',
  Megapixels: 1.4,
  AvgBitrate: '11.9 Mbps',
  Rotation: 0,
  warnings: [],
  Orientation: 1,
  Duration: '00:00:01.250'
}
[Nest] 7  - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Date and time is 2025-03-29T06:03:49Z for asset fd1bb91f-dd28-4cab-b1b4-00b70d9eb312: upload/encoded-video/e0919551-fb0d-41f1-8f32-e3c4bb209d26/fd/1b/fd1bb91f-dd28-4cab-b1b4-00b70d9eb312-MP.mp4
[Nest] 7  - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Found timezone UTC via defaultVideosToUTC for asset fd1bb91f-dd28-4cab-b1b4-00b70d9eb312: upload/encoded-video/e0919551-fb0d-41f1-8f32-e3c4bb209d26/fd/1b/fd1bb91f-dd28-4cab-b1b4-00b70d9eb312-MP.mp4
[Nest] 7  - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Found local date time 2025-03-29T06:03:49.000Z for asset fd1bb91f-dd28-4cab-b1b4-00b70d9eb312: upload/encoded-video/e0919551-fb0d-41f1-8f32-e3c4bb209d26/fd/1b/fd1bb91f-dd28-4cab-b1b4-00b70d9eb312-MP.mp4
[Nest] 17  - 04/06/2025, 1:37:25 AM     LOG [Api:EventRepository] Websocket Disconnect: dVsloemvYHHodp5GAAAd
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:LoggingInterceptor] GET /custom.css 200 11.48ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:LoggingInterceptor~688lifrd] GET /api/server/features 200 5.38ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:LoggingInterceptor~4ler0n8p] GET /api/server/config 200 7.55ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:LoggingInterceptor~91iyjmsp] GET /api/users/me 200 23.62ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:LoggingInterceptor~c8ednkuc] GET /api/users/me/preferences 200 24.54ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:LoggingInterceptor~j4xud1xj] GET /api/server/about 200 75.90ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:LoggingInterceptor~dkr97w0k] GET /api/server/storage 200 1.40ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:37:25 AM     LOG [Api:EventRepository] Websocket Connect:    9aQ9e9wbvjblEUQSAAAf
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:LoggingInterceptor~h5ummq6g] GET /api/memories?for=2025-04-06T09%3A37%3A25.404Z 200 21.40ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:LoggingInterceptor~lg8b63s6] GET /api/server/storage 200 9.91ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:LoggingInterceptor~o5vfk6yf] GET /api/server/version-history 200 1.43ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:LoggingInterceptor~11c8mcka] GET /api/timeline/buckets?isArchived=false&size=MONTH&withPartners=true&withStacked=true 200 50.14ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:LoggingInterceptor~3svqwcfw] GET /api/albums 200 77.29ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:LoggingInterceptor~8mfag1wl] GET /api/server/about 200 103.19ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:LoggingInterceptor~it2fyuak] GET /api/assets/fd43a1e3-8d20-45c9-ad1f-8a0458a2f379 200 19.62ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:LoggingInterceptor~f2nnryk7] GET /api/timeline/bucket?isArchived=false&size=MONTH&timeBucket=2025-04-01T00%3A00%3A00.000Z&withPartners=true&withStacked=true 200 25.31ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:LoggingInterceptor~l5kdhzrc] GET /api/timeline/bucket?isArchived=false&size=MONTH&timeBucket=2025-03-01T00%3A00%3A00.000Z&withPartners=true&withStacked=true 200 31.15ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:LoggingInterceptor~wxcpv858] GET /api/server/about 200 88.98ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:LoggingInterceptor~7tmave4j] GET /api/assets/ade22bea-b2ef-4d96-8857-9d3e5365667d/thumbnail?size=thumbnail 200 5.95ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:37:25 AM   DEBUG [Api:GlobalExceptionFilter~7tmave4j] HttpException(404): {"message":"Asset media not found","error":"Not Found","statusCode":404}
[Nest] 17  - 04/06/2025, 1:37:42 AM   DEBUG [Api:LoggingInterceptor~90tlf31k] GET /api/server/ping 200 0.64ms ::ffff:127.0.0.1
[Nest] 17  - 04/06/2025, 1:38:12 AM   DEBUG [Api:LoggingInterceptor~fnei9vd8] GET /api/server/ping 200 0.16ms ::ffff:127.0.0.1
[Nest] 17  - 04/06/2025, 1:38:42 AM   DEBUG [Api:LoggingInterceptor~mlaczq2g] GET /api/server/ping 200 0.15ms ::ffff:127.0.0.1
[Nest] 17  - 04/06/2025, 1:39:12 AM   DEBUG [Api:LoggingInterceptor~3jvr3n9c] GET /api/server/ping 200 0.21ms ::ffff:127.0.0.1
[Nest] 17  - 04/06/2025, 1:39:42 AM   DEBUG [Api:LoggingInterceptor~xbp7d0jt] GET /api/server/ping 200 0.13ms ::ffff:127.0.0.1
[Nest] 17  - 04/06/2025, 1:40:12 AM   DEBUG [Api:LoggingInterceptor~04801vwz] GET /api/server/ping 200 0.23ms ::ffff:127.0.0.1
[Nest] 17  - 04/06/2025, 1:40:36 AM   DEBUG [Api:LoggingInterceptor~8rjms418] GET /api/assets/ade22bea-b2ef-4d96-8857-9d3e5365667d 200 20.08ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:40:36 AM   DEBUG [Api:LoggingInterceptor~vzsh7ug8] GET /api/assets/ade22bea-b2ef-4d96-8857-9d3e5365667d/thumbnail?size=preview&c=IZFMtcbeLfUH%2F%2Fr3AFyS0YoRmBE%3D 200 5.16ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:40:36 AM   DEBUG [Api:GlobalExceptionFilter~vzsh7ug8] HttpException(404): {"message":"Asset media not found","error":"Not Found","statusCode":404}
[Nest] 17  - 04/06/2025, 1:40:36 AM   DEBUG [Api:LoggingInterceptor~7ogj7xca] GET /api/albums?assetId=ade22bea-b2ef-4d96-8857-9d3e5365667d 200 10.82ms ::ffff:192.168.0.33
[Nest] 17  - 04/06/2025, 1:40:36 AM   DEBUG [Api:LoggingInterceptor~z1ju20rr] GET /api/albums?assetId=ade22bea-b2ef-4d96-8857-9d3e5365667d 200 11.97ms ::ffff:192.168.0.33


@haroldfinch69 commented on GitHub (Apr 6, 2025): Here's a file: https://drive.google.com/file/d/1cin8CK3ugSulzzPREkHGKIMCVWA6cNr2/view?usp=sharing Excuse the contents, it's about the only one I have recently that isn't personally identifable! Here's the logs from the upload and attempt to access the file: ``` [Nest] 17 - 04/06/2025, 1:37:22 AM VERBOSE [Api:LoggingInterceptor~s24ybguu] {"deviceAssetId":"web-PXL_20250329_060349647.MP.jpg-1743228231000","deviceId":"WEB","fileCreatedAt":"2025-03-29T06:03:51.000Z","fileModifiedAt":"2025-03-29T06:03:51.000Z","isFavorite":"false","duration":"0:00:00.000000"} [Nest] 7 - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Exif Tags [Nest] 7 - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Object(143) { SourceFile: '/usr/src/app/upload/upload/e0919551-fb0d-41f1-8f32-e3c4bb209d26/a5/c3/a5c3b3db-41cb-41e0-9394-45144b4e86eb.jpg', errors: [], tz: 'UTC+8', tzSource: 'OffsetTime', Orientation: 1, FocalLength: 2.23, FileSize: 3978034, ExifToolVersion: 13, FileName: 'a5c3b3db-41cb-41e0-9394-45144b4e86eb.jpg', Directory: '/usr/src/app/upload/upload/e0919551-fb0d-41f1-8f32-e3c4bb209d26/a5/c3', FileModifyDate: ExifDateTime { year: 2025, month: 3, day: 29, hour: 14, minute: 3, second: 51, millisecond: undefined, tzoffsetMinutes: 480, rawValue: '2025:03:29 14:03:51+08:00', zoneName: 'UTC+8', inferredZone: false, zone: 'UTC+8' }, FileAccessDate: ExifDateTime { year: 2025, month: 4, day: 6, hour: 9, minute: 37, second: 22, millisecond: undefined, tzoffsetMinutes: 480, rawValue: '2025:04:06 09:37:22+08:00', zoneName: 'UTC+8', inferredZone: false, zone: 'UTC+8' }, FileInodeChangeDate: ExifDateTime { year: 2025, month: 4, day: 6, hour: 9, minute: 37, second: 22, millisecond: undefined, tzoffsetMinutes: 480, rawValue: '2025:04:06 09:37:22+08:00', zoneName: 'UTC+8', inferredZone: false, zone: 'UTC+8' }, FilePermissions: '-rwxrwxrwx', FileType: 'JPEG', FileTypeExtension: 'jpg', MIMEType: 'image/jpeg', ExifByteOrder: 'Little-endian (Intel, II)', Make: 'Google', Model: 'Pixel 8 Pro', XResolution: 72, YResolution: 72, ResolutionUnit: 'inches', Software: 'HDR+ 1.0.734407124zd', YCbCrPositioning: 'Centered', ExposureTime: '1/210', FNumber: 1.9, ExposureProgram: 'Program AE', ISO: 269, ExifVersion: '0232', OffsetTime: '+08:00', OffsetTimeOriginal: '+08:00', OffsetTimeDigitized: '+08:00', ComponentsConfiguration: 'Y, Cb, Cr, -', ShutterSpeedValue: '1/211', ApertureValue: 2, BrightnessValue: 3.22, ExposureCompensation: 0, MaxApertureValue: 2, SubjectDistance: '0.218 m', MeteringMode: 'Center-weighted average', Flash: 'Off, Did not fire', SubSecTime: 647, SubSecTimeOriginal: 647, SubSecTimeDigitized: 647, FlashpixVersion: '0100', ColorSpace: 'sRGB', ExifImageWidth: 4080, ExifImageHeight: 3072, InteropIndex: 'R98 - DCF basic file (sRGB)', InteropVersion: '0100', SensingMethod: 'One-chip color area', SceneType: 'Directly photographed', CustomRendered: 'Custom', ExposureMode: 'Auto', WhiteBalance: 'Auto', DigitalZoomRatio: 2.01, FocalLengthIn35mmFormat: '12 mm', SceneCaptureType: 'Standard', Contrast: 'Normal', Saturation: 'Normal', Sharpness: 'Normal', SubjectDistanceRange: 'Macro', LensMake: 'Google', LensModel: 'Pixel 8 Pro back camera 2.23mm f/1.95', CompositeImage: 'Composite Image Captured While Shooting', GPSVersionID: '2.2.0.0', GPSImgDirectionRef: 'Magnetic North', GPSImgDirection: 116, Compression: 'JPEG (old-style)', ThumbnailOffset: 1128, ThumbnailLength: 32079, ProfileCMMType: '', ProfileVersion: '4.0.0', ProfileClass: 'Display Device Profile', ColorSpaceData: 'RGB ', ProfileConnectionSpace: 'XYZ ', ProfileDateTime: ExifDateTime { year: 2023, month: 3, day: 9, hour: 10, minute: 57, second: 0, millisecond: undefined, tzoffsetMinutes: 480, rawValue: '2023:03:09 10:57:00', zoneName: 'UTC+8', inferredZone: true, zone: 'UTC+8' }, ProfileFileSignature: 'acsp', PrimaryPlatform: 'Unknown ()', CMMFlags: 'Not Embedded, Independent', DeviceManufacturer: 'Google', DeviceModel: '', DeviceAttributes: 'Reflective, Glossy, Positive, Color', RenderingIntent: 'Perceptual', ConnectionSpaceIlluminant: '0.9642 1 0.82491', ProfileCreator: 'Google', ProfileID: '61473528d5aaa311e143dfc93efaa268', ProfileDescription: 'sRGB IEC61966-2.1', ProfileCopyright: 'Copyright (c) 2023 Google Inc.', MediaWhitePoint: '0.9642 1 0.82491', MediaBlackPoint: '0 0 0', RedMatrixColumn: '0.43604 0.22249 0.01392', GreenMatrixColumn: '0.38512 0.7169 0.09706', BlueMatrixColumn: '0.14305 0.06061 0.71391', RedTRC: BinaryField { bytes: 32, rawValue: '(Binary data 32 bytes, use -b option to extract)' }, ChromaticAdaptation: '1.04788 0.02292 -0.05019 0.02959 0.99048 -0.01704 -0.00922 0.01508 0.75168', BlueTRC: BinaryField { bytes: 32, rawValue: '(Binary data 32 bytes, use -b option to extract)' }, GreenTRC: BinaryField { bytes: 32, rawValue: '(Binary data 32 bytes, use -b option to extract)' }, XMPToolkit: 'Adobe XMP Core 5.1.0-jc003', Version: 1, HasExtendedXMP: '27433D52349468C5E340AF5FD6EACE60', MotionPhoto: 1, MotionPhotoVersion: 1, MotionPhotoPresentationTimestampUs: 1207941, ContainerDirectory: [ { Item: { Mime: 'image/jpeg', Semantic: 'Primary' } }, { Item: { Length: 9560, Mime: 'image/jpeg', Semantic: 'GainMap' } }, { Item: { Length: 1859781, Mime: 'video/mp4', Padding: 0, Semantic: 'MotionPhoto' } } ], MPFVersion: '0100', NumberOfImages: 2, MPImageFlags: '(none)', MPImageFormat: 'JPEG', MPImageType: 'Undefined', MPImageLength: 9560, MPImageStart: 2108693, DependentImage1EntryNumber: 0, DependentImage2EntryNumber: 0, ImageWidth: 4080, ImageHeight: 3072, EncodingProcess: 'Baseline DCT, Huffman coding', BitsPerSample: 8, ColorComponents: 3, YCbCrSubSampling: 'YCbCr4:2:0 (2 2)', HdrPlusMakernote: BinaryField { bytes: 48227, rawValue: '(Binary data 48227 bytes, use -b option to extract)' }, Aperture: 1.9, ImageSize: '4080x3072', Megapixels: 12.5, ScaleFactor35efl: 5.4, ShutterSpeed: '1/210', SubSecCreateDate: ExifDateTime { year: 2025, month: 3, day: 29, hour: 14, minute: 3, second: 49, millisecond: 647, tzoffsetMinutes: 480, rawValue: '2025:03:29 14:03:49.647+08:00', zoneName: 'UTC+8', inferredZone: false, zone: 'UTC+8' }, SubSecDateTimeOriginal: ExifDateTime { year: 2025, month: 3, day: 29, hour: 14, minute: 3, second: 49, millisecond: 647, tzoffsetMinutes: 480, rawValue: '2025:03:29 14:03:49.647+08:00', zoneName: 'UTC+8', inferredZone: false, zone: 'UTC+8' }, SubSecModifyDate: ExifDateTime { year: 2025, month: 3, day: 29, hour: 14, minute: 3, second: 49, millisecond: 647, tzoffsetMinutes: 480, rawValue: '2025:03:29 14:03:49.647+08:00', zoneName: 'UTC+8', inferredZone: false, zone: 'UTC+8' }, ThumbnailImage: BinaryField { bytes: 32079, rawValue: '(Binary data 32079 bytes, use -b option to extract)' }, MPImage2: BinaryField { bytes: 9560, rawValue: '(Binary data 9560 bytes, use -b option to extract)' }, CreateDate: ExifDateTime { year: 2025, month: 3, day: 29, hour: 14, minute: 3, second: 49, millisecond: 647, tzoffsetMinutes: 480, rawValue: '2025:03:29 14:03:49.647+08:00', zoneName: 'UTC+8', inferredZone: false, zone: 'UTC+8' }, DateTimeOriginal: ExifDateTime { year: 2025, month: 3, day: 29, hour: 14, minute: 3, second: 49, millisecond: 647, tzoffsetMinutes: 480, rawValue: '2025:03:29 14:03:49.647+08:00', zoneName: 'UTC+8', inferredZone: false, zone: 'UTC+8' }, ModifyDate: ExifDateTime { year: 2025, month: 3, day: 29, hour: 14, minute: 3, second: 49, millisecond: 647, tzoffsetMinutes: 480, rawValue: '2025:03:29 14:03:49.647+08:00', zoneName: 'UTC+8', inferredZone: false, zone: 'UTC+8' }, CircleOfConfusion: '0.006 mm', DOF: '0.27 m (0.15 - 0.41 m)', FOV: '112.6 deg', FocalLength35efl: '2.2 mm (35 mm equivalent: 12.0 mm)', HyperfocalDistance: '0.46 m', LightValue: 8.2, LensID: 'Pixel 8 Pro back camera 2.23mm f/1.95', warnings: [] } [Nest] 7 - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Date and time is 2025-03-29T14:03:49.647+08:00 for asset ade22bea-b2ef-4d96-8857-9d3e5365667d: upload/upload/e0919551-fb0d-41f1-8f32-e3c4bb209d26/a5/c3/a5c3b3db-41cb-41e0-9394-45144b4e86eb.jpg [Nest] 7 - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Found timezone UTC+8 via OffsetTime for asset ade22bea-b2ef-4d96-8857-9d3e5365667d: upload/upload/e0919551-fb0d-41f1-8f32-e3c4bb209d26/a5/c3/a5c3b3db-41cb-41e0-9394-45144b4e86eb.jpg [Nest] 7 - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Found local date time 2025-03-29T14:03:49.647Z for asset ade22bea-b2ef-4d96-8857-9d3e5365667d: upload/upload/e0919551-fb0d-41f1-8f32-e3c4bb209d26/a5/c3/a5c3b3db-41cb-41e0-9394-45144b4e86eb.jpg [Nest] 7 - 04/06/2025, 1:37:22 AM DEBUG [Microservices:MetadataService] Starting motion photo video extraction for asset ade22bea-b2ef-4d96-8857-9d3e5365667d: upload/upload/e0919551-fb0d-41f1-8f32-e3c4bb209d26/a5/c3/a5c3b3db-41cb-41e0-9394-45144b4e86eb.jpg [Nest] 7 - 04/06/2025, 1:37:22 AM LOG [Microservices:MetadataService] Wrote motion photo video to upload/encoded-video/e0919551-fb0d-41f1-8f32-e3c4bb209d26/fd/1b/fd1bb91f-dd28-4cab-b1b4-00b70d9eb312-MP.mp4 [Nest] 7 - 04/06/2025, 1:37:22 AM DEBUG [Microservices:MetadataService] Finished motion photo video extraction for asset ade22bea-b2ef-4d96-8857-9d3e5365667d: upload/upload/e0919551-fb0d-41f1-8f32-e3c4bb209d26/a5/c3/a5c3b3db-41cb-41e0-9394-45144b4e86eb.jpg [Nest] 7 - 04/06/2025, 1:37:22 AM DEBUG [Microservices:ApiKeyService] Attempting to rename file: upload/upload/e0919551-fb0d-41f1-8f32-e3c4bb209d26/a5/c3/a5c3b3db-41cb-41e0-9394-45144b4e86eb.jpg => upload/library/admin/2025/2025-03-29/PXL_20250329_060349647.MP.jpg [Nest] 7 - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Exif Tags [Nest] 7 - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Object(76) { SourceFile: '/usr/src/app/upload/encoded-video/e0919551-fb0d-41f1-8f32-e3c4bb209d26/fd/1b/fd1bb91f-dd28-4cab-b1b4-00b70d9eb312-MP.mp4', errors: [], tz: 'UTC', tzSource: 'defaultVideosToUTC', PreviewDuration: 0, SelectionDuration: 0, TrackDuration: 1.2501, MediaDuration: 0, FileSize: 1859781, ExifToolVersion: 13, FileName: 'fd1bb91f-dd28-4cab-b1b4-00b70d9eb312-MP.mp4', Directory: '/usr/src/app/upload/encoded-video/e0919551-fb0d-41f1-8f32-e3c4bb209d26/fd/1b', FileModifyDate: ExifDateTime { year: 2025, month: 4, day: 6, hour: 9, minute: 37, second: 22, millisecond: undefined, tzoffsetMinutes: 480, rawValue: '2025:04:06 09:37:22+08:00', zoneName: 'UTC+8', inferredZone: false, zone: 'UTC+8' }, FileAccessDate: ExifDateTime { year: 2025, month: 4, day: 6, hour: 9, minute: 37, second: 22, millisecond: undefined, tzoffsetMinutes: 480, rawValue: '2025:04:06 09:37:22+08:00', zoneName: 'UTC+8', inferredZone: false, zone: 'UTC+8' }, FileInodeChangeDate: ExifDateTime { year: 2025, month: 4, day: 6, hour: 9, minute: 37, second: 22, millisecond: undefined, tzoffsetMinutes: 480, rawValue: '2025:04:06 09:37:22+08:00', zoneName: 'UTC+8', inferredZone: false, zone: 'UTC+8' }, FilePermissions: '-rw-r--r--', FileType: 'MP4', FileTypeExtension: 'mp4', MIMEType: 'video/mp4', MajorBrand: 'MP4 Base Media v1 [IS0 14496-12:2003]', MinorVersion: '2.0.0', CompatibleBrands: [ 'isom', 'iso2', 'mp41' ], MediaDataSize: 1857099, MediaDataOffset: 44, MovieHeaderVersion: 0, CreateDate: ExifDateTime { year: 2025, month: 3, day: 29, hour: 6, minute: 3, second: 49, millisecond: undefined, tzoffsetMinutes: 0, rawValue: '2025:03:29 06:03:49', zoneName: 'UTC', inferredZone: true, zone: 'UTC' }, ModifyDate: ExifDateTime { year: 2025, month: 3, day: 29, hour: 6, minute: 3, second: 49, millisecond: undefined, tzoffsetMinutes: 0, rawValue: '2025:03:29 06:03:49', zoneName: 'UTC', inferredZone: true, zone: 'UTC' }, TimeScale: 10000, PreferredRate: 1, PreferredVolume: '100.00%', PreviewTime: '0 s', PosterTime: '0 s', SelectionTime: '0 s', CurrentTime: '0 s', NextTrackID: 4, AndroidModel: 'Pixel 8 Pro', AndroidMake: 'Google', TrackHeaderVersion: 0, TrackCreateDate: ExifDateTime { year: 2025, month: 3, day: 29, hour: 6, minute: 3, second: 49, millisecond: undefined, tzoffsetMinutes: 0, rawValue: '2025:03:29 06:03:49', zoneName: 'UTC', inferredZone: true, zone: 'UTC' }, TrackModifyDate: ExifDateTime { year: 2025, month: 3, day: 29, hour: 6, minute: 3, second: 49, millisecond: undefined, tzoffsetMinutes: 0, rawValue: '2025:03:29 06:03:49', zoneName: 'UTC', inferredZone: true, zone: 'UTC' }, TrackID: 1, TrackLayer: 0, TrackVolume: '0.00%', ImageWidth: 1344, ImageHeight: 1008, GraphicsMode: 'srcCopy', OpColor: '0 0 0', CompressorID: 'hvc1', SourceImageWidth: 1344, SourceImageHeight: 1008, XResolution: 72, YResolution: 72, BitDepth: 24, PixelAspectRatio: '65536:65536', ColorProfiles: 'nclx', ColorPrimaries: 'BT.709', TransferCharacteristics: 'BT.709', MatrixCoefficients: 'BT.709', VideoFullRangeFlag: 1, VideoFrameRate: 24.798, MatrixStructure: '1 0 0 0 1 0 0 0 1', MediaHeaderVersion: 0, MediaCreateDate: ExifDateTime { year: 2025, month: 3, day: 29, hour: 6, minute: 3, second: 49, millisecond: undefined, tzoffsetMinutes: 0, rawValue: '2025:03:29 06:03:49', zoneName: 'UTC', inferredZone: true, zone: 'UTC' }, MediaModifyDate: ExifDateTime { year: 2025, month: 3, day: 29, hour: 6, minute: 3, second: 49, millisecond: undefined, tzoffsetMinutes: 0, rawValue: '2025:03:29 06:03:49', zoneName: 'UTC', inferredZone: true, zone: 'UTC' }, MediaTimeScale: 90000, HandlerType: 'NRT Metadata', HandlerDescription: 'MetaHandle', MetaFormat: 'mett', MetaType: 'application/motionphoto-image-meta', ImageSize: '1344x1008', Megapixels: 1.4, AvgBitrate: '11.9 Mbps', Rotation: 0, warnings: [], Orientation: 1, Duration: '00:00:01.250' } [Nest] 7 - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Date and time is 2025-03-29T06:03:49Z for asset fd1bb91f-dd28-4cab-b1b4-00b70d9eb312: upload/encoded-video/e0919551-fb0d-41f1-8f32-e3c4bb209d26/fd/1b/fd1bb91f-dd28-4cab-b1b4-00b70d9eb312-MP.mp4 [Nest] 7 - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Found timezone UTC via defaultVideosToUTC for asset fd1bb91f-dd28-4cab-b1b4-00b70d9eb312: upload/encoded-video/e0919551-fb0d-41f1-8f32-e3c4bb209d26/fd/1b/fd1bb91f-dd28-4cab-b1b4-00b70d9eb312-MP.mp4 [Nest] 7 - 04/06/2025, 1:37:22 AM VERBOSE [Microservices:MetadataService] Found local date time 2025-03-29T06:03:49.000Z for asset fd1bb91f-dd28-4cab-b1b4-00b70d9eb312: upload/encoded-video/e0919551-fb0d-41f1-8f32-e3c4bb209d26/fd/1b/fd1bb91f-dd28-4cab-b1b4-00b70d9eb312-MP.mp4 [Nest] 17 - 04/06/2025, 1:37:25 AM LOG [Api:EventRepository] Websocket Disconnect: dVsloemvYHHodp5GAAAd [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:LoggingInterceptor] GET /custom.css 200 11.48ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:LoggingInterceptor~688lifrd] GET /api/server/features 200 5.38ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:LoggingInterceptor~4ler0n8p] GET /api/server/config 200 7.55ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:LoggingInterceptor~91iyjmsp] GET /api/users/me 200 23.62ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:LoggingInterceptor~c8ednkuc] GET /api/users/me/preferences 200 24.54ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:LoggingInterceptor~j4xud1xj] GET /api/server/about 200 75.90ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:LoggingInterceptor~dkr97w0k] GET /api/server/storage 200 1.40ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:37:25 AM LOG [Api:EventRepository] Websocket Connect: 9aQ9e9wbvjblEUQSAAAf [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:LoggingInterceptor~h5ummq6g] GET /api/memories?for=2025-04-06T09%3A37%3A25.404Z 200 21.40ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:LoggingInterceptor~lg8b63s6] GET /api/server/storage 200 9.91ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:LoggingInterceptor~o5vfk6yf] GET /api/server/version-history 200 1.43ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:LoggingInterceptor~11c8mcka] GET /api/timeline/buckets?isArchived=false&size=MONTH&withPartners=true&withStacked=true 200 50.14ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:LoggingInterceptor~3svqwcfw] GET /api/albums 200 77.29ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:LoggingInterceptor~8mfag1wl] GET /api/server/about 200 103.19ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:LoggingInterceptor~it2fyuak] GET /api/assets/fd43a1e3-8d20-45c9-ad1f-8a0458a2f379 200 19.62ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:LoggingInterceptor~f2nnryk7] GET /api/timeline/bucket?isArchived=false&size=MONTH&timeBucket=2025-04-01T00%3A00%3A00.000Z&withPartners=true&withStacked=true 200 25.31ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:LoggingInterceptor~l5kdhzrc] GET /api/timeline/bucket?isArchived=false&size=MONTH&timeBucket=2025-03-01T00%3A00%3A00.000Z&withPartners=true&withStacked=true 200 31.15ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:LoggingInterceptor~wxcpv858] GET /api/server/about 200 88.98ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:LoggingInterceptor~7tmave4j] GET /api/assets/ade22bea-b2ef-4d96-8857-9d3e5365667d/thumbnail?size=thumbnail 200 5.95ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:37:25 AM DEBUG [Api:GlobalExceptionFilter~7tmave4j] HttpException(404): {"message":"Asset media not found","error":"Not Found","statusCode":404} [Nest] 17 - 04/06/2025, 1:37:42 AM DEBUG [Api:LoggingInterceptor~90tlf31k] GET /api/server/ping 200 0.64ms ::ffff:127.0.0.1 [Nest] 17 - 04/06/2025, 1:38:12 AM DEBUG [Api:LoggingInterceptor~fnei9vd8] GET /api/server/ping 200 0.16ms ::ffff:127.0.0.1 [Nest] 17 - 04/06/2025, 1:38:42 AM DEBUG [Api:LoggingInterceptor~mlaczq2g] GET /api/server/ping 200 0.15ms ::ffff:127.0.0.1 [Nest] 17 - 04/06/2025, 1:39:12 AM DEBUG [Api:LoggingInterceptor~3jvr3n9c] GET /api/server/ping 200 0.21ms ::ffff:127.0.0.1 [Nest] 17 - 04/06/2025, 1:39:42 AM DEBUG [Api:LoggingInterceptor~xbp7d0jt] GET /api/server/ping 200 0.13ms ::ffff:127.0.0.1 [Nest] 17 - 04/06/2025, 1:40:12 AM DEBUG [Api:LoggingInterceptor~04801vwz] GET /api/server/ping 200 0.23ms ::ffff:127.0.0.1 [Nest] 17 - 04/06/2025, 1:40:36 AM DEBUG [Api:LoggingInterceptor~8rjms418] GET /api/assets/ade22bea-b2ef-4d96-8857-9d3e5365667d 200 20.08ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:40:36 AM DEBUG [Api:LoggingInterceptor~vzsh7ug8] GET /api/assets/ade22bea-b2ef-4d96-8857-9d3e5365667d/thumbnail?size=preview&c=IZFMtcbeLfUH%2F%2Fr3AFyS0YoRmBE%3D 200 5.16ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:40:36 AM DEBUG [Api:GlobalExceptionFilter~vzsh7ug8] HttpException(404): {"message":"Asset media not found","error":"Not Found","statusCode":404} [Nest] 17 - 04/06/2025, 1:40:36 AM DEBUG [Api:LoggingInterceptor~7ogj7xca] GET /api/albums?assetId=ade22bea-b2ef-4d96-8857-9d3e5365667d 200 10.82ms ::ffff:192.168.0.33 [Nest] 17 - 04/06/2025, 1:40:36 AM DEBUG [Api:LoggingInterceptor~z1ju20rr] GET /api/albums?assetId=ade22bea-b2ef-4d96-8857-9d3e5365667d 200 11.97ms ::ffff:192.168.0.33 ```
Author
Owner

@alextran1502 commented on GitHub (Apr 6, 2025):

@haroldfinch69 can you help confirm the version of the server you are running?

I can upload the view the file just fine, as well as play it as a motion photo

Image

@alextran1502 commented on GitHub (Apr 6, 2025): @haroldfinch69 can you help confirm the version of the server you are running? I can upload the view the file just fine, as well as play it as a motion photo ![Image](https://github.com/user-attachments/assets/edee7cbb-3621-4faf-9cbc-6ccfaafaa97b)
Author
Owner

@haroldfinch69 commented on GitHub (Apr 6, 2025):

Image

@haroldfinch69 commented on GitHub (Apr 6, 2025): ![Image](https://github.com/user-attachments/assets/1fcc480a-15ff-4131-b7ae-859c896b4486)
Author
Owner

@haroldfinch69 commented on GitHub (Apr 6, 2025):

Also, I know it's not a file permissions issue, as I have uploaded not motion photos with no issues.

@haroldfinch69 commented on GitHub (Apr 6, 2025): Also, I know it's not a file permissions issue, as I have uploaded not motion photos with no issues.
Author
Owner

@alextran1502 commented on GitHub (Apr 6, 2025):

Hmm. @haroldfinch69, Do you mind creating a new test instance and uploading those files? See if it still crashes your server

Another thought I have: can you bring the stack down, remove the server image, and re-pull it?

@alextran1502 commented on GitHub (Apr 6, 2025): Hmm. @haroldfinch69, Do you mind creating a new test instance and uploading those files? See if it still crashes your server Another thought I have: can you bring the stack down, remove the server image, and re-pull it?
Author
Owner

@haroldfinch69 commented on GitHub (Apr 6, 2025):

Tried taking the server down, deleting the image and pulling again....no change.

Put, a bit of progress! I started a new stack, file uploaded with no issues. I then took the settings from this "clean" stack and reimported them. That made the image work! I've done a diff on the two configs and the only main difference was this section:

"storageTemplate": {
    "enabled": true,
    "hashVerificationEnabled": true,
    "template": "{{y}}/{{y}}-{{MM}}-{{dd}}/{{filename}}"
  },

I've had a play around and when the storage template engine is set to true, the image and motion photo doesn't display. When set to false it does display.

Any ideas why this is the case?

@haroldfinch69 commented on GitHub (Apr 6, 2025): Tried taking the server down, deleting the image and pulling again....no change. Put, a bit of progress! I started a new stack, file uploaded with no issues. I then took the settings from this "clean" stack and reimported them. That made the image work! I've done a diff on the two configs and the only main difference was this section: ``` "storageTemplate": { "enabled": true, "hashVerificationEnabled": true, "template": "{{y}}/{{y}}-{{MM}}-{{dd}}/{{filename}}" }, ``` I've had a play around and when the storage template engine is set to true, the image and motion photo doesn't display. When set to false it does display. Any ideas why this is the case?
Author
Owner

@geforcefan commented on GitHub (Sep 2, 2025):

Any information on this?

@geforcefan commented on GitHub (Sep 2, 2025): Any information on this?
Author
Owner

@haroldfinch69 commented on GitHub (Sep 3, 2025):

Yes, create new stack copy configuration, magic happens.

Reason....unclear.

@haroldfinch69 commented on GitHub (Sep 3, 2025): Yes, create new stack copy configuration, magic happens. Reason....unclear.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#5528