• Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below
  • Forum
  • Website
  • GitHub
  • Status
  • Translation
  • Features
  • Team
  • Rules
  • Help
  • Feeds
User Links
  • Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below

    Useful Links Forum Website GitHub Status Translation Features Team Rules Help Feeds
    Jellyfin Forum Support Troubleshooting Media Scanning & Identification SOLVED: Jpeg XL .jxl photos do not appear

    Pages (2): 1 2 Next »

     
    • 0 Vote(s) - 0 Average

    SOLVED: Jpeg XL .jxl photos do not appear

    Jpeg XL .jxl photos do not appear
    jellyforphotos
    Offline

    Junior Member

    Posts: 9
    Threads: 1
    Joined: 2024 May
    Reputation: 0
    Country:France
    #1
    2024-05-09, 07:30 PM
    hi everybody
    I wish to use Jellyfin for a personal photos and videos, I did a fresh installation of Jellyfin :
     Jellyfin version: 10.8.13
     Operating system: Linux
     Main: Architecture: X64
    Installed on a LXC container in Proxmox  :
     Proxmox 6.5.13-5-pve 
     Description:    Ubuntu 23.10
     Release:        23.10
     Codename:      mantic
    I followed the straightforward Jellyfin installation guide, so, all automatic.

    Everything works fine, I can view and display photos and videos from an Amazon fire stick, or directly from Jellyfin web server 

    However, Jpeg XL images (.jxl) do not appear.

    (indeed I have many .heic images, which is not supported by ffmpeg, so I converted them to .jxl with the reference tool cjxl from libjxl v7.0)

    checking ffmpeg it is correctly configured for jxl :

    ffmpeg version 6.0-6ubuntu1 Copyright © 2000-2023 the FFmpeg developers
      built with gcc 13 (Ubuntu 13.2.0-2ubuntu1)
      configuration: --prefix=/usr --extra-version=6ubuntu1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libvpl --disable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared
      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


    I also tested it can for example correctly encode, this command works fine : ffmpeg -i 20211212_164845.jpg -c:v libjxl testimage.jxl

    any idea ?

    many thanks!
    Go to solution
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #2
    2024-05-09, 07:35 PM
    What browser are you using? I recall that Chrome dropped support for JPEG-XL.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    jellyforphotos
    Offline

    Junior Member

    Posts: 9
    Threads: 1
    Joined: 2024 May
    Reputation: 0
    Country:France
    #3
    2024-05-09, 07:40 PM
    I used Chrome indeed, and tried also Firefox.

    Also in the logs

    this seems strange ? : it is indicated a different ffmpeg version? Found ffmpeg version "5.1.4"

    [2024-05-09 08:56:52.218 +00:00] [INF] Operating system: "Linux"
    [2024-05-09 08:56:52.218 +00:00] [INF] Architecture: X64
    [2024-05-09 08:56:52.218 +00:00] [INF] 64-Bit Process: True
    [2024-05-09 08:56:52.218 +00:00] [INF] User Interactive: True
    [2024-05-09 08:56:52.218 +00:00] [INF] Processor count: 2
    [2024-05-09 08:56:52.218 +00:00] [INF] Program data path: "/var/lib/jellyfin"
    [2024-05-09 08:56:52.218 +00:00] [INF] Web resources path: "/usr/share/jellyfin/web"
    [2024-05-09 08:56:52.218 +00:00] [INF] Application directory: "/usr/lib/jellyfin/bin/"
    [2024-05-09 08:56:52.329 +00:00] [INF] Setting cache path: "/var/cache/jellyfin"
    [2024-05-09 08:56:52.342 +00:00] [INF] Loading assemblies
    [2024-05-09 08:56:52.407 +00:00] [INF] Defined LAN addresses : "[10.0.0.0/8,172.16.0.0/12,192.168.0.0/16]"
    [2024-05-09 08:56:52.407 +00:00] [INF] Defined LAN exclusions : "[]"
    [2024-05-09 08:56:52.408 +00:00] [INF] Using LAN addresses: "[10.0.0.0/8,172.16.0.0/12,192.168.0.0/16]"
    [2024-05-09 08:56:52.410 +00:00] [INF] Using bind addresses: "[]"
    [2024-05-09 08:56:52.410 +00:00] [INF] Using bind exclusions: "[]"
    [2024-05-09 08:56:53.554 +00:00] [INF] Loaded plugin: "TMDb" "10.8.13.0"
    [2024-05-09 08:56:53.554 +00:00] [INF] Loaded plugin: "Studio Images" "10.8.13.0"
    [2024-05-09 08:56:53.554 +00:00] [INF] Loaded plugin: "OMDb" "10.8.13.0"
    [2024-05-09 08:56:53.555 +00:00] [INF] Loaded plugin: "MusicBrainz" "10.8.13.0"
    [2024-05-09 08:56:53.555 +00:00] [INF] Loaded plugin: "AudioDB" "10.8.13.0"
    [2024-05-09 08:56:53.583 +00:00] [INF] Kestrel listening on "Any IP4 Address"
    [2024-05-09 08:56:53.748 +00:00] [INF] Running startup tasks
    [2024-05-09 08:56:53.774 +00:00] [INF] Daily trigger for "Extraire les images de chapitre" set to fire at 2024-05-10 02:00:00.000 +00:00, which is 17:03:06.2255374 from now.
    [2024-05-09 08:56:53.835 +00:00] [INF] Found ffmpeg version "5.1.4"
    [2024-05-09 08:56:53.856 +00:00] [INF] Available "decoders": ["libdav1d", "av1", "av1_cuvid", "av1_qsv", "h264", "h264_qsv", "h264_cuvid", "hevc", "hevc_qsv", "hevc_cuvid", "mpeg2video", "mpeg2_qsv", "mpeg2_cuvid", "mpeg4", "mpeg4_cuvid", "msmpeg4", "vc1_qsv", "vc1_cuvid", "vp8", "libvpx", "vp8_cuvid", "vp8_qsv", "vp9", "libvpx-vp9", "vp9_cuvid", "vp9_qsv", "aac", "ac3", "dca", "flac", "mp3", "truehd"]
    [2024-05-09 08:56:53.865 +00:00] [INF] Available "encoders": ["libx264", "h264_amf", "h264_nvenc", "h264_qsv", "h264_v4l2m2m", "h264_vaapi", "libx265", "hevc_amf", "hevc_nvenc", "hevc_qsv", "hevc_vaapi", "mpeg4", "msmpeg4", "libvpx", "libvpx-vp9", "aac", "libfdk_aac", "ac3", "dca", "flac", "libmp3lame", "libopus", "truehd", "libvorbis", "srt"]
    [2024-05-09 08:56:53.876 +00:00] [INF] Available filters: ["deinterlace_qsv", "deinterlace_vaapi", "hwupload_cuda", "hwupload_vaapi", "overlay_opencl", "overlay_qsv", "overlay_vaapi", "overlay_cuda", "procamp_vaapi", "scale_cuda", "scale_opencl", "scale_qsv", "scale_vaapi", "tonemap_cuda", "tonemap_opencl", "tonemap_vaapi", "vpp_qsv", "yadif_cuda", "zscale", "alphasrc"]
    [2024-05-09 08:56:53.928 +00:00] [INF] Available hwaccel types: ["cuda", "vaapi", "qsv", "drm", "opencl", "vulkan"]
    [2024-05-09 08:56:53.983 +00:00] [INF] FFmpeg: "/usr/lib/jellyfin-ffmpeg/ffmpeg"
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #4
    2024-05-09, 07:55 PM
    Jellyfin uses a forked and modified ffmpeg. I'm not sure ffmpeg is involved at all in how Jellyfin serves photos. I'm going to wager that Jellyfin just doesn't support JPEG-XL based on this list.

    https://github.com/jellyfin/jellyfin/blo...sor.cs#L83

    But I could be wrong.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    jellyforphotos
    Offline

    Junior Member

    Posts: 9
    Threads: 1
    Joined: 2024 May
    Reputation: 0
    Country:France
    #5
    2024-05-09, 09:25 PM (This post was last modified: 2024-05-09, 09:27 PM by jellyforphotos.)
    hum.. you are probably right, it could be even less formats looking for example at: https://github.com/jellyfin/jellyfin/blo...eFormat.cs

    do you know how to take this forward ? is there a documentation listing the supported image formats ? (I couldn't find it). Should I post a feature request and is there any hope it will taken ?

    sorry for many questions, and thanks for your help so far

    also, if I could understand the dependancies and what is used to decode images in the end, maybe I could tweak the code. I will look further.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #6
    2024-05-09, 09:34 PM
    IIRC, image support is derived from another library Jellyfin imports and that support for JPEG-XL (and AVIF) is missing in that imported library. I forget what the library is called, but it isn't as simple as adding "jxl" to that list of supported image types.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    gnattu
    Offline

    Team Member

    Posts: 336
    Threads: 0
    Joined: 2024 Feb
    Reputation: 17
    #7
    2024-05-10, 01:18 AM
    The image support is indeed very limited and we can do very little about it. If you do need advanced format support you'd better use something else for photo gallery
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #8
    2024-05-10, 01:14 PM
    Check out immish. It is a self-hosted photo platform.

    https://github.com/immich-app/immich
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    jellyforphotos
    Offline

    Junior Member

    Posts: 9
    Threads: 1
    Joined: 2024 May
    Reputation: 0
    Country:France
    #9
    2024-05-10, 07:01 PM
    hello
    Many thanks you for your inputs. However, I think Jellyfin is good overall including for images, and it is worth developing this part. Not a a lot of things are missing to attract more users. I noted:
    - support a few more formats (I am still not sure if dependancy is .NET or ffmeg or other..)
    - sort by image date
    - I think there is a limit of nb of files per folder.. (need to recheck)
    It is very convenient to install & use.
    So, I believe it is worth developping.

    In case you have more practical inputs, like exactly where in the code images are loaded, checked, and 'collaged', I will be grateful.
    jellyforphotos
    Offline

    Junior Member

    Posts: 9
    Threads: 1
    Joined: 2024 May
    Reputation: 0
    Country:France
    #10
    2024-05-20, 02:53 PM
    I could finally adapt Jellyfin in order to support jpeg xl picture format; in nutshell:
    - modification of image decode methods, to redirect to djxl instead of skiasharp (requires to install libjxl on system)
    - same modification at various places: generation of thumbnails, before web client downloads a picture ; and also before using taglib for exif data analysis (although it seels Jellyfin does not do anything with exif data)
    - methods to delete temp files after usage
    - recompile from source
    If someone needs the code, feel free to ask.
    Pages (2): 1 2 Next »

    « Next Oldest | Next Newest »

    Users browsing this thread: 1 Guest(s)


    • View a Printable Version
    • Subscribe to this thread
    Forum Jump:

    Home · Team · Help · Contact
    © Designed by D&D - Powered by MyBB
    L


    Jellyfin

    The Free Software Media System

    Linear Mode
    Threaded Mode