• 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 QSV HW acceleration only sometimes invoked

     
    • 0 Vote(s) - 0 Average

    QSV HW acceleration only sometimes invoked

    A310 QSV on some files, not others
    jakeofalltrades
    Offline

    Junior Member

    Posts: 1
    Threads: 1
    Joined: 2025 Apr
    Reputation: 0
    Country:United States
    #1
    2025-04-20, 01:56 AM
    I have an Intel Arc A310 running in a jellyfin docker on a virtualized Ubuntu 24.04 VM hosted by proxmox.

    Encoding and decoding works on some files. I can see a new PID formed in intel_gpu_top, and I see a transcode log. But for very similar looking files, no encoding appears to be happening. Looking at the underlying ffmpeg calls, jellyfin is not passing init_hw_device options. The files appear to fall into the encoding and decoding capabilities of the A310. But I am a newbie when it comes to video codecs...

    File 1 (jellyfin uses HW acceleration on this one):

    Quote:Title: 1080p H264 SDR
    Codec: H264
    AVC: Yes
    Profile: High
    Level: 40
    Resolution: 1920x1080
    Aspect ratio: 16:9
    Anamorphic: No
    Interlaced: No
    Framerate: 23.976025
    Bitrate: 14469 kbps
    Bit depth: 8 bit
    Video range: SDR
    Video range type: SDR
    Color space: bt709
    Color transfer: bt709
    Color primaries: bt709
    Pixel format: yuv420p
    Ref frames: 1
    NAL: 4


    ffmpeg call for file 1:

    Code:
    /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -f matroska -init_hw_device vaapi=va:/dev/dri/renderD128,driver=iHD -hwaccel vaapi -hwaccel_output_format vaapi -noautorotate -canvas_size 1920x1080 -i file:"<redacted>" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:0 -codec:v:0 av1_vaapi -rc_mode VBR -b:v 14469456 -maxrate 14469456 -bufsize 28938912 -profile:v:0 main -level 15 -force_key_frames:0 "expr:gte(t,n_forced*3)" -filter_complex "[0:2]scale,scale=1920:1080:fast_bilinear,format=bgra,hwupload=derive_device=vaapi[sub];[0:0]setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale_vaapi=format=nv12:extra_hw_frames=24[main];[main][sub]overlay_vaapi=eof_action=pass:repeatlast=0:w=1920:h=1080" -start_at_zero -codec:a:0 libfdk_aac -ac 2 -vbr:a 5 -af "volume=2" -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 "3297079bd018baf24b5e85cc3f595d3e-1.mp4" -start_number 495 -hls_segment_filename "/config/cache/transcodes/3297079bd018baf24b5e85cc3f595d3e%d.mp4" -hls_playlist_type vod -hls_list_size 0 -y "/config/cache/transcodes/3297079bd018baf24b5e85cc3f595d3e.m3u8"

    File 2 (jellyfin does not invoke HW acceleration):

    Quote:Title: 1080p H264 SDR
    Codec: H264
    AVC: Yes
    Profile: High
    Level: 41
    Resolution: 1920x804
    Aspect ratio: 2.40:1
    Anamorphic: No
    Interlaced: No
    Framerate: 23.976025
    Bitrate: 16247 kbps
    Bit depth: 8 bit
    Video range: SDR
    Video range type: SDR
    Color space: bt709
    Pixel format: yuv420p
    Ref frames: 1
    NAL: 4

    ffmpeg call for file 2:
    Code:
    /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f matroska  -i file:"<redacted>" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -bsf:v h264_mp4toannexb -start_at_zero -codec:a:0 libfdk_aac -ac 2 -vbr:a 5 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "77ae589cc218c04ab40a53386e341ef0-1.mp4" -start_number 0 -hls_segment_filename "/config/cache/transcodes/77ae589cc218c04ab40a53386e341ef0%d.mp4" -hls_playlist_type vod -hls_list_size 0 -y "/config/cache/transcodes/77ae589cc218c04ab40a53386e341ef0.m3u8"

    Any idea why jellyfin uses HW acceleration for the first file, but not the second one?

    HW config:
       
    Efficient_Good_5784
    Offline

    Community Moderator

    Posts: 1,170
    Threads: 3
    Joined: 2023 Jun
    Reputation: 50
    #2
    2025-04-20, 04:30 AM
    It would be helpful if you could share the ffmpeg logs of both instances.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,374
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #3
    2025-04-20, 10:16 PM
    The first video is transcoding to burn in the subtitles.

    The reason it fails is because the "QSV Device" field does not accept the device path. It uses an index number (0, 1, 2) when you have multiple Intel devices. When it is blank, the Intel driver will use the first available device.

    If only the Arc GPU is available to the VM, you can leave that field blank.
    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]
    « 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