Proxmox LXC: Nvidia 2080 Super, no hw acceleration, tons of errors in logs, works fine for Plex #4023

Closed
opened 2026-02-05 09:37:02 +03:00 by OVERLORD · 0 comments
Owner

Originally created by @scrampker on GitHub (Aug 4, 2024).

The bug

Transcoding works just fine in Plex, so I assume the Proxmox host and LXC are set up correctly, but my logs are always full of errors. I've resorted to using CPU-everything for months, but I'd love to finally figure this out. There are likely others in the same boat as me.

The OS that Immich Server is running on

Debian 12 (LXC)

Version of Immich Server

v1.111.0

Version of Immich Mobile App

v1.111.0 build.152

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: nvenc # 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
    env_file:
      - .env
    ports:
      - 2283:3001
    depends_on:
      - redis
      - database
    restart: always

  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}-cuda
    extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
      file: hwaccel.ml.yml
      service: cuda # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    restart: always

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

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

volumes:
  model-cache:

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=/mnt/photos/Immich
# 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=America/New_York

# 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
DB_PASSWORD=[redacted]

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=[redacted]
DB_DATABASE_NAME=[redacted]

Reproduction steps

I have followed the standard guides for enabling hw GPU acceleration in my LXCs, yet I see tons of errors when I try to enable in the Immich YAML.

Relevant log output

*****
***** Just tailing the logs with zero jobs pending: ***** 
*****

# docker logs immich_server

...
[Nest] 7  - 08/04/2024, 12:00:08 AM   ERROR [Microservices:MediaRepository] ffmpeg version 6.0.1-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12 (Debian 12.2.0-14)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      58.  2.100 / 58.  2.100
  libavcodec     60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavdevice    60.  1.100 / 60.  1.100
  libavfilter     9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample   4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
[h264 @ 0x214641e0d80] Reinit context to 2048x1536, pix_fmt: yuv420p
[h264 @ 0x214641e0580] Reinit context to 1024x768, pix_fmt: yuv420p
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/upload/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/33/6a/336a3084-4eb6-4a8c-80b4-fef42a2f6c54.MP4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2020-02-22T21:27:01.000000Z
    com.android.version: 10
  Duration: 00:00:00.93, start: 0.000000, bitrate: 9265 kb/s
  Stream #0:0[0x1](eng): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte240m/smpte170m, progressive, left), 1024x768, 7096 kb/s, SAR 1:1 DAR 4:3, 24.65 fps, 30 tbr, 90k tbn (default)
    Metadata:
      creation_time   : 2020-02-22T21:27:01.000000Z
      handler_name    : VideoHandle
      vendor_id       : [0][0][0][0]
  Stream #0:1[0x2](eng): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte240m/smpte170m, progressive, left), 2048x1536, SAR 1:1 DAR 4:3, 90k tbn (default)
    Metadata:
      creation_time   : 2020-02-22T21:27:01.000000Z
      handler_name    : VideoHandle
      vendor_id       : [0][0][0][0]
  Stream #0:2[0x3](eng): Data: none (mett / 0x7474656D), 88 kb/s (default)
    Metadata:
      creation_time   : 2020-02-22T21:27:01.000000Z
      handler_name    : MetadHandle
  Stream #0:3[0x4](eng): Data: none (mett / 0x7474656D), 2 kb/s (default)
    Metadata:
      creation_time   : 2020-02-22T21:27:01.000000Z
      handler_name    : MetadHandle
Stream mapping:
  Stream #0:1 -> #0:0 (h264 (native) -> webp (libwebp_anim))
Press [q] to stop, [?] for help
EOF in input file 0
Terminating demuxer thread 0
[h264 @ 0x214641e3180] Reinit context to 2048x1536, pix_fmt: yuv420p
[Parsed_thumbnail_1 @ 0x21464163540] batch size: 12 frames
[Parsed_scale_5 @ 0x21464163240] w:-2 h:250 flags:'lanczos+accurate_rnd+full_chroma_int' interl:0
[graph 0 input from stream 0:1 @ 0x214641630c0] w:2048 h:1536 pixfmt:yuv420p tb:1/90000 fr:0/1 sar:1/1
[Parsed_fps_0 @ 0x21464163600] fps=12/1
[Parsed_scale_5 @ 0x21464163240] w:2048 h:1536 fmt:yuv420p sar:1/1 -> w:334 h:250 fmt:yuv420p sar:500/501 flags:0x00042200
[Parsed_fps_0 @ 0x21464163600] Set first pts to 0
Output #0, webp, to 'upload/thumbs/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/2b/46/2b461c7e-7e87-4e3c-825f-a4c7561882a0-thumbnail.webp':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    com.android.version: 10
    encoder         : Lavf60.3.100
  Stream #0:0(eng): Video: webp, 1 reference frame, yuv420p, 334x250 (0x0) [SAR 500:501 DAR 4:3], q=2-31, 200 kb/s, 12 fps, 1k tbn (default)
    Metadata:
      creation_time   : 2020-02-22T21:27:01.000000Z
      handler_name    : VideoHandle
      vendor_id       : [0][0][0][0]
      encoder         : Lavc60.3.100 libwebp_anim
