Thumbnails are not created automatically, error when creating thumbnails manually
The bug
Since the upgrade to v.1.126.1 I have the problem that no preview is automatically generated for uploaded media.
The file is uploaded and displayed in Immich without a preview (Pic 1).
If you try to open the image, it fails (Pic 2).
The “Generate Thumbnail” job is set to zero for Active and zero for Waiting (Pic 3).
If I start the job manually by clicking on “Missing”, an image is first loaded in “Waiting” and then in “Active” (Pic 4).
The error can then be observed in the log.
After running the job manually, the preview images are available in the Immich interface.
The thumbnails are now available and you can open the image (Pic 5)
I have already tested a rollback to v.1.125.7 and purged the old images, unfortunately no difference.
Many thanks in advance
The OS that Immich Server is running on
Debian 12
Version of Immich Server
v1.126.1
Version of Immich Mobile App
v1.126.1 build.184
Platform with the issue
- [x] Server
- [ ] Web
- [ ] Mobile
Your docker-compose.yml content
name: immich
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
# extends:
# file: hwaccel.transcoding.yml
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- stack.env
ports:
- '2283:2283'
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false
networks:
internal_bridge:
ipv4_address: 192.168.70.3
external_bridge:
ipv4_address: 192.168.69.4
immich-machine-learning:
container_name: immich_machine_learning
# For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag.
# Example tag: ${IMMICH_VERSION:-release}-cuda
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
# extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
# file: hwaccel.ml.yml
# service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable
volumes:
- model-cache:/cache
env_file:
- stack.env
restart: always
healthcheck:
disable: false
networks:
internal_bridge:
ipv4_address: 192.168.70.4
redis:
container_name: immich_redis
image: docker.io/redis:6.2-alpine@sha256:eaba718fecd1196d88533de7ba49bf903ad33664a92debb24660a922ecd9cac8
healthcheck:
test: redis-cli ping || exit 1
restart: always
networks:
internal_bridge:
ipv4_address: 192.168.70.5
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="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1;
Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --tuples-only --no-align
--command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')";
echo "checksum failure count is $$Chksum";
[ "$$Chksum" = '0' ] || exit 1
interval: 5m
start_interval: 30s
start_period: 5m
command: >-
postgres
-c shared_preload_libraries=vectors.so
-c 'search_path="$$user", public, vectors'
-c logging_collector=on
-c max_wal_size=2GB
-c shared_buffers=512MB
-c wal_compression=on
restart: always
networks:
internal_bridge:
ipv4_address: 192.168.70.6
power-tools:
container_name: immich_power_tools
image: ghcr.io/varun-raj/immich-power-tools:latest
ports:
- "8001:3000"
env_file:
- stack.env
networks:
internal_bridge:
ipv4_address: 192.168.70.8
volumes:
model-cache:
networks:
internal_bridge:
external: true
external_bridge:
external: true
Your .env content
UPLOAD_LOCATION=/docker/immich/data/upload
DB_DATA_LOCATION=/docker/immich/db
IMMICH_VERSION=release
DB_PASSWORD=xxxxxx
DB_USERNAME=xxxxxx
DB_DATABASE_NAME=immich
IMMICH_API_KEY=xxxxxx
IMMICH_URL="http://192.168.70.3:2283" # Your immich instace ip address and port
EXTERNAL_IMMICH_URL="https://immich.domain.tld" # External address of immich
GOOGLE_MAPS_API_KEY=xxxxxx
GEMINI_API_KEY=xxxxxx
DB_HOST=192.168.70.6
DB_PORT=5432
Reproduction steps
- Upload image or video
- Seeing not thumbnail is generated
- Manually triggering the thumbnail Job
- Error get displayed in Docker Logs
- Uploaded image or video now have a thumbnail
Relevant log output
[Nest] 18 - 02/17/2025, 10:09:57 AM LOG [Api:EventRepository] Websocket Connect: UM2qevO0S0rvwRA5AAAf
[Nest] 7 - 02/17/2025, 10:10:25 AM ERROR [Microservices:MediaRepository] ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 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=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --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 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
[h264 @ 0x3a6ac1e0580] Reinit context to 720x1280, pix_fmt: yuv420p
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/upload/7fbc1247-9b89-4bcf-ad9d-bcbb41fade6f/3c/78/3c78d158-0688-4706-b874-388605edf5ac.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2018-10-01T12:36:29.000000Z
Duration: 00:00:00.65, start: 0.000000, bitrate: 2078 kb/s
Stream #0:0[0x1](und): Video: h264 (Main), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, bt709, progressive, left), 720x1280 [SAR 1:1 DAR 9:16], 2096 kb/s, 30 fps, 30 tbr, 90k tbn (default)
Metadata:
creation_time : 2018-10-08T17:56:09.000000Z
handler_name : ISO Media file produced by Google Inc. Created on: 10/08/2018.
vendor_id : [0][0][0][0]
Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
Metadata:
creation_time : 2018-10-08T17:56:09.000000Z
handler_name : ISO Media file produced by Google Inc. Created on: 10/08/2018.
vendor_id : [0][0][0][0]
[out#0/webp @ 0x3a6ac1a2640] No explicit maps, mapping streams automatically...
[vost#0:0/libwebp_anim @ 0x3a6ac0d2b80] Created video stream from input stream 0:0
[Parsed_thumbnail_1 @ 0x3a6ac1a3000] batch size: 12 frames
[Parsed_scale_5 @ 0x3a6ac110d80] w:250 h:-2 flags:'lanczos+accurate_rnd+full_chroma_int' interl:0
[Parsed_fps_0 @ 0x3a6ac1a2e80] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated.
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> webp (libwebp_anim))
[vost#0:0/libwebp_anim @ 0x3a6ac0d2b80] Starting thread...
[vf#0:0 @ 0x3a6ac098880] Starting thread...
[vist#0:0/h264 @ 0x3a6ac220780] [dec:h264 @ 0x3a6ac220a80] Starting thread...
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3a6ac110280] Starting thread...
Press [q] to stop, [?] for help
[h264 @ 0x3a6ac1e0580] Reinit context to 720x1280, pix_fmt: yuv420p
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3a6ac110280] EOF while reading input
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3a6ac110280] Terminating thread with return code 0 (success)
[vist#0:0/h264 @ 0x3a6ac220780] [dec:h264 @ 0x3a6ac220a80] Decoder thread received EOF packet
[vist#0:0/h264 @ 0x3a6ac220780] [dec:h264 @ 0x3a6ac220a80] Decoder returned EOF, finishing
[Parsed_thumbnail_1 @ 0x3a6ae0506c0] batch size: 12 frames
[Parsed_scale_5 @ 0x3a6ae0509c0] w:250 h:-2 flags:'lanczos+accurate_rnd+full_chroma_int' interl:0
[graph 0 input from stream 0:0 @ 0x3a6ae050a80] w:720 h:1280 pixfmt:yuv420p tb:1/90000 fr:30/1 sar:1/1 csp:bt709 range:tv
[Parsed_fps_0 @ 0x3a6ae050540] fps=12/1
[Parsed_scale_5 @ 0x3a6ae0509c0] w:720 h:1280 fmt:yuv420p csp:bt709 range:tv sar:1/1 -> w:250 h:444 fmt:yuv420p csp:bt709 range:pc sar:999/1000 flags:0x00042200
[graph 0 input from stream 0:0 @ 0x3a6ae050a80] video frame properties congruent with link at pts_time: 0.333333
[Parsed_fps_0 @ 0x3a6ae050540] Set first pts to 4
[vist#0:0/h264 @ 0x3a6ac220780] [dec:h264 @ 0x3a6ac220a80] Terminating thread with return code 0 (success)
[vf#0:0 @ 0x3a6ac098880] Filtergraph returned EOF, finishing
[vf#0:0 @ 0x3a6ac098880] All consumers returned EOF
[vost#0:0/libwebp_anim @ 0x3a6ac0d2b80] No filtered frames for output stream, trying to initialize anyway.
Output #0, webp, to 'upload/thumbs/7fbc1247-9b89-4bcf-ad9d-bcbb41fade6f/b7/78/b7786459-da51-42da-b862-63d0a266e4c2-thumbnail.webp':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
encoder : Lavf61.1.100
Stream #0:0(und): Video: webp, 1 reference frame, yuv420p(progressive), 250x444 [SAR 999:1000 DAR 9:16], q=2-31, 200 kb/s, 12 fps, 1k tbn (default)
Metadata:
creation_time : 2018-10-08T17:56:09.000000Z
handler_name : ISO Media file produced by Google Inc. Created on: 10/08/2018.
vendor_id : [0][0][0][0]
encoder : Lavc61.3.100 libwebp_anim
[out#0/webp @ 0x3a6ac1a2640] Starting thread...
[Parsed_fps_0 @ 0x3a6ae050540] 2 frames in, 0 frames out; 2 frames dropped, 0 frames duplicated.
[vost#0:0/libwebp_anim @ 0x3a6ac0d2b80] Encoder thread received EOF
[libwebp encoder @ 0x3a6ac060e00] WebPAnimEncoderAssemble() failed with error: 1
[vost#0:0/libwebp_anim @ 0x3a6ac0d2b80] Error submitting video frame to the encoder
[vost#0:0/libwebp_anim @ 0x3a6ac0d2b80] Error flushing encoder: Cannot allocate memory
[vost#0:0/libwebp_anim @ 0x3a6ac0d2b80] Task finished with error code: -12 (Cannot allocate memory)
[vost#0:0/libwebp_anim @ 0x3a6ac0d2b80] Terminating thread with return code -12 (Cannot allocate memory)
[out#0/webp @ 0x3a6ac1a2640] All streams finished
[out#0/webp @ 0x3a6ac1a2640] Terminating thread with return code 0 (success)
[vf#0:0 @ 0x3a6ac098880] Terminating thread with return code 0 (success)
[AVIOContext @ 0x3a6ac0611c0] Statistics: 0 bytes written, 0 seeks, 0 writeouts
[out#0/webp @ 0x3a6ac1a2640] Output file #0 (upload/thumbs/7fbc1247-9b89-4bcf-ad9d-bcbb41fade6f/b7/78/b7786459-da51-42da-b862-63d0a266e4c2-thumbnail.webp):
[out#0/webp @ 0x3a6ac1a2640] Output stream #0:0 (video): 0 frames encoded; 0 packets muxed (0 bytes);
[out#0/webp @ 0x3a6ac1a2640] Total: 0 packets (0 bytes) muxed
[out#0/webp @ 0x3a6ac1a2640] video:0KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
[out#0/webp @ 0x3a6ac1a2640] Output file is empty, nothing was encoded(check -ss / -t / -frames parameters if used)
frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3a6ac110280] Input file #0 (upload/upload/7fbc1247-9b89-4bcf-ad9d-bcbb41fade6f/3c/78/3c78d158-0688-4706-b874-388605edf5ac.mp4):
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3a6ac110280] Input stream #0:0 (video): 18 packets read (157207 bytes); 2 frames decoded; 0 decode errors;
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3a6ac110280] Total: 18 packets (157207 bytes) demuxed
[AVIOContext @ 0x3a6ac060680] Statistics: 168895 bytes read, 0 seeks
Conversion failed!
[Nest] 7 - 02/17/2025, 10:10:25 AM ERROR [Microservices:JobService] Unable to run job handler (thumbnailGeneration/generate-thumbnails): Error: ffmpeg exited with code 244: Conversion failed!
[Nest] 7 - 02/17/2025, 10:10:25 AM ERROR [Microservices:JobService] Error: ffmpeg exited with code 244: Conversion failed!
at ChildProcess.<anonymous> (/usr/src/app/node_modules/fluent-ffmpeg/lib/processor.js:180:22)
at ChildProcess.emit (node:events:524:28)
at ChildProcess._handle.onexit (node:internal/child_process:293:12)
[Nest] 7 - 02/17/2025, 10:10:25 AM ERROR [Microservices:JobService] Object(1) {
id: 'b7786459-da51-42da-b862-63d0a266e4c2'
}
[Nest] 7 - 02/17/2025, 10:10:25 AM ERROR [Microservices:MediaRepository] ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 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=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --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 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
[h264 @ 0x496962c0580] Reinit context to 848x640, pix_fmt: yuv420p
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/upload/7fbc1247-9b89-4bcf-ad9d-bcbb41fade6f/d4/12/d41264fe-7ed4-4526-93a1-e82aa6acbc86.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
Duration: 00:03:55.80, start: 0.000000, bitrate: 1300 kb/s
Stream #0:0[0x1](und): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, reserved, progressive, left), 848x636, 1181 kb/s, 30 fps, 30 tbr, 30k tbn (default)
Metadata:
vendor_id : [0][0][0][0]
Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 116 kb/s (default)
Metadata:
vendor_id : [0][0][0][0]
[out#0/image2 @ 0x496961a0fc0] No explicit maps, mapping streams automatically...
[vost#0:0/mjpeg @ 0x496960d3780] Created video stream from input stream 0:0
[Parsed_thumbnail_1 @ 0x496961a1440] batch size: 12 frames
[Parsed_fps_0 @ 0x496961a0e40] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated.
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
[vost#0:0/mjpeg @ 0x496960d3780] Starting thread...
[vf#0:0 @ 0x496960984c0] Starting thread...
[vist#0:0/h264 @ 0x49696230500] [dec:h264 @ 0x496960f0780] Starting thread...
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x49696110280] Starting thread...
Press [q] to stop, [?] for help
[h264 @ 0x496962c1980] Reinit context to 848x640, pix_fmt: yuv420p
[Parsed_thumbnail_1 @ 0x4969a050540] batch size: 12 frames
[graph 0 input from stream 0:0 @ 0x4969a050840] w:848 h:636 pixfmt:yuv420p tb:1/30000 fr:30/1 sar:0/1 csp:reserved range:tv
[graph 0 input from stream 0:0 @ 0x4969a050840] Invalid color range
[Parsed_fps_0 @ 0x4969a0503c0] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated.
[vf#0:0 @ 0x496960984c0] Error reinitializing filters!
[vf#0:0 @ 0x496960984c0] Task finished with error code: -22 (Invalid argument)
[vf#0:0 @ 0x496960984c0] Terminating thread with return code -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x496960d3780] Encoder thread received EOF
[vost#0:0/mjpeg @ 0x496960d3780] Could not open encoder before EOF
[vost#0:0/mjpeg @ 0x496960d3780] Task finished with error code: -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x496960d3780] Terminating thread with return code -22 (Invalid argument)
[vist#0:0/h264 @ 0x49696230500] [dec:h264 @ 0x496960f0780] Decoder returned EOF, finishing
[vist#0:0/h264 @ 0x49696230500] [dec:h264 @ 0x496960f0780] Terminating thread with return code 0 (success)
[vist#0:0/h264 @ 0x49696230500] All consumers of this stream are done
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x49696110280] All consumers are done
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x49696110280] Terminating thread with return code 0 (success)
[out#0/image2 @ 0x496961a0fc0] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x49696110280] Input file #0 (upload/upload/7fbc1247-9b89-4bcf-ad9d-bcbb41fade6f/d4/12/d41264fe-7ed4-4526-93a1-e82aa6acbc86.mp4):
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x49696110280] Input stream #0:0 (video): 318 packets read (1372972 bytes); 2 frames decoded; 0 decode errors;
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x49696110280] Total: 318 packets (1372972 bytes) demuxed
[AVIOContext @ 0x49696060680] Statistics: 1617938 bytes read, 0 seeks
Conversion failed!
[Nest] 7 - 02/17/2025, 10:10:25 AM ERROR [Microservices:JobService] Unable to run job handler (thumbnailGeneration/generate-thumbnails): Error: ffmpeg exited with code 234: Conversion failed!
[Nest] 7 - 02/17/2025, 10:10:25 AM ERROR [Microservices:JobService] Error: ffmpeg exited with code 234: Conversion failed!
at ChildProcess.<anonymous> (/usr/src/app/node_modules/fluent-ffmpeg/lib/processor.js:180:22)
at ChildProcess.emit (node:events:524:28)
at ChildProcess._handle.onexit (node:internal/child_process:293:12)
[Nest] 7 - 02/17/2025, 10:10:25 AM ERROR [Microservices:JobService] Object(1) {
id: 'dce2a8f8-a9cc-4c69-93bf-d14e1170a86a'
}
Additional information
No response
Hello, do you mind running the stock docker-compose file and see if it help?
Hello, I have just tested with the standard compose file. Unfortunately no difference. Apparently a part of this conversion tool for these thumbnails seems to work and then crashes at a certain point, so that the whole microservice crashes. After I have run the job once manually (where thumbnails are partly generated), I cannot run it again manually until I restart the containers. If I click on "Missing" again, the Waiting counter simply counts up.
This part seems to be new in the log, I don't know if it is relevant:
[Nest] 7 - 02/17/2025, 8:31:49 PM WARN [Microservices:JobRepository] Skipping unknown job: "undefined" [Nest] 7 - 02/17/2025, 8:31:49 PM ERROR [Microservices:JobService] Unable to run job handler (backgroundTask/undefined): TypeError: Cannot read properties of undefined (reading 'replaceAll') [Nest] 7 - 02/17/2025, 8:31:49 PM ERROR [Microservices:JobService] TypeError: Cannot read properties of undefined (reading 'replaceAll') at JobService.onJobStart (/usr/src/app/dist/services/job.service.js:149:55) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async EventRepository.onEvent (/usr/src/app/dist/repositories/event.repository.js:130:13) 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 - 02/17/2025, 8:31:49 PM ERROR [Microservices:JobService] Object(0) {} Error: Missing lock for job 1. failed at Scripts.finishedErrors (/usr/src/app/node_modules/bullmq/dist/cjs/classes/scripts.js:272:24) at Job.moveToFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/job.js:427:32) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async handleFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:379:21) at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24)
I'm seeing similar issues, including the skipping unknown job: "undefined" failure in the logs.
I'm seeing the same thing. Only with Fujifilm RAF files.
Happening here as well:
[Nest] 2 - 02/24/2025, 8:23:31 AM ERROR [Microservices:MediaRepository] ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 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=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --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=arm64 --cross-prefix=/usr/bin/aarch64-linux-gnu- --toolchain=hardened --enable-cross-compile --enable-rkmpp --enable-rkrga
libavutil 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
[h264 @ 0x7f881c0500] Reinit context to 368x656, pix_fmt: yuv420p
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/raid/media/roll/2023/20230827-192158.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
creation_time : 2023-08-27T19:21:58.000000Z
Duration: 00:00:41.43, start: 0.000000, bitrate: 1608 kb/s
Stream #0:0[0x1](und): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, reserved, progressive, left), 368x656, 1347 kb/s, 30 fps, 29.97 tbr, 90k tbn (default)
Metadata:
creation_time : 2023-08-27T19:21:58.000000Z
vendor_id : [0][0][0][0]
Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
Metadata:
creation_time : 2023-08-27T19:21:58.000000Z
vendor_id : [0][0][0][0]
[out#0/image2 @ 0x7f881d09c0] No explicit maps, mapping streams automatically...
[vost#0:0/mjpeg @ 0x7f88223180] Created video stream from input stream 0:0
[Parsed_thumbnail_1 @ 0x7f881d0d80] batch size: 12 frames
[Parsed_fps_0 @ 0x7f881d0c00] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated.
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
[vost#0:0/mjpeg @ 0x7f88223180] Starting thread...
[vf#0:0 @ 0x7f88127c00] Starting thread...
[vist#0:0/h264 @ 0x7f88140a80] [dec:h264 @ 0x7f88190b80] Starting thread...
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f88090380] Starting thread...
Press [q] to stop, [?] for help
[h264 @ 0x7f881c0c00] Reinit context to 368x656, pix_fmt: yuv420p
[Parsed_thumbnail_1 @ 0x7f7e080540] batch size: 12 frames
[graph 0 input from stream 0:0 @ 0x7f7e080840] w:368 h:656 pixfmt:yuv420p tb:1/90000 fr:30000/1001 sar:0/1 csp:reserved range:tv
[graph 0 input from stream 0:0 @ 0x7f7e080840] Invalid color range
[Parsed_fps_0 @ 0x7f7e0803c0] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated.
[vf#0:0 @ 0x7f88127c00] Error reinitializing filters!
[vf#0:0 @ 0x7f88127c00] Task finished with error code: -22 (Invalid argument)
[vf#0:0 @ 0x7f88127c00] Terminating thread with return code -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x7f88223180] Encoder thread received EOF
[vost#0:0/mjpeg @ 0x7f88223180] Could not open encoder before EOF
[vost#0:0/mjpeg @ 0x7f88223180] Task finished with error code: -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x7f88223180] Terminating thread with return code -22 (Invalid argument)
[vist#0:0/h264 @ 0x7f88140a80] [dec:h264 @ 0x7f88190b80] Decoder returned EOF, finishing
[vist#0:0/h264 @ 0x7f88140a80] [dec:h264 @ 0x7f88190b80] Terminating thread with return code 0 (success)
[vist#0:0/h264 @ 0x7f88140a80] All consumers of this stream are done
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f88090380] All consumers are done
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f88090380] Terminating thread with return code 0 (success)
[out#0/image2 @ 0x7f881d09c0] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f88090380] Input file #0 (/raid/media/roll/2023/20230827-192158.mp4):
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f88090380] Input stream #0:0 (video): 314 packets read (1776323 bytes); 2 frames decoded; 0 decode errors;
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f88090380] Total: 314 packets (1776323 bytes) demuxed
[AVIOContext @ 0x7f88190180] Statistics: 2129920 bytes read, 0 seeks
Conversion failed!
[Nest] 2 - 02/24/2025, 8:23:31 AM ERROR [Microservices:JobService] Unable to run job handler (thumbnailGeneration/generate-thumbnails): Error: ffmpeg exited with code 234: Conversion failed!
[Nest] 2 - 02/24/2025, 8:23:31 AM ERROR [Microservices:JobService] Error: ffmpeg exited with code 234: Conversion failed!
at ChildProcess.<anonymous> (/usr/src/app/node_modules/fluent-ffmpeg/lib/processor.js:180:22)
at ChildProcess.emit (node:events:524:28)
at ChildProcess._handle.onexit (node:internal/child_process:293:12)
[Nest] 2 - 02/24/2025, 8:23:31 AM ERROR [Microservices:JobService] Object(1) {
id: '10d73948-1634-494a-b3ed-1243e3db1924'
}
This the comparison between three not working files + a similar one for which the thumbnail has been successfully generated:
# ls -l *.ffprobe
-rw-r--r-- 1 root root 2684 feb 24 08:33 20230819-184623.ffprobe
-rw-r--r-- 1 root root 2686 feb 24 08:33 20230827-192158.ffprobe
-rw-r--r-- 1 root root 2691 feb 24 08:34 20230920-174600.ffprobe
-rw-r--r-- 1 root root 2746 feb 24 08:37 20230920-202123-ok.ffprobe
# diff -urN 20230819-184623.ffprobe 20230827-192158.ffprobe
--- 20230819-184623.ffprobe 2025-02-24 08:33:10.299814905 +0100
+++ 20230827-192158.ffprobe 2025-02-24 08:33:41.655556652 +0100
@@ -9,19 +9,18 @@
[...]
- creation_time : 2023-08-19T18:46:23.000000Z
- Duration: 00:01:00.97, start: 0.000000, bitrate: 1608 kb/s
- Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, reserved, progressive), 368x656, 1347 kb/s, 30 fps, 30 tbr, 90k tbn (default)
+ creation_time : 2023-08-27T19:21:58.000000Z
+ Duration: 00:00:41.43, start: 0.000000, bitrate: 1608 kb/s
+ Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, reserved, progressive), 368x656, 1347 kb/s, 30 fps, 29.97 tbr, 90k tbn (default)
[...]
# diff -urN 20230819-184623.ffprobe 20230920-174600.ffprobe
--- 20230819-184623.ffprobe 2025-02-24 08:33:10.299814905 +0100
+++ 20230920-174600.ffprobe 2025-02-24 08:34:11.203312929 +0100
@@ -9,19 +9,18 @@
[...]
- creation_time : 2023-08-19T18:46:23.000000Z
- Duration: 00:01:00.97, start: 0.000000, bitrate: 1608 kb/s
- Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, reserved, progressive), 368x656, 1347 kb/s, 30 fps, 30 tbr, 90k tbn (default)
+ creation_time : 2023-09-20T17:46:00.000000Z
+ Duration: 00:00:26.05, start: 0.000000, bitrate: 2166 kb/s
+ Stream #0:0[0x1](und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, reserved, progressive), 848x480, 1905 kb/s, 30.02 fps, 120 tbr, 90k tbn (default)
[...]
# diff -urN 20230819-184623.ffprobe 20230920-202123-ok.ffprobe
--- 20230819-184623.ffprobe 2025-02-24 08:33:10.299814905 +0100
+++ 20230920-202123-ok.ffprobe 2025-02-24 08:37:24.301712846 +0100
@@ -9,19 +9,20 @@
[...]
- creation_time : 2023-08-19T18:46:23.000000Z
- Duration: 00:01:00.97, start: 0.000000, bitrate: 1608 kb/s
- Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, reserved, progressive), 368x656, 1347 kb/s, 30 fps, 30 tbr, 90k tbn (default)
+ creation_time : 2023-09-20T20:21:23.000000Z
+ Duration: 00:00:06.27, start: 0.000000, bitrate: 1667 kb/s
+ Stream #0:0[0x1](und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 848x480, 1613 kb/s, 30 fps, 30 tbr, 600 tbn (default)
Metadata:
- creation_time : 2023-08-19T18:46:23.000000Z
+ creation_time : 2023-09-20T20:21:23.000000Z
vendor_id : [0][0][0][0]
- Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
+ Side data:
+ displaymatrix: rotation of -90.00 degrees
+ Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 63 kb/s (default)
[...]
I have the same issue. I even created a new installation with the latest compose file. After uploading some of my media I get the "Skipping unknown job: "undefined"" errors, the thumbails stop being generated and jobs do not do anything.
Here is my full docker config and the generated log from a clean install Immich.zip
I am seeing similar issues.
I have the same problem. What is the temporary solution you guys are using. Without some kind of solution Immich renders itself unusable.
@rparree, rebooting my server seemed to work for me (and possibly re-starting the job via settings?)
For me, it only happened when I uploaded some files via the web interface. Not sure if that's where the bug is or whether that's just a coincidence, but I haven't uploaded anything via the web interface since (since rebooting) and haven't had it happen again (99% of my photos are uploaded via my phone).
same here, but restart doesn't help
Same here, some mp4 files doesnt create thumbnails and throw errors in log. I can't see when this happend becouse i've added some family members recently.
The file is properly uploaded to library and is playable via web and mobile but doens't create thumbnail.
[Nest] 7 - 04/01/2025, 12:00:01 AM ERROR [Microservices:MediaRepository] ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 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=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --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 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
[h264 @ 0x3ac6a1b0580] Reinit context to 480x864, pix_fmt: yuv420p
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/upload/65fc3068-9448-411c-a5a7-e4c611cf505f/ae/7a/ae7aed2c-fcd1-4e43-9780-acae09c7c99a.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
Duration: 00:03:29.03, start: 0.000000, bitrate: 1788 kb/s
Stream #0:0[0x1](und): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, reserved, progressive, left), 478x850, 1529 kb/s, 29.98 fps, 30 tbr, 30k tbn (default)
Metadata:
vendor_id : [0][0][0][0]
Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
Metadata:
vendor_id : [0][0][0][0]
[out#0/image2 @ 0x3ac6a14e7c0] No explicit maps, mapping streams automatically...
[vost#0:0/mjpeg @ 0x3ac6a173a80] Created video stream from input stream 0:0
[Parsed_thumbnail_1 @ 0x3ac6a14d380] batch size: 12 frames
[Parsed_fps_0 @ 0x3ac6a14e700] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated.
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
[vost#0:0/mjpeg @ 0x3ac6a173a80] Starting thread...
[vf#0:0 @ 0x3ac6a050540] Starting thread...
[vist#0:0/h264 @ 0x3ac6a310500] [dec:h264 @ 0x3ac6a6e0780] Starting thread...
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3ac6a120280] Starting thread...
Press [q] to stop, [?] for help
[h264 @ 0x3ac6a1b1580] Reinit context to 480x864, pix_fmt: yuv420p
[Parsed_thumbnail_1 @ 0x3ac6e050540] batch size: 12 frames
[graph 0 input from stream 0:0 @ 0x3ac6e050840] w:478 h:850 pixfmt:yuv420p tb:1/30000 fr:30/1 sar:0/1 csp:reserved range:tv
[graph 0 input from stream 0:0 @ 0x3ac6e050840] Invalid color range
[Parsed_fps_0 @ 0x3ac6e0503c0] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated.
[vf#0:0 @ 0x3ac6a050540] Error reinitializing filters!
[vf#0:0 @ 0x3ac6a050540] Task finished with error code: -22 (Invalid argument)
[vf#0:0 @ 0x3ac6a050540] Terminating thread with return code -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x3ac6a173a80] Encoder thread received EOF
[vost#0:0/mjpeg @ 0x3ac6a173a80] Could not open encoder before EOF
[vost#0:0/mjpeg @ 0x3ac6a173a80] Task finished with error code: -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x3ac6a173a80] Terminating thread with return code -22 (Invalid argument)
[vist#0:0/h264 @ 0x3ac6a310500] [dec:h264 @ 0x3ac6a6e0780] Decoder returned EOF, finishing
[vist#0:0/h264 @ 0x3ac6a310500] [dec:h264 @ 0x3ac6a6e0780] Terminating thread with return code 0 (success)
[vist#0:0/h264 @ 0x3ac6a310500] All consumers of this stream are done
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3ac6a120280] All consumers are done
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3ac6a120280] Terminating thread with return code 0 (success)
[out#0/image2 @ 0x3ac6a14e7c0] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3ac6a120280] Input file #0 (upload/upload/65fc3068-9448-411c-a5a7-e4c611cf505f/ae/7a/ae7aed2c-fcd1-4e43-9780-acae09c7c99a.mp4):
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3ac6a120280] Input stream #0:0 (video): 312 packets read (2004960 bytes); 2 frames decoded; 0 decode errors;
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3ac6a120280] Total: 312 packets (2004960 bytes) demuxed
[AVIOContext @ 0x3ac6a060680] Statistics: 2424832 bytes read, 0 seeks
Conversion failed!
[Nest] 7 - 04/01/2025, 12:00:01 AM ERROR [Microservices:{"id":"24b3daa2-568f-4ce5-b6d8-8ee03ac99b01"}] Unable to run job handler (thumbnailGeneration/generate-thumbnails): Error: ffmpeg exited with code 234: Conversion failed!
Error: ffmpeg exited with code 234: Conversion failed!
at ChildProcess.<anonymous> (/usr/src/app/node_modules/fluent-ffmpeg/lib/processor.js:180:22)
at ChildProcess.emit (node:events:518:28)
at ChildProcess._handle.onexit (node:internal/child_process:293:12)
I have the same error and ChatGPT gave me this solution:
📝 Issue: ffmpeg exits with code 234 during thumbnail generation of certain iPhone/WhatsApp videos
Description: When uploading a video recorded with an iPhone and sent via WhatsApp (e.g. VID-20250330-WA0005.mp4), Immich fails to generate thumbnails. The error in the logs is:
ERROR [Microservices] Unable to run job handler (thumbnailGeneration/generate-thumbnails): Error: ffmpeg exited with code 234: Conversion failed!
Manually running ffmpeg with -v debug reveals the cause:
[graph 0 input from stream 0:0] Invalid color range [vf@...] Error reinitializing filters! Conversion failed!
This happens because the video uses an unusual or reserved color range (yuv420p(tv, reserved, ...)) that ffmpeg cannot process by default.
Root Cause: ffmpeg fails when the video metadata contains a reserved color range instead of a valid value like tv (limited) or pc (full). This is common with videos recorded on iPhones and processed by WhatsApp.
Suggested Workarounds / Fixes:
✅ Short-term fix: Modify the ffmpeg command in the thumbnail generation service to explicitly set a valid color range:
ffmpeg -color_range 1 -i input.mp4 -frames:v 1 thumb.jpg
Or use a video filter:
-vf scale=in_range=tv:out_range=tv
✅ Alternative: Catch ffmpeg errors with exit code 234 and retry with adjusted parameters.
✅ Optional pre-processing: Re-encode problematic videos before uploading:
ffmpeg -color_range 1 -i input.mp4 -c:v libx264 -crf 23 -c:a copy fixed.mp4
My manual try:
root@immich-server:/usr/src/app# ffmpeg -v debug -i upload/library/Melanie/2025/03/30/VID-20250330-WA0005.mp4 -frames:v 1 thumb.jpg
ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 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=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --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 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Reading option '-i' ... matched as input url with argument 'upload/library/Melanie/2025/03/30/VID-20250330-WA0005.mp4'.
Reading option '-frames:v' ... matched as option 'frames' (set the number of frames to output) with argument '1'.
Reading option 'thumb.jpg' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url upload/library/Melanie/2025/03/30/VID-20250330-WA0005.mp4.
Successfully parsed a group of options.
Opening an input file: upload/library/Melanie/2025/03/30/VID-20250330-WA0005.mp4.
[AVFormatContext @ 0x5a86431f6740] Opening 'upload/library/Melanie/2025/03/30/VID-20250330-WA0005.mp4' for reading
[file @ 0x5a86431f6d00] Setting default whitelist 'file,crypto,data'
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6740] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6740] ISO: File Type Major Brand: mp42
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6740] Unknown dref type 0x206c7275 size 12
Last message repeated 1 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6740] rfps: 29.916667 0.006403
Last message repeated 1 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6740] rfps: 30.000000 0.000002
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6740] rfps: 30.000000 0.019903
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6740] rfps: 60.000000 0.000006
Last message repeated 1 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6740] rfps: 120.000000 0.000025
Last message repeated 1 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6740] rfps: 240.000000 0.000098
Last message repeated 1 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6740] rfps: 29.970030 0.000870
Last message repeated 1 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6740] rfps: 59.940060 0.003479
Last message repeated 1 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6740] Before avformat_find_stream_info() pos: 3618 bytes read:32768 seeks:0 nb_streams:2
[h264 @ 0x5a86431f7540] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0x5a86431f7540] Decoding VUI
[h264 @ 0x5a86431f7540] nal_unit_type: 8(PPS), nal_ref_idc: 3
Transform tree:
mdct_inv_float_avx2 - type: mdct_float, len: 64, factors[2]: [2, any], flags: [aligned, out_of_place, inv_only]
fft32_asm_float_fma3 - type: fft_float, len: 32, factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call]
Transform tree:
mdct_inv_float_avx2 - type: mdct_float, len: 64, factors[2]: [2, any], flags: [aligned, out_of_place, inv_only]
fft32_asm_float_fma3 - type: fft_float, len: 32, factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call]
Transform tree:
mdct_inv_float_avx2 - type: mdct_float, len: 120, factors[2]: [2, any], flags: [aligned, out_of_place, inv_only]
fft_pfa_15xM_asm_float_avx2 - type: fft_float, len: 60, factors[2]: [15, 2], flags: [aligned, inplace, out_of_place, preshuf, asm_call]
fft4_fwd_asm_float_sse2 - type: fft_float, len: 4, factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call]
Transform tree:
mdct_inv_float_avx2 - type: mdct_float, len: 128, factors[2]: [2, any], flags: [aligned, out_of_place, inv_only]
fft_sr_asm_float_avx2 - type: fft_float, len: 64, factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call]
Transform tree:
mdct_inv_float_avx2 - type: mdct_float, len: 480, factors[2]: [2, any], flags: [aligned, out_of_place, inv_only]
fft_pfa_15xM_asm_float_avx2 - type: fft_float, len: 240, factors[2]: [15, 2], flags: [aligned, inplace, out_of_place, preshuf, asm_call]
fft16_asm_float_fma3 - type: fft_float, len: 16, factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call]
Transform tree:
mdct_inv_float_avx2 - type: mdct_float, len: 512, factors[2]: [2, any], flags: [aligned, out_of_place, inv_only]
fft_sr_asm_float_avx2 - type: fft_float, len: 256, factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call]
Transform tree:
mdct_inv_float_avx2 - type: mdct_float, len: 960, factors[2]: [2, any], flags: [aligned, out_of_place, inv_only]
fft_pfa_15xM_asm_float_avx2 - type: fft_float, len: 480, factors[2]: [15, 2], flags: [aligned, inplace, out_of_place, preshuf, asm_call]
fft32_asm_float_fma3 - type: fft_float, len: 32, factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call]
Transform tree:
mdct_inv_float_avx2 - type: mdct_float, len: 1024, factors[2]: [2, any], flags: [aligned, out_of_place, inv_only]
fft_sr_asm_float_avx2 - type: fft_float, len: 512, factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call]
Transform tree:
mdct_fwd_float_c - type: mdct_float, len: 1024, factors[2]: [2, any], flags: [unaligned, out_of_place, fwd_only]
fft_sr_ns_float_avx2 - type: fft_float, len: 512, factor: 2, flags: [aligned, inplace, out_of_place, preshuf]
[h264 @ 0x5a86431f7540] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0x5a86431f7540] Decoding VUI
[h264 @ 0x5a86431f7540] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 0x5a86431f7540] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 0x5a86431f7540] Format yuv420p chosen by get_format().
[h264 @ 0x5a86431f7540] Reinit context to 480x864, pix_fmt: yuv420p
[h264 @ 0x5a86431f7540] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
Last message repeated 5 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6740] All info found
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6740] After avformat_find_stream_info() pos: 120953 bytes read:131072 seeks:0 frames:15
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/library/Melanie/2025/03/30/VID-20250330-WA0005.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
Duration: 00:00:06.95, start: 0.000000, bitrate: 1789 kb/s
Stream #0:00x1, 14, 1/30000: Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, reserved, progressive, left), 474x850, 0/1, 1536 kb/s, 29.76 fps, 30 tbr, 30k tbn (default)
Metadata:
vendor_id : [0][0][0][0]
Stream #0:10x2, 1, 1/48000: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
Metadata:
vendor_id : [0][0][0][0]
Successfully opened the file.
Parsing a group of options: output url thumb.jpg.
Applying option frames:v (set the number of frames to output) with argument 1.
Successfully parsed a group of options.
Opening an output file: thumb.jpg.
[out#0/image2 @ 0x5a8643377f40] No explicit maps, mapping streams automatically...
[vost#0:0/mjpeg @ 0x5a864323bf80] Created video stream from input stream 0:0
detected 8 logical cores
[h264 @ 0x5a864323a340] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0x5a864323a340] Decoding VUI
[h264 @ 0x5a864323a340] nal_unit_type: 8(PPS), nal_ref_idc: 3
Successfully opened the file.
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
[vost#0:0/mjpeg @ 0x5a864323bf80] Starting thread...
[vf#0:0 @ 0x5a86431fdec0] Starting thread...
[vist#0:0/h264 @ 0x5a86431feb00] [dec:h264 @ 0x5a8643236240] Starting thread...
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6480] Starting thread...
Press [q] to stop, [?] for help
[h264 @ 0x5a864323a340] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 0x5a864323a340] Format yuv420p chosen by get_format().
[h264 @ 0x5a864323a340] Reinit context to 480x864, pix_fmt: yuv420p
[h264 @ 0x5a8643246900] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0x5a86432e7c40] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0x5a864326fd40] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0x5a86432f0e40] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0x5a8643254040] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0x5a8643265b40] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0x5a8643314f80] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0x5a864329d640] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[graph 0 input from stream 0:0 @ 0x7611bc002800] Setting 'video_size' to value '474x850'
[graph 0 input from stream 0:0 @ 0x7611bc002800] Setting 'pix_fmt' to value '0'
[graph 0 input from stream 0:0 @ 0x7611bc002800] Setting 'time_base' to value '1/30000'
[graph 0 input from stream 0:0 @ 0x7611bc002800] Setting 'pixel_aspect' to value '0/1'
[graph 0 input from stream 0:0 @ 0x7611bc002800] Setting 'colorspace' to value '3'
[graph 0 input from stream 0:0 @ 0x7611bc002800] Setting 'range' to value '1'
[graph 0 input from stream 0:0 @ 0x7611bc002800] Setting 'frame_rate' to value '30/1'
[graph 0 input from stream 0:0 @ 0x7611bc002800] w:474 h:850 pixfmt:yuv420p tb:1/30000 fr:30/1 sar:0/1 csp:reserved range:tv
[format @ 0x7611bc003240] Setting 'pix_fmts' to value 'yuvj420p|yuvj422p|yuvj444p'
[h264 @ 0x5a864323a340] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[graph 0 input from stream 0:0 @ 0x7611bc002800] Invalid color range
[vf#0:0 @ 0x5a86431fdec0] Error reinitializing filters!
[vf#0:0 @ 0x5a86431fdec0] Task finished with error code: -22 (Invalid argument)
[out#0/image2 @ 0x5a8643377f40] sq: 0 EOF
[out#0/image2 @ 0x5a8643377f40] sq: finish 0; head ts NOPTS
[out#0/image2 @ 0x5a8643377f40] sq: finish queue
[vf#0:0 @ 0x5a86431fdec0] Terminating thread with return code -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x5a864323bf80] Encoder thread received EOF
[vost#0:0/mjpeg @ 0x5a864323bf80] Could not open encoder before EOF
[vost#0:0/mjpeg @ 0x5a864323bf80] Task finished with error code: -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x5a864323bf80] Terminating thread with return code -22 (Invalid argument)
[vist#0:0/h264 @ 0x5a86431feb00] [dec:h264 @ 0x5a8643236240] Decoder returned EOF, finishing
[h264 @ 0x5a8643246900] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[vist#0:0/h264 @ 0x5a86431feb00] [dec:h264 @ 0x5a8643236240] Terminating thread with return code 0 (success)
[vist#0:0/h264 @ 0x5a86431feb00] All consumers of this stream are done
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6480] All consumers are done
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6480] Terminating thread with return code 0 (success)
[out#0/image2 @ 0x5a8643377f40] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6480] Input file #0 (upload/library/Melanie/2025/03/30/VID-20250330-WA0005.mp4):
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6480] Input stream #0:0 (video): 20 packets read (152994 bytes); 3 frames decoded; 0 decode errors;
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5a86431f6480] Total: 20 packets (152994 bytes) demuxed
[AVIOContext @ 0x5a86431fee80] Statistics: 196608 bytes read, 0 seeks
Conversion failed!
Maybe that can help.
@KleenaWildaHase please don't post LLM spam.
If anyone could provide an original file (zipped) up that causes this to fail that'd be helpful!
@KleenaWildaHase please don't post LLM spam.
That said, the ChatGPT response did actually produce the same investigatory result (with the exception of the iPhone/Whatsapp bit, which is definitaly worth looking int) as I did when I looked into the @paszczaq's crash log a few days ago suggesting it's probably somewhat accurate (for once).
Also, I don't think the video issue is the same issue as what others in this thread are seeing (though same outcome) which appears to pretty directly be an ffpmeg issue. Might be worth splitting video issue out to a new thread.
My post was'nt spam. The first part part is the suggestion from ChatGPT, the second the output of the CLI from the docker container to prove, were the failure may be comes from. Please have a look on it.
Input CLI portainer:
root@immich-server:/usr/src/app# ffmpeg -v debug -i upload/library/Melanie/2025/03/30/VID-20250330-WA0005.mp4 -frames:v 1 thumb.jpg ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 the FFmpeg developers built with gcc 12 (Debian 12.2.0-14)
Output (second part of my post): [h264 @ 0x5a864323a340] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2 [graph 0 input from stream 0:0 @ 0x7611bc002800] Invalid color range [vf#0:0 @ 0x5a86431fdec0] Error reinitializing filters! [vf#0:0 @ 0x5a86431fdec0] Task finished with error code: -22 (Invalid argument)
@KleenaWildaHase Can you confirm if this video is valid and if you can share it?
upload/library/Melanie/2025/03/30/VID-20250330-WA0005.mp4
Yes, the video is valid. I've attached another video with the same issue. I received it over WhatsApp from an Iphone.
CLI: ffmpeg -v debug -i upload/library/Steffen/2025/04/06/VID-20250406-WA0003.mp4 -frames:v 1 thumb.jpg
Output:
ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 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=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --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 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Reading option '-i' ... matched as input url with argument 'upload/library/Steffen/2025/04/06/VID-20250406-WA0003.mp4'.
Reading option '-frames:v' ... matched as option 'frames' (set the number of frames to output) with argument '1'.
Reading option 'thumb.jpg' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url upload/library/Steffen/2025/04/06/VID-20250406-WA0003.mp4.
Successfully parsed a group of options.
Opening an input file: upload/library/Steffen/2025/04/06/VID-20250406-WA0003.mp4.
[AVFormatContext @ 0x5b2e5220b740] Opening 'upload/library/Steffen/2025/04/06/VID-20250406-WA0003.mp4' for reading
[file @ 0x5b2e5220bd00] Setting default whitelist 'file,crypto,data'
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b740] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b740] ISO: File Type Major Brand: mp42
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b740] Unknown dref type 0x206c7275 size 12
Last message repeated 1 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b740] rfps: 29.916667 0.006359
Last message repeated 1 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b740] rfps: 30.000000 0.000002
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b740] rfps: 60.000000 0.000007
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b740] rfps: 120.000000 0.000027
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b740] rfps: 240.000000 0.000110
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b740] rfps: 29.970030 0.000866
Last message repeated 1 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b740] rfps: 59.940060 0.003465
Last message repeated 1 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b740] Before avformat_find_stream_info() pos: 4909 bytes read:32768 seeks:0 nb_streams:2
[h264 @ 0x5b2e5220c540] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0x5b2e5220c540] Decoding VUI
[h264 @ 0x5b2e5220c540] nal_unit_type: 8(PPS), nal_ref_idc: 3
Transform tree:
mdct_inv_float_avx2 - type: mdct_float, len: 64, factors[2]: [2, any], flags: [aligned, out_of_place, inv_only]
fft32_asm_float_fma3 - type: fft_float, len: 32, factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call]
Transform tree:
mdct_inv_float_avx2 - type: mdct_float, len: 64, factors[2]: [2, any], flags: [aligned, out_of_place, inv_only]
fft32_asm_float_fma3 - type: fft_float, len: 32, factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call]
Transform tree:
mdct_inv_float_avx2 - type: mdct_float, len: 120, factors[2]: [2, any], flags: [aligned, out_of_place, inv_only]
fft_pfa_15xM_asm_float_avx2 - type: fft_float, len: 60, factors[2]: [15, 2], flags: [aligned, inplace, out_of_place, preshuf, asm_call]
fft4_fwd_asm_float_sse2 - type: fft_float, len: 4, factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call]
Transform tree:
mdct_inv_float_avx2 - type: mdct_float, len: 128, factors[2]: [2, any], flags: [aligned, out_of_place, inv_only]
fft_sr_asm_float_avx2 - type: fft_float, len: 64, factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call]
Transform tree:
mdct_inv_float_avx2 - type: mdct_float, len: 480, factors[2]: [2, any], flags: [aligned, out_of_place, inv_only]
fft_pfa_15xM_asm_float_avx2 - type: fft_float, len: 240, factors[2]: [15, 2], flags: [aligned, inplace, out_of_place, preshuf, asm_call]
fft16_asm_float_fma3 - type: fft_float, len: 16, factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call]
Transform tree:
mdct_inv_float_avx2 - type: mdct_float, len: 512, factors[2]: [2, any], flags: [aligned, out_of_place, inv_only]
fft_sr_asm_float_avx2 - type: fft_float, len: 256, factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call]
Transform tree:
mdct_inv_float_avx2 - type: mdct_float, len: 960, factors[2]: [2, any], flags: [aligned, out_of_place, inv_only]
fft_pfa_15xM_asm_float_avx2 - type: fft_float, len: 480, factors[2]: [15, 2], flags: [aligned, inplace, out_of_place, preshuf, asm_call]
fft32_asm_float_fma3 - type: fft_float, len: 32, factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call]
Transform tree:
mdct_inv_float_avx2 - type: mdct_float, len: 1024, factors[2]: [2, any], flags: [aligned, out_of_place, inv_only]
fft_sr_asm_float_avx2 - type: fft_float, len: 512, factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call]
Transform tree:
mdct_fwd_float_c - type: mdct_float, len: 1024, factors[2]: [2, any], flags: [unaligned, out_of_place, fwd_only]
fft_sr_ns_float_avx2 - type: fft_float, len: 512, factor: 2, flags: [aligned, inplace, out_of_place, preshuf]
[h264 @ 0x5b2e5220c540] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0x5b2e5220c540] Decoding VUI
[h264 @ 0x5b2e5220c540] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 0x5b2e5220c540] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 0x5b2e5220c540] Format yuv420p chosen by get_format().
[h264 @ 0x5b2e5220c540] Reinit context to 480x864, pix_fmt: yuv420p
[h264 @ 0x5b2e5220c540] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
Last message repeated 5 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b740] All info found
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b740] After avformat_find_stream_info() pos: 91871 bytes read:98304 seeks:0 frames:14
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/library/Steffen/2025/04/06/VID-20250406-WA0003.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
Duration: 00:00:10.57, start: 0.000000, bitrate: 1801 kb/s
Stream #0:00x1, 13, 1/30000: Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, reserved, progressive, left), 478x850, 0/1, 1544 kb/s, 30 fps, 30 tbr, 30k tbn (default)
Metadata:
vendor_id : [0][0][0][0]
Stream #0:10x2, 1, 1/48000: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
Metadata:
vendor_id : [0][0][0][0]
Successfully opened the file.
Parsing a group of options: output url thumb.jpg.
Applying option frames:v (set the number of frames to output) with argument 1.
Successfully parsed a group of options.
Opening an output file: thumb.jpg.
[out#0/image2 @ 0x5b2e5220d840] No explicit maps, mapping streams automatically...
[vost#0:0/mjpeg @ 0x5b2e52252740] Created video stream from input stream 0:0
detected 8 logical cores
[h264 @ 0x5b2e52262b40] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0x5b2e52262b40] Decoding VUI
[h264 @ 0x5b2e52262b40] nal_unit_type: 8(PPS), nal_ref_idc: 3
Successfully opened the file.
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
[vost#0:0/mjpeg @ 0x5b2e52252740] Starting thread...
[vf#0:0 @ 0x5b2e5238c980] Starting thread...
[vist#0:0/h264 @ 0x5b2e52213a00] [dec:h264 @ 0x5b2e5224ca00] Starting thread...
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b480] Starting thread...
Press [q] to stop, [?] for help
[h264 @ 0x5b2e52262b40] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 0x5b2e52262b40] Format yuv420p chosen by get_format().
[h264 @ 0x5b2e52262b40] Reinit context to 480x864, pix_fmt: yuv420p
[h264 @ 0x5b2e5225cd80] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0x5b2e522fa700] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0x5b2e52282a40] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0x5b2e52303a00] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0x5b2e52266d00] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0x5b2e52278800] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0x5b2e52326c00] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0x5b2e522b0240] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[graph 0 input from stream 0:0 @ 0x7382bc002800] Setting 'video_size' to value '478x850'
[graph 0 input from stream 0:0 @ 0x7382bc002800] Setting 'pix_fmt' to value '0'
[graph 0 input from stream 0:0 @ 0x7382bc002800] Setting 'time_base' to value '1/30000'
[graph 0 input from stream 0:0 @ 0x7382bc002800] Setting 'pixel_aspect' to value '0/1'
[graph 0 input from stream 0:0 @ 0x7382bc002800] Setting 'colorspace' to value '3'
[graph 0 input from stream 0:0 @ 0x7382bc002800] Setting 'range' to value '1'
[graph 0 input from stream 0:0 @ 0x7382bc002800] Setting 'frame_rate' to value '30/1'
[graph 0 input from stream 0:0 @ 0x7382bc002800] w:478 h:850 pixfmt:yuv420p tb:1/30000 fr:30/1 sar:0/1 csp:reserved range:tv
[format @ 0x7382bc003240] Setting 'pix_fmts' to value 'yuvj420p|yuvj422p|yuvj444p'
[graph 0 input from stream 0:0 @ 0x7382bc002800] Invalid color range
[h264 @ 0x5b2e52262b40] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[vf#0:0 @ 0x5b2e5238c980] Error reinitializing filters!
[vf#0:0 @ 0x5b2e5238c980] Task finished with error code: -22 (Invalid argument)
[out#0/image2 @ 0x5b2e5220d840] sq: 0 EOF
[out#0/image2 @ 0x5b2e5220d840] sq: finish 0; head ts NOPTS
[out#0/image2 @ 0x5b2e5220d840] sq: finish queue
[vf#0:0 @ 0x5b2e5238c980] Terminating thread with return code -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x5b2e52252740] Encoder thread received EOF
[vost#0:0/mjpeg @ 0x5b2e52252740] Could not open encoder before EOF
[vost#0:0/mjpeg @ 0x5b2e52252740] Task finished with error code: -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x5b2e52252740] Terminating thread with return code -22 (Invalid argument)
[vist#0:0/h264 @ 0x5b2e52213a00] [dec:h264 @ 0x5b2e5224ca00] Decoder returned EOF, finishing
[h264 @ 0x5b2e5225cd80] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[vist#0:0/h264 @ 0x5b2e52213a00] [dec:h264 @ 0x5b2e5224ca00] Terminating thread with return code 0 (success)
[vist#0:0/h264 @ 0x5b2e52213a00] All consumers of this stream are done
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b480] All consumers are done
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b480] Terminating thread with return code 0 (success)
[out#0/image2 @ 0x5b2e5220d840] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b480] Input file #0 (upload/library/Steffen/2025/04/06/VID-20250406-WA0003.mp4):
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b480] Input stream #0:0 (video): 20 packets read (130288 bytes); 3 frames decoded; 0 decode errors;
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x5b2e5220b480] Total: 20 packets (130288 bytes) demuxed
[AVIOContext @ 0x5b2e52213e80] Statistics: 163840 bytes read, 0 seeks
Conversion failed!
I think that may be the clue - at least one of the on my video's with thumbnail issue was received through Whatsapp
I am having the same issue with a whatsapp video file, the file does exist.
[Nest] 294 - 04/16/2025, 4:00:22 AM ERROR [Microservices:MediaRepository] ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 13 (Ubuntu 13.2.0-23ubuntu4)
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=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --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 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
[h264 @ 0x3f244050400] Reinit context to 480x864, pix_fmt: yuv420p
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/photos/library/eff5e672-1c8e-4e32-a5d3-c0b332926752/2025/2025-02-06/VID-20250206-WA0000.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
Duration: 00:00:40.02, start: 0.000000, bitrate: 1644 kb/s
Stream #0:0[0x1](und): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, reserved, progressive, left), 478x850, 1514 kb/s, 29.33 fps, 23.98 tbr, 30k tbn (default)
Metadata:
vendor_id : [0][0][0][0]
Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
vendor_id : [0][0][0][0]
[out#0/image2 @ 0x3f2440afb40] No explicit maps, mapping streams automatically...
[vost#0:0/mjpeg @ 0x3f2441c3600] Created video stream from input stream 0:0
[Parsed_thumbnail_1 @ 0x3f2440af540] batch size: 12 frames
[Parsed_fps_0 @ 0x3f2440ad140] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated.
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
[vost#0:0/mjpeg @ 0x3f2441c3600] Starting thread...
[vf#0:0 @ 0x3f2440f0b40] Starting thread...
[vist#0:0/h264 @ 0x3f2449c0e00] [dec:h264 @ 0x3f2440e0d80] Starting thread...
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3f244100200] Starting thread...
Press [q] to stop, [?] for help
[h264 @ 0x3f244051800] Reinit context to 480x864, pix_fmt: yuv420p
[Parsed_thumbnail_1 @ 0x3f248050480] batch size: 12 frames
[graph 0 input from stream 0:0 @ 0x3f248050780] w:478 h:850 pixfmt:yuv420p tb:1/30000 fr:24000/1001 sar:0/1 csp:reserved range:tv
[graph 0 input from stream 0:0 @ 0x3f248050780] Invalid color range
[Parsed_fps_0 @ 0x3f248050300] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated.
[vf#0:0 @ 0x3f2440f0b40] Error reinitializing filters!
[vf#0:0 @ 0x3f2440f0b40] Task finished with error code: -22 (Invalid argument)
[vf#0:0 @ 0x3f2440f0b40] Terminating thread with return code -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x3f2441c3600] Encoder thread received EOF
[vost#0:0/mjpeg @ 0x3f2441c3600] Could not open encoder before EOF
[vost#0:0/mjpeg @ 0x3f2441c3600] Task finished with error code: -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x3f2441c3600] Terminating thread with return code -22 (Invalid argument)
[vist#0:0/h264 @ 0x3f2449c0e00] [dec:h264 @ 0x3f2440e0d80] Decoder returned EOF, finishing
[vist#0:0/h264 @ 0x3f2449c0e00] [dec:h264 @ 0x3f2440e0d80] Terminating thread with return code 0 (success)
[vist#0:0/h264 @ 0x3f2449c0e00] All consumers of this stream are done
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3f244100200] All consumers are done
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3f244100200] Terminating thread with return code 0 (success)
[out#0/image2 @ 0x3f2440afb40] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3f244100200] Input file #0 (/photos/library/eff5e672-1c8e-4e32-a5d3-c0b332926752/2025/2025-02-06/VID-20250206-WA0000.mp4):
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3f244100200] Input stream #0:0 (video): 325 packets read (2168586 bytes); 2 frames decoded; 0 decode errors;
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3f244100200] Total: 325 packets (2168586 bytes) demuxed
[AVIOContext @ 0x3f2440e0480] Statistics: 2392064 bytes read, 0 seeks
Conversion failed!
[Nest] 294 - 04/16/2025, 4:00:22 AM ERROR [Microservices:{"id":"c0c9c373-c055-499a-ac62-32420badeca8"}] Unable to run job handler (thumbnailGeneration/generate-thumbnails): Error: ffmpeg exited with code 234: Conversion failed!
Error: ffmpeg exited with code 234: Conversion failed!
at ChildProcess.<anonymous> (/app/immich/server/node_modules/fluent-ffmpeg/lib/processor.js:180:22)
at ChildProcess.emit (node:events:524:28)
at ChildProcess._handle.onexit (node:internal/child_process:293:12)
at Process.callbackTrampoline (node:internal/async_hooks:130:17)
Same error here for some file.
Image v1.134.0
[Nest] 7 - 06/10/2025, 8:59:39 AM ERROR [Microservices:MediaRepository] ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 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=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --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 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
[h264 @ 0x58dae1a0580] Reinit context to 480x864, pix_fmt: yuv420p
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/library/180af784-2c2c-429d-b093-9fed379278c1/2024/2024-07-22/VID-20240722-WA0007.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
Duration: 00:00:11.11, start: 0.000000, bitrate: 1775 kb/s
Stream #0:0[0x1](und): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, reserved, progressive, left), 478x850, 1515 kb/s, 29.78 fps, 29.75 tbr, 90k tbn (default)
Metadata:
vendor_id : [0][0][0][0]
Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
Metadata:
vendor_id : [0][0][0][0]
[out#0/image2 @ 0x58dae12d8c0] No explicit maps, mapping streams automatically...
[vost#0:0/mjpeg @ 0x58dae162880] Created video stream from input stream 0:0
[Parsed_thumbnail_1 @ 0x58dae12d200] batch size: 12 frames
[Parsed_fps_0 @ 0x58dae12d2c0] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated.
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
[vost#0:0/mjpeg @ 0x58dae162880] Starting thread...
[vf#0:0 @ 0x58dae030540] Starting thread...
[vist#0:0/h264 @ 0x58dae140a80] [dec:h264 @ 0x58dae141200] Starting thread...
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x58dae090280] Starting thread...
Press [q] to stop, [?] for help
[h264 @ 0x58dae1a1980] Reinit context to 480x864, pix_fmt: yuv420p
[Parsed_thumbnail_1 @ 0x58db2050540] batch size: 12 frames
[graph 0 input from stream 0:0 @ 0x58db2050840] w:478 h:850 pixfmt:yuv420p tb:1/90000 fr:119/4 sar:0/1 csp:reserved range:tv
[graph 0 input from stream 0:0 @ 0x58db2050840] Invalid color range
[Parsed_fps_0 @ 0x58db20503c0] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated.
[vf#0:0 @ 0x58dae030540] Error reinitializing filters!
[vf#0:0 @ 0x58dae030540] Task finished with error code: -22 (Invalid argument)
[vf#0:0 @ 0x58dae030540] Terminating thread with return code -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x58dae162880] Encoder thread received EOF
[vost#0:0/mjpeg @ 0x58dae162880] Could not open encoder before EOF
[vost#0:0/mjpeg @ 0x58dae162880] Task finished with error code: -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x58dae162880] Terminating thread with return code -22 (Invalid argument)
[vist#0:0/h264 @ 0x58dae140a80] [dec:h264 @ 0x58dae141200] Decoder returned EOF, finishing
[vist#0:0/h264 @ 0x58dae140a80] [dec:h264 @ 0x58dae141200] Terminating thread with return code 0 (success)
[vist#0:0/h264 @ 0x58dae140a80] All consumers of this stream are done
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x58dae090280] All consumers are done
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x58dae090280] Terminating thread with return code 0 (success)
[out#0/image2 @ 0x58dae12d8c0] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x58dae090280] Input file #0 (upload/library/180af784-2c2c-429d-b093-9fed379278c1/2024/2024-07-22/VID-20240722-WA0007.mp4):
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x58dae090280] Input stream #0:0 (video): 322 packets read (2052334 bytes); 2 frames decoded; 0 decode errors;
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x58dae090280] Total: 322 packets (2052334 bytes) demuxed
[AVIOContext @ 0x58dae140480] Statistics: 2427136 bytes read, 2 seeks
Conversion failed!
[Nest] 7 - 06/10/2025, 8:59:39 AM ERROR [Microservices:{"id":"8c8e3c79-3c56-4b09-8d99-5cc5c60e5002"}] Unable to run job handler (generate-thumbnails): Error: ffmpeg exited with code 234: Conversion failed!
Error: ffmpeg exited with code 234: Conversion failed!
at ChildProcess.<anonymous> (/usr/src/app/node_modules/fluent-ffmpeg/lib/processor.js:180:22)
at ChildProcess.emit (node:events:518:28)
at ChildProcess._handle.onexit (node:internal/child_process:293:12)
I have the same issue with the latest release '1.134.0':
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=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --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 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
[h264 @ 0x3538a2d0580] Reinit context to 480x864, pix_fmt: yuv420p
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/library/f39b9225-67f1-45c8-b754-cbcf09aae889/2023/July/VID-20230714-WA0005.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
Duration: 00:00:45.73, start: 0.000000, bitrate: 1873 kb/s
Stream #0:0[0x1](und): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, reserved, progressive, left), 480x864, 1612 kb/s, 30 fps, 30 tbr, 90k tbn (default)
Metadata:
vendor_id : [0][0][0][0]
Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
Metadata:
vendor_id : [0][0][0][0]
[out#0/image2 @ 0x3538a14e7c0] No explicit maps, mapping streams automatically...
[vost#0:0/mjpeg @ 0x3538a173180] Created video stream from input stream 0:0
[Parsed_thumbnail_1 @ 0x3538a14d380] batch size: 12 frames
[Parsed_fps_0 @ 0x3538a14e700] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated.
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
[vost#0:0/mjpeg @ 0x3538a173180] Starting thread...
[vf#0:0 @ 0x3538a050400] Starting thread...
[vist#0:0/h264 @ 0x3538a230500] [dec:h264 @ 0x3538a700600] Starting thread...
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3538a120280] Starting thread...
Press [q] to stop, [?] for help
[h264 @ 0x3538a2d1980] Reinit context to 480x864, pix_fmt: yuv420p
[Parsed_thumbnail_1 @ 0x3538e050540] batch size: 12 frames
[graph 0 input from stream 0:0 @ 0x3538e050840] w:480 h:864 pixfmt:yuv420p tb:1/90000 fr:30/1 sar:0/1 csp:reserved range:tv
[graph 0 input from stream 0:0 @ 0x3538e050840] Invalid color range
[Parsed_fps_0 @ 0x3538e0503c0] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated.
[vf#0:0 @ 0x3538a050400] Error reinitializing filters!
[vf#0:0 @ 0x3538a050400] Task finished with error code: -22 (Invalid argument)
[vf#0:0 @ 0x3538a050400] Terminating thread with return code -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x3538a173180] Encoder thread received EOF
[vost#0:0/mjpeg @ 0x3538a173180] Could not open encoder before EOF
[vost#0:0/mjpeg @ 0x3538a173180] Task finished with error code: -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x3538a173180] Terminating thread with return code -22 (Invalid argument)
[vist#0:0/h264 @ 0x3538a230500] [dec:h264 @ 0x3538a700600] Decoder returned EOF, finishing
[vist#0:0/h264 @ 0x3538a230500] [dec:h264 @ 0x3538a700600] Terminating thread with return code 0 (success)
[vist#0:0/h264 @ 0x3538a230500] All consumers of this stream are done
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3538a120280] All consumers are done
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3538a120280] Terminating thread with return code 0 (success)
[out#0/image2 @ 0x3538a14e7c0] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3538a120280] Input file #0 (upload/library/f39b9225-67f1-45c8-b754-cbcf09aae889/2023/July/VID-20230714-WA0005.mp4):
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3538a120280] Input stream #0:0 (video): 325 packets read (2179924 bytes); 2 frames decoded; 0 decode errors;
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x3538a120280] Total: 325 packets (2179924 bytes) demuxed
[AVIOContext @ 0x3538a060540] Statistics: 2556707 bytes read, 0 seeks
Conversion failed!
[Nest] 7 - 06/14/2025, 10:00:21 AM ERROR [Microservices:{"id":"bdd0f631-6134-4da4-94b7-ae4c387c7286"}] Unable to run job handler (generate-thumbnails): Error: ffmpeg exited with code 234: Conversion failed!
Error: ffmpeg exited with code 234: Conversion failed!
at ChildProcess.<anonymous> (/usr/src/app/node_modules/fluent-ffmpeg/lib/processor.js:180:22)```
The issue still persists. The amount of "Error loading image" thumbnails keeps increasing :(
The issue still persists. The amount of "Error loading image" thumbnails keeps increasing :(
Can you confirm that it only affects videos that has been sent via WhatsApp?
The issue still persists. The amount of "Error loading image" thumbnails keeps increasing :(
Can you confirm that it only affects videos that has been sent via WhatsApp?
At first glance, yes. The video itself is fine, you can see it running when hovering over the "Error loading image".
For me the same error occurs on the latest current release 1.135.3 for certain round video messages saved from Telegram. Worth noting all of them were recorded around the same time (September of 2023) and always come from the same 2 users (both using the Android Telegram client). Here's the docker log:
[Nest] 7 - 07/14/2025, 7:49:02 AM ERROR [Microservices:MediaRepository] ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 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=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --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 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
[h264 @ 0x40e78200180] Reinit context to 384x384, pix_fmt: yuv420p
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/library/user/2023/October/file_70@10-10-2023_16-19-10.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
creation_time : 2023-10-10T16:19:10.000000Z
Duration: 00:00:29.72, start: 0.000000, bitrate: 1090 kb/s
Stream #0:0[0x1](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 65 kb/s (default)
Metadata:
creation_time : 2023-10-10T13:16:59.000000Z
handler_name : SoundHandle
vendor_id : [0][0][0][0]
Stream #0:1[0x2](eng): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, reserved, progressive, left), 384x384, 1023 kb/s, 29.28 fps, 24.92 tbr, 90k tbn (default)
Metadata:
creation_time : 2023-10-10T13:16:59.000000Z
handler_name : VideoHandle
vendor_id : [0][0][0][0]
[out#0/image2 @ 0x40e7814ccc0] No explicit maps, mapping streams automatically...
[vost#0:0/mjpeg @ 0x40e78173780] Created video stream from input stream 0:1
[Parsed_thumbnail_1 @ 0x40e7814fcc0] batch size: 12 frames
[Parsed_fps_0 @ 0x40e7814cc00] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated.
Stream mapping:
Stream #0:1 -> #0:0 (h264 (native) -> mjpeg (native))
[vost#0:0/mjpeg @ 0x40e78173780] Starting thread...
[vf#0:0 @ 0x40e78050540] Starting thread...
[vist#0:1/h264 @ 0x40e78240f80] [dec:h264 @ 0x40e78062980] Starting thread...
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x40e78120280] Starting thread...
Press [q] to stop, [?] for help
[h264 @ 0x40e78201180] Reinit context to 384x384, pix_fmt: yuv420p
[Parsed_thumbnail_1 @ 0x40e7c050540] batch size: 12 frames
[graph 0 input from stream 0:1 @ 0x40e7c050840] w:384 h:384 pixfmt:yuv420p tb:1/90000 fr:299/12 sar:0/1 csp:reserved range:tv
[graph 0 input from stream 0:1 @ 0x40e7c050840] Invalid color range
[Parsed_fps_0 @ 0x40e7c0503c0] 0 frames in, 0 frames out; 0 frames dropped, 0 frames duplicated.
[vf#0:0 @ 0x40e78050540] Error reinitializing filters!
[vf#0:0 @ 0x40e78050540] Task finished with error code: -22 (Invalid argument)
[vf#0:0 @ 0x40e78050540] Terminating thread with return code -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x40e78173780] Encoder thread received EOF
[vost#0:0/mjpeg @ 0x40e78173780] Could not open encoder before EOF
[vost#0:0/mjpeg @ 0x40e78173780] Task finished with error code: -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x40e78173780] Terminating thread with return code -22 (Invalid argument)
[vist#0:1/h264 @ 0x40e78240f80] [dec:h264 @ 0x40e78062980] Decoder returned EOF, finishing
[vist#0:1/h264 @ 0x40e78240f80] [dec:h264 @ 0x40e78062980] Terminating thread with return code 0 (success)
[vist#0:1/h264 @ 0x40e78240f80] All consumers of this stream are done
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x40e78120280] All consumers are done
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x40e78120280] Terminating thread with return code 0 (success)
[out#0/image2 @ 0x40e7814ccc0] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x40e78120280] Input file #0 (upload/library/user/2023/October/file_70@10-10-2023_16-19-10.mp4):
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x40e78120280] Input stream #0:1 (video): 55 packets read (329671 bytes); 2 frames decoded; 0 decode errors;
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x40e78120280] Total: 55 packets (329671 bytes) demuxed
[AVIOContext @ 0x40e78060540] Statistics: 393216 bytes read, 0 seeks
Conversion failed!
[Nest] 7 - 07/14/2025, 7:49:02 AM ERROR [Microservices:{"id":"343db151-11b4-4b76-8842-8b10d3e26f95"}] Unable to run job handler (generate-thumbnails): Error: ffmpeg exited with code 234: Conversion failed!
Error: ffmpeg exited with code 234: Conversion failed!
at ChildProcess.<anonymous> (/usr/src/app/node_modules/fluent-ffmpeg/lib/processor.js:180:22)
at ChildProcess.emit (node:events:518:28)
at ChildProcess._handle.onexit (node:internal/child_process:293:12)
Having the same issue since upgrading to 1.135.3
Any ideas how to solve that problem?
I'm having the same issue with the newest version v1.136.0
Hello, I have the same issue with version [v1.137.3]. And it appears on every video regardless of their origin.