• 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 Hardware Transcoding Issue Arc A310

     
    • 0 Vote(s) - 0 Average

    Hardware Transcoding Issue Arc A310

    myradishes
    Offline

    Junior Member

    Posts: 3
    Threads: 1
    Joined: 2024 Oct
    Reputation: 0
    #1
    2024-10-04, 07:55 PM
    I'm having trouble playing a certain file on a roku device which I believe is running into a failure due to a transcoding problem. I believe I have transcoding setup correctly for my Arc A310 passed through to an lxc container in proxmox.
    Quote:root@mediaserver:~# /usr/lib/jellyfin-ffmpeg/ffmpeg -v verbose -init_hw_device vaapi=vaConfused-facedev/dri/renderD129 -init_hw_device opencl@va
    ffmpeg version 6.0.1-Jellyfin Copyright © 2000-2023 the FFmpeg developers
      built with gcc 12 (Debian 12.2.0-14)
      configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
      libavutil      58.  2.100 / 58.  2.100
      libavcodec    60.  3.100 / 60.  3.100
      libavformat    60.  3.100 / 60.  3.100
      libavdevice    60.  1.100 / 60.  1.100
      libavfilter    9.  3.100 /  9.  3.100
      libswscale      7.  1.100 /  7.  1.100
      libswresample  4. 10.100 /  4. 10.100
      libpostproc    57.  1.100 / 57.  1.100
    [AVHWDeviceContext @ 0x5786159b6480] libva: VA-API version 1.22.0
    [AVHWDeviceContext @ 0x5786159b6480] libva: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
    [AVHWDeviceContext @ 0x5786159b6480] libva: Found init function __vaDriverInit_1_22
    [AVHWDeviceContext @ 0x5786159b6480] libva: va_openDriver() returns 0
    [AVHWDeviceContext @ 0x5786159b6480] Initialised VAAPI connection: version 1.22
    [AVHWDeviceContext @ 0x5786159b6480] VAAPI driver: Intel iHD driver for Intel® Gen Graphics - 24.2.5 (12561f6).
    [AVHWDeviceContext @ 0x5786159b6480] Driver not found in known nonstandard list, using standard behaviour.
    [AVHWDeviceContext @ 0x5786159e7ec0] 0.0: Intel® OpenCL Graphics / Intel® Arc™ A310 LP Graphics
    [AVHWDeviceContext @ 0x5786159e7ec0] Intel QSV to OpenCL mapping function found (clCreateFromVA_APIMediaSurfaceINTEL).
    [AVHWDeviceContext @ 0x5786159e7ec0] Intel QSV in OpenCL acquire function found (clEnqueueAcquireVA_APIMediaSurfacesINTEL).
    [AVHWDeviceContext @ 0x5786159e7ec0] Intel QSV in OpenCL release function found (clEnqueueReleaseVA_APIMediaSurfacesINTEL).
    Hyper fast Audio and Video encoder

    Quote:root@mediaserver:~# ls -l /dev/dri/
    total 0
    drwxr-xr-x 2 root    root        120 Oct  3 12:56 by-path
    crw-rw---- 1 root    video  226,  0 Oct  2 00:51 card0
    crw-rw---- 1 root    video  226,  1 Oct  3 12:56 card1
    crw-rw---- 1 1000000 100106 226, 129 Oct  2 00:51 renderD128
    crw-rw---- 1 1000000 100106 226, 129 Oct  2 00:51 renderD129

    Quote:root@mediaserver:~# grep jelly /etc/group
    video:x:44:jellyfin
    sgx:x:104:jellyfin
    render:x:106:jellyfin
    jellyfin:x:112:

    renderD128 has been configured to point at renderD129 in case it defaults to trying to use 128. Specifying 128 in the previous ffpmeg command yields the same output noting the A310 card.

    Quote:lxc.cgroup2.devices.allow: c 226:128 rwm
    lxc.cgroup2.devices.allow: c 226:129 rwm
    lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
    lxc.mount.entry: /dev/dri/renderD129 dev/dri/renderD128 none bind,optional,create=file
    lxc.hook.pre-start: sh -c "chown 1000000:100106 /dev/dri/renderD128"
    lxc.mount.entry: /dev/dri/renderD129 dev/dri/renderD129 none bind,optional,create=file
    lxc.hook.pre-start: sh -c "chown 1000000:100106 /dev/dri/renderD129"

    I've tried using QSV and VAAPI(tested while specifying 129 then 128 after that failed). 

    Results of ffprobe.
    Quote:root@mediaserver: /mnt/mediafiles/Movies# /usr/lib/jellyfin-ffmpeg/ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 /mnt/mediafiles/Movies/poop.mkv
    h264

    From the logs.
    Quote:[2024-10-04 12:20:42.515 -07:00] [INF] "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -probesize 1G -ss 00:00:03.000 -init_hw_device vaapi=va:,kernel_driver=i915,driver=iHD -init_hw_device qsv=qs@va -filter_hw_device qs -hwaccel vaapi -hwaccel_output_format vaapi -noautorotate -i file:\"/mnt/mediafiles/Movies/poop.mkv\" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:0 -codec:v:0 hevc_qsv -tag:v:0 hvc1 -preset veryfast -b:v 4003390 -maxrate 4003390 -bufsize 8006780 -profile:v:0 main -g:v:0 72 -keyint_min:v:0 72 -filter_complex \"[0:2]scale=-1:1080:fast_bilinear,scale,crop,pad=max(1920\,iw):max(1080\,ih)Slightly-frowning-faceow-iw)/2Slightly-frowning-faceoh-ih)/2:black@0,crop=1920:1080,format=bgra,hwupload=derive_device=qsv:extra_hw_frames=64[sub];[0:0]setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale_vaapi=format=nv12:extra_hw_frames=24,hwmap=derive_device=qsv,format=qsv[main];[main][sub]overlay_qsv=eof_action=pass:repeatlast=0:w=1920:h=1080\" -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 1 -hls_segment_filename \"/mnt/mediafiles/jellyfin/transcode/b97ee18d5f158f34e7113dade2620775%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"/mnt/mediafiles/jellyfin/transcode/b97ee18d5f158f34e7113dade2620775.m3u8\""
    [2024-10-04 12:20:42.531 -07:00] [ERR] FFmpeg exited with code 1
    [2024-10-04 12:20:42.629 -07:00] [ERR] Error processing request. URL "GET" "/videos/8971a4cb-00a4-5324-3d23-5c25933f8985/hls1/main/1.ts".
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #2
    2024-10-04, 08:07 PM (This post was last modified: 2024-10-04, 08:10 PM by TheDreadPirate. Edited 1 time in total.)
    What kernel is the host running?

    Code:
    uname -a

    Also, you should only be passing in ONE of the renderD devices. Probably card1 and renderD129. I'm assuming you have an AMD APU/7000 CPU or Intel CPU with an iGPU

    And you should setup and enable low power encoding since it is required for Intel Arc. But we can get to that after you answer the question about which kernel your system is running.
    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]
    myradishes
    Offline

    Junior Member

    Posts: 3
    Threads: 1
    Joined: 2024 Oct
    Reputation: 0
    #3
    2024-10-04, 09:39 PM
    Yes, this is on a system with an Intel iGPU. Deleted entries in /dev/dri so only renderD129 is left, was expecting one of the cardNs to survive that haha. Transcoding options selected, decoding QSV h264 hevc mpeg2 vp9 av1 hevc-10b vp9-10b prefer os native, enable hardware decoding lowpowerh264 lowpowerhevc, allow encoding hevc allow av1, enable vpp tone mapping, enable tone mapping.

    Quote:root@mediaserver:~# ls -l /dev/dri
    total 0
    drwxr-xr-x 2 root    root        120 Oct  3 12:56 by-path
    crw-rw---- 1 1000000 100106 226, 129 Oct  2 00:51 renderD129

    root@mediaserver:~# uname -a
    Linux mediaserver 6.8.4-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.4-2 (2024-04-10T17:36Z) x86_64 GNU/Linux

    No apparent change enabling the low power options.
    Quote:[2024-10-04 14:37:33.899 -07:00] [INF] "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -probesize 1G -ss 00:00:03.000 -hwaccel vaapi -hwaccel_output_format vaapi -noautorotate -i file:\"/mnt/mediafiles/Movies/poop.mkv\" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:0 -codec:v:0 hevc_vaapi -tag:v:0 hvc1 -rc_mode VBR -b:v 4003390 -maxrate 4003390 -bufsize 8006780 -profile:v:0 main -sei -a53_cc -force_key_frames:0 \"expr:gte(t,n_forced*3)\" -filter_complex \"[0:2]scale=-1:1080:fast_bilinear,scale,crop,pad=max(1920\,iw):max(1080\,ih)Slightly-frowning-faceow-iw)/2Slightly-frowning-faceoh-ih)/2:black@0,crop=1920:1080[sub];[0:0]setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale_vaapi=format=nv12:extra_hw_frames=24,hwdownload,format=nv12[main];[main][sub]overlay=eof_action=pass:repeatlast=0,hwupload_vaapi\" -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 1 -hls_segment_filename \"/mnt/mediafiles/jellyfin/transcode/d93a2c9330aa081bed3acdcd02f09642%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"/mnt/mediafiles/jellyfin/transcode/d93a2c9330aa081bed3acdcd02f09642.m3u8\""
    [2024-10-04 14:37:33.935 -07:00] [ERR] FFmpeg exited with code 1
    myradishes
    Offline

    Junior Member

    Posts: 3
    Threads: 1
    Joined: 2024 Oct
    Reputation: 0
    #4
    2024-10-04, 10:15 PM (This post was last modified: 2024-10-04, 10:25 PM by myradishes. Edited 1 time in total.)
    Realized what I did wrong here, the guide I followed was for an unprivileged container but mine is privileged so I had the wrong uid/gid set. It's playing now and I see the A310 being used on the host node's intel_gpu_top. For the low power option you mentioned how can I verify that is being used properly after enabling low power h264/hevc hardware encoder?

    Also, it appears despite the tv/roku being turned off jellyfin is still transcoding the movie for some odd reason? Looks like it eventually killed the transcode at some point, it was going for maybe 5-10 minutes haha.
    « 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