frame=    0 fps=0.0 q=0.0 size=       0kB time=-577014:32:22.77 bitrate=  -0.0kbits/s speed=N/A
No more output streams to write to, finishing.
[libwebp encoder @ 0x21464180400] WebPAnimEncoderAssemble() failed with error: 1
[vost#0:0/libwebp_anim @ 0x21464150480] Error submitting video frame to the encoder
[Parsed_fps_0 @ 0x21464163600] 1 frames in, 0 frames out; 1 frames dropped, 0 frames duplicated.
[out#0/webp @ 0x214641618c0] All streams finished
[out#0/webp @ 0x214641618c0] Terminating muxer thread
[AVIOContext @ 0x21464180680] Statistics: 0 bytes written, 0 seeks, 0 writeouts
[AVIOContext @ 0x214641802c0] Statistics: 1080753 bytes read, 0 seeks
Conversion failed!

[Nest] 7  - 08/04/2024, 12:00:08 AM   ERROR [Microservices:JobService] Unable to run job handler (thumbnailGeneration/generate-thumbnail): Error: ffmpeg exited with code 1: Conversion failed!

[Nest] 7  - 08/04/2024, 12:00:08 AM   ERROR [Microservices:JobService] Error: ffmpeg exited with code 1: Conversion failed!

    at ChildProcess.<anonymous> (/usr/src/app/node_modules/fluent-ffmpeg/lib/processor.js:180:22)
    at ChildProcess.emit (node:events:519:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)
[Nest] 7  - 08/04/2024, 12:00:08 AM   ERROR [Microservices:JobService] Object:
{
  "id": "2b461c7e-7e87-4e3c-825f-a4c7561882a0"
}

[Nest] 7  - 08/04/2024, 12:00:08 AM   ERROR [Microservices:MediaRepository] ffmpeg version 6.0.1-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12 (Debian 12.2.0-14)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      58.  2.100 / 58.  2.100
  libavcodec     60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavdevice    60.  1.100 / 60.  1.100
  libavfilter     9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample   4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
[h264 @ 0x55bea1e0d80] Reinit context to 2048x1536, pix_fmt: yuv420p
[h264 @ 0x55bea1e0580] Reinit context to 1024x768, pix_fmt: yuv420p
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/upload/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/b3/13/b3138670-a4fb-427c-9acc-5fde1198f7b4.MP4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2020-04-11T22:32:15.000000Z
    com.android.version: 10
  Duration: 00:00:00.97, start: 0.000000, bitrate: 9321 kb/s
  Stream #0:0[0x1](eng): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte240m/smpte170m, progressive, left), 1024x768, 7132 kb/s, SAR 1:1 DAR 4:3, 21.73 fps, 30 tbr, 90k tbn (default)
    Metadata:
      creation_time   : 2020-04-11T22:32:15.000000Z
      handler_name    : VideoHandle
      vendor_id       : [0][0][0][0]
    Side data:
      displaymatrix: rotation of -90.00 degrees
  Stream #0:1[0x2](eng): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte240m/smpte170m, progressive, left), 2048x1536, SAR 1:1 DAR 4:3, 90k tbn (default)
    Metadata:
      creation_time   : 2020-04-11T22:32:15.000000Z
      handler_name    : VideoHandle
      vendor_id       : [0][0][0][0]
    Side data:
      displaymatrix: rotation of -90.00 degrees
  Stream #0:2[0x3](eng): Data: none (mett / 0x7474656D), 78 kb/s (default)
    Metadata:
      creation_time   : 2020-04-11T22:32:15.000000Z
      handler_name    : MetadHandle
  Stream #0:3[0x4](eng): Data: none (mett / 0x7474656D), 3 kb/s (default)
    Metadata:
      creation_time   : 2020-04-11T22:32:15.000000Z
      handler_name    : MetadHandle
Stream mapping:
  Stream #0:1 -> #0:0 (h264 (native) -> webp (libwebp_anim))
Press [q] to stop, [?] for help
EOF in input file 0
Terminating demuxer thread 0
[h264 @ 0x55bea1e3180] Reinit context to 2048x1536, pix_fmt: yuv420p
[Parsed_thumbnail_1 @ 0x55bea165dc0] batch size: 12 frames
[Parsed_scale_5 @ 0x55bea120c80] w:250 h:-2 flags:'lanczos+accurate_rnd+full_chroma_int' interl:0
[graph 0 input from stream 0:1 @ 0x55bea120e80] w:2048 h:1536 pixfmt:yuv420p tb:1/90000 fr:0/1 sar:1/1
[transpose @ 0x55bea165c40] w:2048 h:1536 dir:1 -> w:1536 h:2048 rotation:clockwise vflip:0
[Parsed_fps_0 @ 0x55bea165d00] fps=12/1
[Parsed_scale_5 @ 0x55bea120c80] w:1536 h:2048 fmt:yuv420p sar:1/1 -> w:250 h:334 fmt:yuv420p sar:501/500 flags:0x00042200
[Parsed_fps_0 @ 0x55bea165d00] Set first pts to 0
Output #0, webp, to 'upload/thumbs/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/23/62/2362b7ea-cc92-4f8e-bd5e-d9882817e0f0-thumbnail.webp':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    com.android.version: 10
    encoder         : Lavf60.3.100
  Stream #0:0(eng): Video: webp, 1 reference frame, yuv420p, 250x334 (0x0) [SAR 501:500 DAR 3:4], q=2-31, 200 kb/s, 12 fps, 1k tbn (default)
    Metadata:
      creation_time   : 2020-04-11T22:32:15.000000Z
      handler_name    : VideoHandle
      vendor_id       : [0][0][0][0]
      encoder         : Lavc60.3.100 libwebp_anim
    Side data:
      displaymatrix: rotation of -0.00 degrees
frame=    0 fps=0.0 q=0.0 size=       0kB time=-577014:32:22.77 bitrate=  -0.0kbits/s speed=N/A
No more output streams to write to, finishing.
[libwebp encoder @ 0x55bea180400] WebPAnimEncoderAssemble() failed with error: 1
[vost#0:0/libwebp_anim @ 0x55bea150480] Error submitting video frame to the encoder
[Parsed_fps_0 @ 0x55bea165d00] 1 frames in, 0 frames out; 1 frames dropped, 0 frames duplicated.
[out#0/webp @ 0x55bea161800] All streams finished
[out#0/webp @ 0x55bea161800] Terminating muxer thread
[AVIOContext @ 0x55bea180680] Statistics: 0 bytes written, 0 seeks, 0 writeouts
[AVIOContext @ 0x55bea1802c0] Statistics: 1125837 bytes read, 0 seeks
Conversion failed!

[Nest] 7  - 08/04/2024, 12:00:08 AM   ERROR [Microservices:JobService] Unable to run job handler (thumbnailGeneration/generate-thumbnail): Error: ffmpeg exited with code 1: Conversion failed!

[Nest] 7  - 08/04/2024, 12:00:08 AM   ERROR [Microservices:JobService] Error: ffmpeg exited with code 1: Conversion failed!

    at ChildProcess.<anonymous> (/usr/src/app/node_modules/fluent-ffmpeg/lib/processor.js:180:22)
    at ChildProcess.emit (node:events:519:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)
[Nest] 7  - 08/04/2024, 12:00:08 AM   ERROR [Microservices:JobService] Object:
{
  "id": "2362b7ea-cc92-4f8e-bd5e-d9882817e0f0"
}

[Nest] 17  - 08/04/2024, 10:42:41 AM     LOG [Api:EventRepository] Websocket Connect:    TX4JxgtaWYIHJnZDAAAW
[Nest] 17  - 08/04/2024, 10:42:41 AM     LOG [Api:EventRepository] Websocket Disconnect: TX4JxgtaWYIHJnZDAAAW
[Nest] 17  - 08/04/2024, 10:42:43 AM     LOG [Api:EventRepository] Websocket Connect:    EKMHyCFS3ABpa7yyAAAY
[Nest] 17  - 08/04/2024, 10:43:27 AM     LOG [Api:EventRepository] Websocket Disconnect: EKMHyCFS3ABpa7yyAAAY
[Nest] 7  - 08/04/2024, 11:09:58 AM     LOG [Microservices:MediaService] Successfully generated JPEG image preview for asset 6574b744-c8d0-4522-8629-5cca229329ea
[Nest] 7  - 08/04/2024, 11:09:59 AM     LOG [Microservices:MediaService] Successfully generated WEBP image thumbnail for asset 6574b744-c8d0-4522-8629-5cca229329ea
[Nest] 7  - 08/04/2024, 11:10:00 AM   ERROR [Microservices:JobService] Unable to run job handler (faceDetection/face-detection): Error: Machine learning request '{"facial-recognition":{"detection":{"modelName":"buffalo_l","options":{"minScore":0.7}},"recognition":{"modelName":"buffalo_l"}}}' failed with status 500: Internal Server Error
[Nest] 7  - 08/04/2024, 11:10:00 AM   ERROR [Microservices:JobService] Error: Machine learning request '{"facial-recognition":{"detection":{"modelName":"buffalo_l","options":{"minScore":0.7}},"recognition":{"modelName":"buffalo_l"}}}' failed with status 500: Internal Server Error
    at MachineLearningRepository.predict (/usr/src/app/dist/repositories/machine-learning.repository.js:22:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async MachineLearningRepository.detectFaces (/usr/src/app/dist/repositories/machine-learning.repository.js:33:26)
    at async PersonService.handleDetectFaces (/usr/src/app/dist/services/person.service.js:284:52)
    at async /usr/src/app/dist/services/job.service.js:148:36
    at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:394:28)
    at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24)
[Nest] 7  - 08/04/2024, 11:10:00 AM   ERROR [Microservices:JobService] Object:
{
  "id": "6574b744-c8d0-4522-8629-5cca229329ea",
  "source": "upload"
}

[Nest] 7  - 08/04/2024, 11:10:01 AM   ERROR [Microservices:JobService] Unable to run job handler (smartSearch/smart-search): Error: Machine learning request '{"clip":{"visual":{"modelName":"ViT-B-32__openai"}}}' failed with status 500: Internal Server Error
[Nest] 7  - 08/04/2024, 11:10:01 AM   ERROR [Microservices:JobService] Error: Machine learning request '{"clip":{"visual":{"modelName":"ViT-B-32__openai"}}}' failed with status 500: Internal Server Error
    at MachineLearningRepository.predict (/usr/src/app/dist/repositories/machine-learning.repository.js:22:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async MachineLearningRepository.encodeImage (/usr/src/app/dist/repositories/machine-learning.repository.js:42:26)
    at async SmartInfoService.handleEncodeClip (/usr/src/app/dist/services/smart-info.service.js:91:27)
    at async /usr/src/app/dist/services/job.service.js:148:36
    at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:394:28)
    at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24)
[Nest] 7  - 08/04/2024, 11:10:01 AM   ERROR [Microservices:JobService] Object:
{
  "id": "6574b744-c8d0-4522-8629-5cca229329ea",
  "source": "upload"
}

[Nest] 7  - 08/04/2024, 11:29:46 AM    WARN [Microservices:Error: Failed to fetch GitHub release: TypeError: fetch failed
    at ServerInfoRepository.getGitHubRelease (/usr/src/app/dist/repositories/server-info.repository.js:62:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async VersionService.handleVersionCheck (/usr/src/app/dist/services/version.service.js:104:77)
    at async /usr/src/app/dist/services/job.service.js:148:36
    at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:394:28)
    at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24)] Unable to run version check: Error: Failed to fetch GitHub release: TypeError: fetch failed



*****
***** Trying to re-encode a random video, with zero jobs pending: ***** 
*****

[Nest] 17  - 08/04/2024, 12:22:17 PM     LOG [Api:EventRepository] Websocket Connect:    wS2bt5mLMsHQmJpaAAAg
[Nest] 17  - 08/04/2024, 12:22:29 PM   ERROR [Api:LoggerRepository~kbur20qe] Unable to send file: Error
Error: ENOENT: no such file or directory, access 'upload/thumbs/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/c0/79/c079cf6f-bed1-4a77-8d51-2b7a1b871d9a-thumbnail.webp'
    at async access (node:internal/fs/promises:606:10)
    at async sendFile (/usr/src/app/dist/utils/file.js:55:9)
    at async AssetMediaController.viewAsset (/usr/src/app/dist/controllers/asset-media.controller.js:57:9)
[Nest] 17  - 08/04/2024, 12:22:29 PM    WARN [Api:ExpressAdapter~kbur20qe] Content-Type doesn't match Reply body, you might need a custom ExceptionFilter for non-JSON responses
[Nest] 17  - 08/04/2024, 12:22:29 PM   ERROR [Api:ExceptionsHandler~kbur20qe] ENOENT: no such file or directory, access 'upload/thumbs/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/c0/79/c079cf6f-bed1-4a77-8d51-2b7a1b871d9a-thumbnail.webp'
Error: ENOENT: no such file or directory, access 'upload/thumbs/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/c0/79/c079cf6f-bed1-4a77-8d51-2b7a1b871d9a-thumbnail.webp'
    at async access (node:internal/fs/promises:606:10)
    at async sendFile (/usr/src/app/dist/utils/file.js:55:9)
    at async AssetMediaController.viewAsset (/usr/src/app/dist/controllers/asset-media.controller.js:57:9)
[Nest] 7  - 08/04/2024, 12:22:33 PM     LOG [Microservices:MediaService] Started encoding video 73751a00-ca71-404e-8584-60a68d1109b9 {"inputOptions":["-hwaccel cuda","-hwaccel_output_format cuda","-noautorotate","-threads 1"],"outputOptions":["-tune hq","-qmin 0","-rc-lookahead 20","-i_qfactor 0.75","-c:v hevc_nvenc","-c:a aac","-movflags faststart","-fps_mode passthrough","-map 0:2","-map 0:1","-bf 0","-g 256","-tag:v hvc1","-v verbose","-preset p1","-cq:v 28"],"twoPass":false}
[Nest] 7  - 08/04/2024, 12:22:33 PM   ERROR [Microservices:MediaRepository] ffmpeg version 6.0.1-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12 (Debian 12.2.0-14)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      58.  2.100 / 58.  2.100
  libavcodec     60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavdevice    60.  1.100 / 60.  1.100
  libavfilter     9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample   4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
Selecting decoder 'hevc' because of requested hwaccel method cuda
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/upload/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/02/32/02327aad-7210-4b3b-8612-628f312c79a9.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 131072
    compatible_brands: isomiso2mp41
    creation_time   : 2024-08-02T22:01:36.000000Z
    location        : +28.1225-80.6257/
    location-eng    : +28.1225-80.6257/
    com.android.manufacturer: Google
    com.android.model: Pixel Fold
    com.android.capture.fps: 60.000000
  Duration: 00:03:22.35, start: 0.000000, bitrate: 29367 kb/s
  Stream #0:0[0x1](eng): Data: none (mett / 0x7474656D), 90 kb/s (default)
    Metadata:
      creation_time   : 2024-08-02T22:01:36.000000Z
      handler_name    : MetaHandle
  Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 191 kb/s (default)
    Metadata:
      creation_time   : 2024-08-02T22:01:36.000000Z
      handler_name    : SoundHandle
      vendor_id       : [0][0][0][0]
  Stream #0:2[0x3](eng): Video: hevc (Main), 1 reference frame (hvc1 / 0x31637668), yuvj420p(pc, bt709, left), 1920x1080 (1920x1088), 29073 kb/s, SAR 1:1 DAR 16:9, 59.94 fps, 90k tbr, 90k tbn (default)
    Metadata:
      creation_time   : 2024-08-02T22:01:36.000000Z
      handler_name    : VideoHandle
      vendor_id       : [0][0][0][0]
[AVHWDeviceContext @ 0x3852c034e80] cu->cuInit(0) failed -> CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected
Device creation failed: -542398533.
No device available for decoder: device type cuda needed for codec hevc.
Stream mapping:
  Stream #0:2 -> #0:0 (hevc (native) -> hevc (hevc_nvenc))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Device setup failed for decoder on input stream #0:2 : Generic error in an external library
[AVIOContext @ 0x3852c1920c0] Statistics: 0 bytes written, 0 seeks, 0 writeouts
[AVIOContext @ 0x3852c1902c0] Statistics: 4071861 bytes read, 3 seeks

[Nest] 7  - 08/04/2024, 12:22:33 PM   ERROR [Microservices:MediaService] Error: ffmpeg exited with code 1:
[Nest] 7  - 08/04/2024, 12:22:33 PM   ERROR [Microservices:MediaService] Error occurred during transcoding. Retrying with NVENC acceleration disabled.
[Nest] 17  - 08/04/2024, 12:22:34 PM   ERROR [Api:LoggerRepository~3ymjgyr8] Unable to send file: Error
Error: ENOENT: no such file or directory, access 'upload/thumbs/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/c0/79/c079cf6f-bed1-4a77-8d51-2b7a1b871d9a-thumbnail.webp'
    at async access (node:internal/fs/promises:606:10)
[Nest] 17  - 08/04/2024, 12:22:34 PM    WARN [Api:ExpressAdapter~3ymjgyr8] Content-Type doesn't match Reply body, you might need a custom ExceptionFilter for non-JSON responses
    at async sendFile (/usr/src/app/dist/utils/file.js:55:9)
    at async AssetMediaController.viewAsset (/usr/src/app/dist/controllers/asset-media.controller.js:57:9)
[Nest] 17  - 08/04/2024, 12:22:34 PM   ERROR [Api:ExceptionsHandler~3ymjgyr8] ENOENT: no such file or directory, access 'upload/thumbs/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/c0/79/c079cf6f-bed1-4a77-8d51-2b7a1b871d9a-thumbnail.webp'
Error: ENOENT: no such file or directory, access 'upload/thumbs/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/c0/79/c079cf6f-bed1-4a77-8d51-2b7a1b871d9a-thumbnail.webp'
    at async access (node:internal/fs/promises:606:10)
    at async sendFile (/usr/src/app/dist/utils/file.js:55:9)
    at async AssetMediaController.viewAsset (/usr/src/app/dist/controllers/asset-media.controller.js:57:9)
[Nest] 7  - 08/04/2024, 12:24:53 PM     LOG [Microservices:MediaService] Successfully encoded 73751a00-ca71-404e-8584-60a68d1109b9

Additional information

image
Originally created by @scrampker on GitHub (Aug 4, 2024). ### The bug Transcoding works just fine in Plex, so I assume the Proxmox host and LXC are set up correctly, but my logs are always full of errors. I've resorted to using CPU-everything for months, but I'd love to finally figure this out. There are likely others in the same boat as me. ### The OS that Immich Server is running on Debian 12 (LXC) ### Version of Immich Server v1.111.0 ### Version of Immich Mobile App v1.111.0 build.152 ### Platform with the issue - [X] Server - [ ] Web - [ ] Mobile ### Your docker-compose.yml content ```YAML # # 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: nvenc # 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 env_file: - .env ports: - 2283:3001 depends_on: - redis - database restart: always 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}-cuda extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration file: hwaccel.ml.yml service: cuda # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable volumes: - model-cache:/cache env_file: - .env restart: always redis: container_name: immich_redis image: docker.io/redis:6.2-alpine@sha256:e3b17ba9479deec4b7d1eeec1548a253acc5374d68d3b27937fcfe4df8d18c7e healthcheck: test: redis-cli ping || exit 1 restart: always 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: # 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 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 volumes: model-cache: ``` ### Your .env content ```Shell # 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=/mnt/photos/Immich # 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=America/New_York # 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 DB_PASSWORD=[redacted] # The values below this line do not need to be changed ################################################################################### DB_USERNAME=[redacted] DB_DATABASE_NAME=[redacted] ``` ### Reproduction steps ```bash I have followed the standard guides for enabling hw GPU acceleration in my LXCs, yet I see tons of errors when I try to enable in the Immich YAML. ``` ### Relevant log output ```shell ***** ***** Just tailing the logs with zero jobs pending: ***** ***** # docker logs immich_server ... [Nest] 7 - 08/04/2024, 12:00:08 AM ERROR [Microservices:MediaRepository] ffmpeg version 6.0.1-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers built with gcc 12 (Debian 12.2.0-14) configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc libavutil 58. 2.100 / 58. 2.100 libavcodec 60. 3.100 / 60. 3.100 libavformat 60. 3.100 / 60. 3.100 libavdevice 60. 1.100 / 60. 1.100 libavfilter 9. 3.100 / 9. 3.100 libswscale 7. 1.100 / 7. 1.100 libswresample 4. 10.100 / 4. 10.100 libpostproc 57. 1.100 / 57. 1.100 [h264 @ 0x214641e0d80] Reinit context to 2048x1536, pix_fmt: yuv420p [h264 @ 0x214641e0580] Reinit context to 1024x768, pix_fmt: yuv420p Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/upload/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/33/6a/336a3084-4eb6-4a8c-80b4-fef42a2f6c54.MP4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: isommp42 creation_time : 2020-02-22T21:27:01.000000Z com.android.version: 10 Duration: 00:00:00.93, start: 0.000000, bitrate: 9265 kb/s Stream #0:0[0x1](eng): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte240m/smpte170m, progressive, left), 1024x768, 7096 kb/s, SAR 1:1 DAR 4:3, 24.65 fps, 30 tbr, 90k tbn (default) Metadata: creation_time : 2020-02-22T21:27:01.000000Z handler_name : VideoHandle vendor_id : [0][0][0][0] Stream #0:1[0x2](eng): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte240m/smpte170m, progressive, left), 2048x1536, SAR 1:1 DAR 4:3, 90k tbn (default) Metadata: creation_time : 2020-02-22T21:27:01.000000Z handler_name : VideoHandle vendor_id : [0][0][0][0] Stream #0:2[0x3](eng): Data: none (mett / 0x7474656D), 88 kb/s (default) Metadata: creation_time : 2020-02-22T21:27:01.000000Z handler_name : MetadHandle Stream #0:3[0x4](eng): Data: none (mett / 0x7474656D), 2 kb/s (default) Metadata: creation_time : 2020-02-22T21:27:01.000000Z handler_name : MetadHandle Stream mapping: Stream #0:1 -> #0:0 (h264 (native) -> webp (libwebp_anim)) Press [q] to stop, [?] for help EOF in input file 0 Terminating demuxer thread 0 [h264 @ 0x214641e3180] Reinit context to 2048x1536, pix_fmt: yuv420p [Parsed_thumbnail_1 @ 0x21464163540] batch size: 12 frames [Parsed_scale_5 @ 0x21464163240] w:-2 h:250 flags:'lanczos+accurate_rnd+full_chroma_int' interl:0 [graph 0 input from stream 0:1 @ 0x214641630c0] w:2048 h:1536 pixfmt:yuv420p tb:1/90000 fr:0/1 sar:1/1 [Parsed_fps_0 @ 0x21464163600] fps=12/1 [Parsed_scale_5 @ 0x21464163240] w:2048 h:1536 fmt:yuv420p sar:1/1 -> w:334 h:250 fmt:yuv420p sar:500/501 flags:0x00042200 [Parsed_fps_0 @ 0x21464163600] Set first pts to 0 Output #0, webp, to 'upload/thumbs/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/2b/46/2b461c7e-7e87-4e3c-825f-a4c7561882a0-thumbnail.webp': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: isommp42 com.android.version: 10 encoder : Lavf60.3.100 Stream #0:0(eng): Video: webp, 1 reference frame, yuv420p, 334x250 (0x0) [SAR 500:501 DAR 4:3], q=2-31, 200 kb/s, 12 fps, 1k tbn (default) Metadata: creation_time : 2020-02-22T21:27:01.000000Z handler_name : VideoHandle vendor_id : [0][0][0][0] encoder : Lavc60.3.100 libwebp_anim frame= 0 fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A No more output streams to write to, finishing. [libwebp encoder @ 0x21464180400] WebPAnimEncoderAssemble() failed with error: 1 [vost#0:0/libwebp_anim @ 0x21464150480] Error submitting video frame to the encoder [Parsed_fps_0 @ 0x21464163600] 1 frames in, 0 frames out; 1 frames dropped, 0 frames duplicated. [out#0/webp @ 0x214641618c0] All streams finished [out#0/webp @ 0x214641618c0] Terminating muxer thread [AVIOContext @ 0x21464180680] Statistics: 0 bytes written, 0 seeks, 0 writeouts [AVIOContext @ 0x214641802c0] Statistics: 1080753 bytes read, 0 seeks Conversion failed! [Nest] 7 - 08/04/2024, 12:00:08 AM ERROR [Microservices:JobService] Unable to run job handler (thumbnailGeneration/generate-thumbnail): Error: ffmpeg exited with code 1: Conversion failed! [Nest] 7 - 08/04/2024, 12:00:08 AM ERROR [Microservices:JobService] Error: ffmpeg exited with code 1: Conversion failed! at ChildProcess.<anonymous> (/usr/src/app/node_modules/fluent-ffmpeg/lib/processor.js:180:22) at ChildProcess.emit (node:events:519:28) at ChildProcess._handle.onexit (node:internal/child_process:294:12) [Nest] 7 - 08/04/2024, 12:00:08 AM ERROR [Microservices:JobService] Object: { "id": "2b461c7e-7e87-4e3c-825f-a4c7561882a0" } [Nest] 7 - 08/04/2024, 12:00:08 AM ERROR [Microservices:MediaRepository] ffmpeg version 6.0.1-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers built with gcc 12 (Debian 12.2.0-14) configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc libavutil 58. 2.100 / 58. 2.100 libavcodec 60. 3.100 / 60. 3.100 libavformat 60. 3.100 / 60. 3.100 libavdevice 60. 1.100 / 60. 1.100 libavfilter 9. 3.100 / 9. 3.100 libswscale 7. 1.100 / 7. 1.100 libswresample 4. 10.100 / 4. 10.100 libpostproc 57. 1.100 / 57. 1.100 [h264 @ 0x55bea1e0d80] Reinit context to 2048x1536, pix_fmt: yuv420p [h264 @ 0x55bea1e0580] Reinit context to 1024x768, pix_fmt: yuv420p Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/upload/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/b3/13/b3138670-a4fb-427c-9acc-5fde1198f7b4.MP4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: isommp42 creation_time : 2020-04-11T22:32:15.000000Z com.android.version: 10 Duration: 00:00:00.97, start: 0.000000, bitrate: 9321 kb/s Stream #0:0[0x1](eng): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte240m/smpte170m, progressive, left), 1024x768, 7132 kb/s, SAR 1:1 DAR 4:3, 21.73 fps, 30 tbr, 90k tbn (default) Metadata: creation_time : 2020-04-11T22:32:15.000000Z handler_name : VideoHandle vendor_id : [0][0][0][0] Side data: displaymatrix: rotation of -90.00 degrees Stream #0:1[0x2](eng): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte240m/smpte170m, progressive, left), 2048x1536, SAR 1:1 DAR 4:3, 90k tbn (default) Metadata: creation_time : 2020-04-11T22:32:15.000000Z handler_name : VideoHandle vendor_id : [0][0][0][0] Side data: displaymatrix: rotation of -90.00 degrees Stream #0:2[0x3](eng): Data: none (mett / 0x7474656D), 78 kb/s (default) Metadata: creation_time : 2020-04-11T22:32:15.000000Z handler_name : MetadHandle Stream #0:3[0x4](eng): Data: none (mett / 0x7474656D), 3 kb/s (default) Metadata: creation_time : 2020-04-11T22:32:15.000000Z handler_name : MetadHandle Stream mapping: Stream #0:1 -> #0:0 (h264 (native) -> webp (libwebp_anim)) Press [q] to stop, [?] for help EOF in input file 0 Terminating demuxer thread 0 [h264 @ 0x55bea1e3180] Reinit context to 2048x1536, pix_fmt: yuv420p [Parsed_thumbnail_1 @ 0x55bea165dc0] batch size: 12 frames [Parsed_scale_5 @ 0x55bea120c80] w:250 h:-2 flags:'lanczos+accurate_rnd+full_chroma_int' interl:0 [graph 0 input from stream 0:1 @ 0x55bea120e80] w:2048 h:1536 pixfmt:yuv420p tb:1/90000 fr:0/1 sar:1/1 [transpose @ 0x55bea165c40] w:2048 h:1536 dir:1 -> w:1536 h:2048 rotation:clockwise vflip:0 [Parsed_fps_0 @ 0x55bea165d00] fps=12/1 [Parsed_scale_5 @ 0x55bea120c80] w:1536 h:2048 fmt:yuv420p sar:1/1 -> w:250 h:334 fmt:yuv420p sar:501/500 flags:0x00042200 [Parsed_fps_0 @ 0x55bea165d00] Set first pts to 0 Output #0, webp, to 'upload/thumbs/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/23/62/2362b7ea-cc92-4f8e-bd5e-d9882817e0f0-thumbnail.webp': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: isommp42 com.android.version: 10 encoder : Lavf60.3.100 Stream #0:0(eng): Video: webp, 1 reference frame, yuv420p, 250x334 (0x0) [SAR 501:500 DAR 3:4], q=2-31, 200 kb/s, 12 fps, 1k tbn (default) Metadata: creation_time : 2020-04-11T22:32:15.000000Z handler_name : VideoHandle vendor_id : [0][0][0][0] encoder : Lavc60.3.100 libwebp_anim Side data: displaymatrix: rotation of -0.00 degrees frame= 0 fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A No more output streams to write to, finishing. [libwebp encoder @ 0x55bea180400] WebPAnimEncoderAssemble() failed with error: 1 [vost#0:0/libwebp_anim @ 0x55bea150480] Error submitting video frame to the encoder [Parsed_fps_0 @ 0x55bea165d00] 1 frames in, 0 frames out; 1 frames dropped, 0 frames duplicated. [out#0/webp @ 0x55bea161800] All streams finished [out#0/webp @ 0x55bea161800] Terminating muxer thread [AVIOContext @ 0x55bea180680] Statistics: 0 bytes written, 0 seeks, 0 writeouts [AVIOContext @ 0x55bea1802c0] Statistics: 1125837 bytes read, 0 seeks Conversion failed! [Nest] 7 - 08/04/2024, 12:00:08 AM ERROR [Microservices:JobService] Unable to run job handler (thumbnailGeneration/generate-thumbnail): Error: ffmpeg exited with code 1: Conversion failed! [Nest] 7 - 08/04/2024, 12:00:08 AM ERROR [Microservices:JobService] Error: ffmpeg exited with code 1: Conversion failed! at ChildProcess.<anonymous> (/usr/src/app/node_modules/fluent-ffmpeg/lib/processor.js:180:22) at ChildProcess.emit (node:events:519:28) at ChildProcess._handle.onexit (node:internal/child_process:294:12) [Nest] 7 - 08/04/2024, 12:00:08 AM ERROR [Microservices:JobService] Object: { "id": "2362b7ea-cc92-4f8e-bd5e-d9882817e0f0" } [Nest] 17 - 08/04/2024, 10:42:41 AM LOG [Api:EventRepository] Websocket Connect: TX4JxgtaWYIHJnZDAAAW [Nest] 17 - 08/04/2024, 10:42:41 AM LOG [Api:EventRepository] Websocket Disconnect: TX4JxgtaWYIHJnZDAAAW [Nest] 17 - 08/04/2024, 10:42:43 AM LOG [Api:EventRepository] Websocket Connect: EKMHyCFS3ABpa7yyAAAY [Nest] 17 - 08/04/2024, 10:43:27 AM LOG [Api:EventRepository] Websocket Disconnect: EKMHyCFS3ABpa7yyAAAY [Nest] 7 - 08/04/2024, 11:09:58 AM LOG [Microservices:MediaService] Successfully generated JPEG image preview for asset 6574b744-c8d0-4522-8629-5cca229329ea [Nest] 7 - 08/04/2024, 11:09:59 AM LOG [Microservices:MediaService] Successfully generated WEBP image thumbnail for asset 6574b744-c8d0-4522-8629-5cca229329ea [Nest] 7 - 08/04/2024, 11:10:00 AM ERROR [Microservices:JobService] Unable to run job handler (faceDetection/face-detection): Error: Machine learning request '{"facial-recognition":{"detection":{"modelName":"buffalo_l","options":{"minScore":0.7}},"recognition":{"modelName":"buffalo_l"}}}' failed with status 500: Internal Server Error [Nest] 7 - 08/04/2024, 11:10:00 AM ERROR [Microservices:JobService] Error: Machine learning request '{"facial-recognition":{"detection":{"modelName":"buffalo_l","options":{"minScore":0.7}},"recognition":{"modelName":"buffalo_l"}}}' failed with status 500: Internal Server Error at MachineLearningRepository.predict (/usr/src/app/dist/repositories/machine-learning.repository.js:22:19) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async MachineLearningRepository.detectFaces (/usr/src/app/dist/repositories/machine-learning.repository.js:33:26) at async PersonService.handleDetectFaces (/usr/src/app/dist/services/person.service.js:284:52) at async /usr/src/app/dist/services/job.service.js:148:36 at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:394:28) at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24) [Nest] 7 - 08/04/2024, 11:10:00 AM ERROR [Microservices:JobService] Object: { "id": "6574b744-c8d0-4522-8629-5cca229329ea", "source": "upload" } [Nest] 7 - 08/04/2024, 11:10:01 AM ERROR [Microservices:JobService] Unable to run job handler (smartSearch/smart-search): Error: Machine learning request '{"clip":{"visual":{"modelName":"ViT-B-32__openai"}}}' failed with status 500: Internal Server Error [Nest] 7 - 08/04/2024, 11:10:01 AM ERROR [Microservices:JobService] Error: Machine learning request '{"clip":{"visual":{"modelName":"ViT-B-32__openai"}}}' failed with status 500: Internal Server Error at MachineLearningRepository.predict (/usr/src/app/dist/repositories/machine-learning.repository.js:22:19) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async MachineLearningRepository.encodeImage (/usr/src/app/dist/repositories/machine-learning.repository.js:42:26) at async SmartInfoService.handleEncodeClip (/usr/src/app/dist/services/smart-info.service.js:91:27) at async /usr/src/app/dist/services/job.service.js:148:36 at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:394:28) at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24) [Nest] 7 - 08/04/2024, 11:10:01 AM ERROR [Microservices:JobService] Object: { "id": "6574b744-c8d0-4522-8629-5cca229329ea", "source": "upload" } [Nest] 7 - 08/04/2024, 11:29:46 AM WARN [Microservices:Error: Failed to fetch GitHub release: TypeError: fetch failed at ServerInfoRepository.getGitHubRelease (/usr/src/app/dist/repositories/server-info.repository.js:62:19) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async VersionService.handleVersionCheck (/usr/src/app/dist/services/version.service.js:104:77) at async /usr/src/app/dist/services/job.service.js:148:36 at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:394:28) at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24)] Unable to run version check: Error: Failed to fetch GitHub release: TypeError: fetch failed ***** ***** Trying to re-encode a random video, with zero jobs pending: ***** ***** [Nest] 17 - 08/04/2024, 12:22:17 PM LOG [Api:EventRepository] Websocket Connect: wS2bt5mLMsHQmJpaAAAg [Nest] 17 - 08/04/2024, 12:22:29 PM ERROR [Api:LoggerRepository~kbur20qe] Unable to send file: Error Error: ENOENT: no such file or directory, access 'upload/thumbs/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/c0/79/c079cf6f-bed1-4a77-8d51-2b7a1b871d9a-thumbnail.webp' at async access (node:internal/fs/promises:606:10) at async sendFile (/usr/src/app/dist/utils/file.js:55:9) at async AssetMediaController.viewAsset (/usr/src/app/dist/controllers/asset-media.controller.js:57:9) [Nest] 17 - 08/04/2024, 12:22:29 PM WARN [Api:ExpressAdapter~kbur20qe] Content-Type doesn't match Reply body, you might need a custom ExceptionFilter for non-JSON responses [Nest] 17 - 08/04/2024, 12:22:29 PM ERROR [Api:ExceptionsHandler~kbur20qe] ENOENT: no such file or directory, access 'upload/thumbs/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/c0/79/c079cf6f-bed1-4a77-8d51-2b7a1b871d9a-thumbnail.webp' Error: ENOENT: no such file or directory, access 'upload/thumbs/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/c0/79/c079cf6f-bed1-4a77-8d51-2b7a1b871d9a-thumbnail.webp' at async access (node:internal/fs/promises:606:10) at async sendFile (/usr/src/app/dist/utils/file.js:55:9) at async AssetMediaController.viewAsset (/usr/src/app/dist/controllers/asset-media.controller.js:57:9) [Nest] 7 - 08/04/2024, 12:22:33 PM LOG [Microservices:MediaService] Started encoding video 73751a00-ca71-404e-8584-60a68d1109b9 {"inputOptions":["-hwaccel cuda","-hwaccel_output_format cuda","-noautorotate","-threads 1"],"outputOptions":["-tune hq","-qmin 0","-rc-lookahead 20","-i_qfactor 0.75","-c:v hevc_nvenc","-c:a aac","-movflags faststart","-fps_mode passthrough","-map 0:2","-map 0:1","-bf 0","-g 256","-tag:v hvc1","-v verbose","-preset p1","-cq:v 28"],"twoPass":false} [Nest] 7 - 08/04/2024, 12:22:33 PM ERROR [Microservices:MediaRepository] ffmpeg version 6.0.1-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers built with gcc 12 (Debian 12.2.0-14) configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc libavutil 58. 2.100 / 58. 2.100 libavcodec 60. 3.100 / 60. 3.100 libavformat 60. 3.100 / 60. 3.100 libavdevice 60. 1.100 / 60. 1.100 libavfilter 9. 3.100 / 9. 3.100 libswscale 7. 1.100 / 7. 1.100 libswresample 4. 10.100 / 4. 10.100 libpostproc 57. 1.100 / 57. 1.100 Selecting decoder 'hevc' because of requested hwaccel method cuda Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/upload/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/02/32/02327aad-7210-4b3b-8612-628f312c79a9.mp4': Metadata: major_brand : isom minor_version : 131072 compatible_brands: isomiso2mp41 creation_time : 2024-08-02T22:01:36.000000Z location : +28.1225-80.6257/ location-eng : +28.1225-80.6257/ com.android.manufacturer: Google com.android.model: Pixel Fold com.android.capture.fps: 60.000000 Duration: 00:03:22.35, start: 0.000000, bitrate: 29367 kb/s Stream #0:0[0x1](eng): Data: none (mett / 0x7474656D), 90 kb/s (default) Metadata: creation_time : 2024-08-02T22:01:36.000000Z handler_name : MetaHandle Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 191 kb/s (default) Metadata: creation_time : 2024-08-02T22:01:36.000000Z handler_name : SoundHandle vendor_id : [0][0][0][0] Stream #0:2[0x3](eng): Video: hevc (Main), 1 reference frame (hvc1 / 0x31637668), yuvj420p(pc, bt709, left), 1920x1080 (1920x1088), 29073 kb/s, SAR 1:1 DAR 16:9, 59.94 fps, 90k tbr, 90k tbn (default) Metadata: creation_time : 2024-08-02T22:01:36.000000Z handler_name : VideoHandle vendor_id : [0][0][0][0] [AVHWDeviceContext @ 0x3852c034e80] cu->cuInit(0) failed -> CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected Device creation failed: -542398533. No device available for decoder: device type cuda needed for codec hevc. Stream mapping: Stream #0:2 -> #0:0 (hevc (native) -> hevc (hevc_nvenc)) Stream #0:1 -> #0:1 (aac (native) -> aac (native)) Device setup failed for decoder on input stream #0:2 : Generic error in an external library [AVIOContext @ 0x3852c1920c0] Statistics: 0 bytes written, 0 seeks, 0 writeouts [AVIOContext @ 0x3852c1902c0] Statistics: 4071861 bytes read, 3 seeks [Nest] 7 - 08/04/2024, 12:22:33 PM ERROR [Microservices:MediaService] Error: ffmpeg exited with code 1: [Nest] 7 - 08/04/2024, 12:22:33 PM ERROR [Microservices:MediaService] Error occurred during transcoding. Retrying with NVENC acceleration disabled. [Nest] 17 - 08/04/2024, 12:22:34 PM ERROR [Api:LoggerRepository~3ymjgyr8] Unable to send file: Error Error: ENOENT: no such file or directory, access 'upload/thumbs/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/c0/79/c079cf6f-bed1-4a77-8d51-2b7a1b871d9a-thumbnail.webp' at async access (node:internal/fs/promises:606:10) [Nest] 17 - 08/04/2024, 12:22:34 PM WARN [Api:ExpressAdapter~3ymjgyr8] Content-Type doesn't match Reply body, you might need a custom ExceptionFilter for non-JSON responses at async sendFile (/usr/src/app/dist/utils/file.js:55:9) at async AssetMediaController.viewAsset (/usr/src/app/dist/controllers/asset-media.controller.js:57:9) [Nest] 17 - 08/04/2024, 12:22:34 PM ERROR [Api:ExceptionsHandler~3ymjgyr8] ENOENT: no such file or directory, access 'upload/thumbs/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/c0/79/c079cf6f-bed1-4a77-8d51-2b7a1b871d9a-thumbnail.webp' Error: ENOENT: no such file or directory, access 'upload/thumbs/24fa33cf-1d80-4312-8ada-8f48dc37b9a0/c0/79/c079cf6f-bed1-4a77-8d51-2b7a1b871d9a-thumbnail.webp' at async access (node:internal/fs/promises:606:10) at async sendFile (/usr/src/app/dist/utils/file.js:55:9) at async AssetMediaController.viewAsset (/usr/src/app/dist/controllers/asset-media.controller.js:57:9) [Nest] 7 - 08/04/2024, 12:24:53 PM LOG [Microservices:MediaService] Successfully encoded 73751a00-ca71-404e-8584-60a68d1109b9 ``` ### Additional information <img width="684" alt="image" src="https://github.com/user-attachments/assets/ea96d5dc-945c-4b2c-850c-6358d1dd5cd2">
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#4023