• 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 Help understanding why CPU is being maxed out to transcode some files

    Pages (2): 1 2 Next »

     
    • 0 Vote(s) - 0 Average

    Help understanding why CPU is being maxed out to transcode some files

    mrrichardcranium
    Offline

    Junior Member

    Posts: 14
    Threads: 2
    Joined: 2024 May
    Reputation: 0
    Country:United States
    #1
    2026-07-07, 11:22 PM
    Im running Jellyfish 10.11.11 on a dedicated ubuntu server with an I5-6500 with the integrated graphics disabled in bios, and an Intel A380 GPU configured for transcoding. For 99% of my library it uses the A380 for transcoding just fine, but Ive recently encountered a handful of files that instead max the CPU out to 100% and either fail to transcode entirely, or at a rate so slow its unplayable. 

    I understand why transcoding with the CPU is a terrible experience and don't wish to investigate that. What I don't understand is why certain files are using the CPU when the GPU is available and working fine for most other video files. 

    Here are two of the most recent problematic transcoding logs: https://pastebin.com/aDNqyhiu https://pastebin.com/CVmzx0ye
    Jellyfin logs are too large for pastebin but I can share them by another method if needed. 

    The issue occurs in Safari, StreamyFin app on the AppleTV/iOS devices, Swiftfin on AppleTV/iOS and in Google Chrome.
    ArneR
    Offline

    Member

    Posts: 97
    Threads: 1
    Joined: 2025 Oct
    Reputation: 1
    Country:Norway
    #2
    2026-07-08, 12:02 AM (This post was last modified: 2026-07-08, 12:04 AM by ArneR. Edited 1 time in total.)
    It's no wonder your cpu is working overtime, Jellyfin is not using intel quicksync.

    Look at the first log, locate stream mapping:

    Code:
    Stream mapping:
      Stream #0:0 -> #0:0 (hevc (native) -> h264 (libx264))
      Stream #0:1 -> #0:1 (truehd (native) -> aac (native))

    What it should say is (my movie example, never mind the different audio format):
    Code:
    Stream mapping:
      Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_qsv))
      Stream #0:1 -> #0:1 (dts (dca) -> aac (libfdk_aac))

    Note h264_qsv on stream 0:0 (video)

    Also, all audio is being transcoded using the cpu, which adds to the load, so no wonder this isn't working well for you.

    Can you share a screenshot of your transcode settings?
    Or make sure they are set up like this, these are what I have them set to with my Arc A310.
       
    My specs:
    Operating system: Truenas Scale 24.10.2.4
    Motherboard: SuperMicro X11SPi-TF
    CPU:  Intel Xeon Gold 6244 8c16t
    RAM: 256GB DDR4 2666 (4x64GB LRDimm)
    GPU: Intel Arc A310 (AsRock Low Profile)
    Storage: 8x8TB RaidZ2 + 2x1TB Samsung Evo 870 S-ATA SSD mirrored
    Case: Fractal Design R4 miditower
    1
    mrrichardcranium
    Offline

    Junior Member

    Posts: 14
    Threads: 2
    Joined: 2024 May
    Reputation: 0
    Country:United States
    #3
    2026-07-08, 05:41 PM
    (2026-07-08, 12:02 AM)ArneR Wrote: It's no wonder your cpu is working overtime, Jellyfin is not using intel quicksync.

    Look at the first log, locate stream mapping:

    Code:
    Stream mapping:
      Stream #0:0 -> #0:0 (hevc (native) -> h264 (libx264))
      Stream #0:1 -> #0:1 (truehd (native) -> aac (native))

    What it should say is (my movie example, never mind the different audio format):
    Code:
    Stream mapping:
      Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_qsv))
      Stream #0:1 -> #0:1 (dts (dca) -> aac (libfdk_aac))

    Note h264_qsv on stream 0:0 (video)

    Also, all audio is being transcoded using the cpu, which adds to the load, so no wonder this isn't working well for you.

    Can you share a screenshot of your transcode settings?
    Or make sure they are set up like this, these are what I have them set to with my Arc A310.

       

    I had basically the same as you without VP9 or the low power encoding options. But I did kick those on and retested with the same results. The only other difference I see is I don't explicitly set the GPU path, but I only have one GPU in the system.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,667
    Threads: 11
    Joined: 2023 Jun
    Reputation: 473
    Country:United States
    #4
    2026-07-08, 06:11 PM (This post was last modified: 2026-07-08, 06:12 PM by TheDreadPirate. Edited 1 time in total.)
    You need to enable low power encoding.  It is a requirement for Arc.

    Like this (I also have an Arc GPU).

       

    Make sure your OS has all the needed Intel firmware.  See the link below.

    https://jellyfin.org/docs/general/post-i...pu-support

    Also, are the two ffmpeg logs you shared in your opening post from BEFORE you enabled transcoding? The ffmpeg logs do not line up with your screenshot of your transcoding settings.
    Jellyfin 10.11.11 (Docker)
    Debian 13 w/Xanmod amd64v3 LTS kernel
    AMD Ryzen 5500 w/32GB DDR4
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    ZFS Storage pool
        vdev1 - 6x WD Red Pro 6TB CMR in RAIDZ1
        vdev2 - 3x WD Red Pro 18TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    whoreder
    Offline

    Junior Member

    Posts: 4
    Threads: 0
    Joined: 2026 Jun
    Reputation: 0
    #5
    2026-07-08, 06:59 PM (This post was last modified: 2026-07-08, 07:02 PM by whoreder. Edited 1 time in total.)
    Ignore - you are running native and appear to have only 1 GPU. Verify that you only have 1 GPU active though. If so, you may still need to supply the path to the correct hardware.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,667
    Threads: 11
    Joined: 2023 Jun
    Reputation: 473
    Country:United States
    #6
    2026-07-08, 07:24 PM (This post was last modified: 2026-07-08, 07:24 PM by TheDreadPirate.)
    (2026-07-08, 06:59 PM)whoreder Wrote: Ignore - you are running native and appear to have only 1 GPU. Verify that you only have 1 GPU active though. If so, you may still need to supply the path to the correct hardware.

    OP stated they disabled the 6500's iGPU in the BIOS (which is good), so the Intel driver should not require a device be specified.  It will just the first (and only) Intel GPU it finds.

    To verify that the Arc GPU is, in fact, the only GPU they can run the command below.

    Code:
    ls -l /dev/dri
    Jellyfin 10.11.11 (Docker)
    Debian 13 w/Xanmod amd64v3 LTS kernel
    AMD Ryzen 5500 w/32GB DDR4
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    ZFS Storage pool
        vdev1 - 6x WD Red Pro 6TB CMR in RAIDZ1
        vdev2 - 3x WD Red Pro 18TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    mrrichardcranium
    Offline

    Junior Member

    Posts: 14
    Threads: 2
    Joined: 2024 May
    Reputation: 0
    Country:United States
    #7
    2026-07-08, 07:42 PM
    (2026-07-08, 06:11 PM)TheDreadPirate Wrote: You need to enable low power encoding.  It is a requirement for Arc.

    Like this (I also have an Arc GPU).



    Make sure your OS has all the needed Intel firmware.  See the link below.

    https://jellyfin.org/docs/general/post-i...pu-support

    Also, are the two ffmpeg logs you shared in your opening post from BEFORE you enabled transcoding?  The ffmpeg logs do not line up with your screenshot of your transcoding settings.

    Got it, Ive kept the low power encoding enabled. Unfortunately the same results as before. 

    Those two logs were with the settings shown in the screenshot. That's what has me baffled. 
    Here's an updated one after enabling the low power encoding as well. Though it looks more or less the same as far as I can tell. https://pastebin.com/xeCmjzpZ
    mrrichardcranium
    Offline

    Junior Member

    Posts: 14
    Threads: 2
    Joined: 2024 May
    Reputation: 0
    Country:United States
    #8
    2026-07-08, 07:49 PM
    Some additional details:

    Confirmed there is only one GPU detected:
    Code:
    ➜  ~ ls -l /dev/dri
    total 0
    drwxr-xr-x 2 root root        80 Jul  8 10:33 by-path
    crw-rw---- 1 root video  226,  1 Jul  8 10:33 card1
    crw-rw---- 1 root render 226, 128 Jul  8 10:33 renderD128

    And to the best of my knowledge all the steps in the intel GPU Jellyfin docs configured:

    Code:
    intel-opencl-icd:
      Installed: 23.43.27642.40-1ubuntu3
      Candidate: 23.43.27642.40-1ubuntu3
      Version table:
    *** 23.43.27642.40-1ubuntu3 500
            500 http://us.archive.ubuntu.com/ubuntu noble/universe amd64 Packages
            100 /var/lib/dpkg/status

    As well as the Jellyfin user added to the render group.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,667
    Threads: 11
    Joined: 2023 Jun
    Reputation: 473
    Country:United States
    #9
    2026-07-08, 08:12 PM (This post was last modified: 2026-07-08, 08:17 PM by TheDreadPirate. Edited 1 time in total.)
    I think I see the problem, I don't know why it is happening. Tell me if you spot the problem.

    Code:
    /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -f matroska -init_hw_device vaapi=va:,vendor_id=0x8086,driver=iHD -init_hw_device qsv=qs@va -filter_hw_device qs -i file:"/mount/smb/Movies/Play Dead (2025)/Play Dead (2025) Bluray-1080p.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -sn   -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "6f076b714ded0aba585565b0137c0fca-1.mp4" -start_number 0 -hls_base_url "hls/6f076b714ded0aba585565b0137c0fca/" -hls_segment_filename "/var/lib/jellyfin/transcodes/6f076b714ded0aba585565b0137c0fca%d.mp4" -hls_playlist_type event -hls_list_size 0 -y "/var/lib/jellyfin/transcodes/6f076b714ded0aba585565b0137c0fca.m3u8"

    Don't see it? Let me narrow down where it is.

    Code:
    -map_chapters -1 -threads 0 -sn   -copyts -avoid_negative_ts disabled

    For whatever reason, there is a double space after -sn. I am pretty sure that -sn is supposed to be followed by a bunch of filter and encoding parameters. But, for whatever reason, that failed to generate within Jellyfin and ffmpeg just defaults to libx264 and aac.

    I recall seeing this before, but can't remember the solution off the top of my head. I'll search and ask around for the solution.


    ******EDIT*******

    Can you share the contents of /etc/jellyfin/encoding.xml?
    Jellyfin 10.11.11 (Docker)
    Debian 13 w/Xanmod amd64v3 LTS kernel
    AMD Ryzen 5500 w/32GB DDR4
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    ZFS Storage pool
        vdev1 - 6x WD Red Pro 6TB CMR in RAIDZ1
        vdev2 - 3x WD Red Pro 18TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,667
    Threads: 11
    Joined: 2023 Jun
    Reputation: 473
    Country:United States
    #10
    2026-07-08, 08:28 PM
    A couple more things. Can you check that your motherboards BIOS are fully up to date and whether enabling ReBAR is an available option in your BIOS.

    Also, read my guide linked below and check how old your GPU's firmware version is. You don't have to update it, but I just want to make sure it isn't SUPER old.

    https://forum.jellyfin.org/t-flash-intel...e-in-linux
    Jellyfin 10.11.11 (Docker)
    Debian 13 w/Xanmod amd64v3 LTS kernel
    AMD Ryzen 5500 w/32GB DDR4
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    ZFS Storage pool
        vdev1 - 6x WD Red Pro 6TB CMR in RAIDZ1
        vdev2 - 3x WD Red Pro 18TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    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