Jellyfin Forum
SOLVED: Jellyfin does not trancscode 4K HEVC in web player - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: SOLVED: Jellyfin does not trancscode 4K HEVC in web player (/t-solved-jellyfin-does-not-trancscode-4k-hevc-in-web-player)

Pages: 1 2 3


RE: Jellyfin does not trancscode 4K HEVC in web player - bioblatt - 2024-08-07

update, I'm now on kernel 6.9.7+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.9.7-1~bpo12+1 (2024-07-03) x86_64 GNU/Linux
and jellyfin 10.9.9 but the problem still occurs. My server can't transcode any 4K HEVC content via the web player using Firefox or on some devices in the Android Jellyfin app with the default player.


RE: Jellyfin does not trancscode 4K HEVC in web player - bioblatt - 2024-08-07

also upgrading to debian sid (6.10.3-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.10.3-1 (2024-08-04) x86_64 GNU/Linux) has not solved the issue


RE: Jellyfin does not trancscode 4K HEVC in web player - TheDreadPirate - 2024-08-07

Can you share some logs from these latest attempts?


RE: Jellyfin does not trancscode 4K HEVC in web player - TheDreadPirate - 2024-08-07

Oh. And screenshots of Dashboard > Playback. You haven't shared any since the first page of this thread.


RE: Jellyfin does not trancscode 4K HEVC in web player - bioblatt - 2024-08-08

Sure Smiling-face here's everything:

uname -r
Code:
6.10.3-amd64

lspci -nn | grep -Ei "3d|display|vga"
Code:
00:02.0 VGA compatible controller [0300]: Intel Corporation RocketLake-S GT1 [UHD Graphics 730] [8086:4c8b] (rev 04)
00:17.0 SATA controller [0106]: Intel Corporation Device [8086:43d2] (rev 11)

apt policy intel-opencl-icd
Code:
intel-opencl-icd:
  Installed: 24.22.29735.21-1
  Candidate: 24.22.29735.21-1
  Version table:
*** 24.22.29735.21-1 500
        500 http://deb.debian.org/debian sid/main amd64 Packages
        100 /var/lib/dpkg/status

sudo /usr/lib/jellyfin-ffmpeg/vainfo --display drm --device /dev/dri/renderD128
Code:
Trying display: drm
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.2.5 (12561f6)
vainfo: Supported profile and entrypoints
      VAProfileNone                  : VAEntrypointVideoProc
      VAProfileNone                  : VAEntrypointStats
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264Main              : VAEntrypointVLD
      VAProfileH264Main              : VAEntrypointEncSlice
      VAProfileH264Main              : VAEntrypointFEI
      VAProfileH264Main              : VAEntrypointEncSliceLP
      VAProfileH264High              : VAEntrypointVLD
      VAProfileH264High              : VAEntrypointEncSlice
      VAProfileH264High              : VAEntrypointFEI
      VAProfileH264High              : VAEntrypointEncSliceLP
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileJPEGBaseline          : VAEntrypointVLD
      VAProfileJPEGBaseline          : VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointFEI
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileHEVCMain              : VAEntrypointVLD
      VAProfileHEVCMain              : VAEntrypointEncSlice
      VAProfileHEVCMain              : VAEntrypointFEI
      VAProfileHEVCMain              : VAEntrypointEncSliceLP
      VAProfileHEVCMain10            : VAEntrypointVLD
      VAProfileHEVCMain10            : VAEntrypointEncSlice
      VAProfileHEVCMain10            : VAEntrypointEncSliceLP
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointEncSliceLP
      VAProfileVP9Profile1            : VAEntrypointVLD
      VAProfileVP9Profile1            : VAEntrypointEncSliceLP
      VAProfileVP9Profile2            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointEncSliceLP
      VAProfileVP9Profile3            : VAEntrypointVLD
      VAProfileVP9Profile3            : VAEntrypointEncSliceLP
      VAProfileHEVCMain12            : VAEntrypointVLD
      VAProfileHEVCMain12            : VAEntrypointEncSlice
      VAProfileHEVCMain422_10        : VAEntrypointVLD
      VAProfileHEVCMain422_10        : VAEntrypointEncSlice
      VAProfileHEVCMain422_12        : VAEntrypointVLD
      VAProfileHEVCMain422_12        : VAEntrypointEncSlice
      VAProfileHEVCMain444            : VAEntrypointVLD
      VAProfileHEVCMain444            : VAEntrypointEncSliceLP
      VAProfileHEVCMain444_10        : VAEntrypointVLD
      VAProfileHEVCMain444_10        : VAEntrypointEncSliceLP
      VAProfileHEVCMain444_12        : VAEntrypointVLD
      VAProfileHEVCSccMain            : VAEntrypointVLD
      VAProfileHEVCSccMain            : VAEntrypointEncSliceLP
      VAProfileHEVCSccMain10          : VAEntrypointVLD
      VAProfileHEVCSccMain10          : VAEntrypointEncSliceLP
      VAProfileHEVCSccMain444        : VAEntrypointVLD
      VAProfileHEVCSccMain444        : VAEntrypointEncSliceLP
      VAProfileAV1Profile0            : VAEntrypointVLD
      VAProfileHEVCSccMain444_10      : VAEntrypointVLD
      VAProfileHEVCSccMain444_10      : VAEntrypointEncSliceLP

sudo /usr/lib/jellyfin-ffmpeg/ffmpeg -v verbose -init_hw_device vaapi=vaConfused-facedev/dri/renderD128 -init_hw_device opencl@va
Code:
ffmpeg version 6.0.1-Jellyfin Copyright (c) 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 @ 0x55ec69b83e80] libva: VA-API version 1.22.0
[AVHWDeviceContext @ 0x55ec69b83e80] libva: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
[AVHWDeviceContext @ 0x55ec69b83e80] libva: Found init function __vaDriverInit_1_22
[AVHWDeviceContext @ 0x55ec69b83e80] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x55ec69b83e80] Initialised VAAPI connection: version 1.22
[AVHWDeviceContext @ 0x55ec69b83e80] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.2.5 (12561f6).
[AVHWDeviceContext @ 0x55ec69b83e80] Driver not found in known nonstandard list, using standard behaviour.
[AVHWDeviceContext @ 0x55ec69b84340] 0.0: Intel(R) OpenCL Graphics / Intel(R) UHD Graphics 730
[AVHWDeviceContext @ 0x55ec69b84340] Intel QSV to OpenCL mapping function found (clCreateFromVA_APIMediaSurfaceINTEL).
[AVHWDeviceContext @ 0x55ec69b84340] Intel QSV in OpenCL acquire function found (clEnqueueAcquireVA_APIMediaSurfacesINTEL).
[AVHWDeviceContext @ 0x55ec69b84340] Intel QSV in OpenCL release function found (clEnqueueReleaseVA_APIMediaSurfacesINTEL).
Hyper fast Audio and Video encoder

sudo dmesg | grep i915
Code:
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.10.3-amd64 root=UUID=b32fc92a-481f-4336-ac9e-a6503cc3894c ro quiet splash i915.enable_guc=3
[    0.029412] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.10.3-amd64 root=UUID=b32fc92a-481f-4336-ac9e-a6503cc3894c ro quiet splash i915.enable_guc=3
[    3.031287] i915 0000:00:02.0: [drm] VT-d active for gfx access
[    3.031290] i915 0000:00:02.0: vgaarb: deactivate vga console
[    3.031328] i915 0000:00:02.0: [drm] Using Transparent Hugepages
[    3.031755] i915 0000:00:02.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    3.035125] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/rkl_dmc_ver2_03.bin (v2.3)
[    3.288864] i915 0000:00:02.0: [drm] GT0: GuC firmware i915/tgl_guc_70.1.1.bin version 70.1.1
[    3.288868] i915 0000:00:02.0: [drm] GT0: HuC firmware i915/tgl_huc_7.9.3.bin version 7.9.3
[    3.292557] i915 0000:00:02.0: [drm] GT0: HuC: authenticated for all workloads
[    3.292876] i915 0000:00:02.0: [drm] GT0: GUC: submission enabled
[    3.292877] i915 0000:00:02.0: [drm] GT0: GUC: SLPC enabled
[    3.293142] i915 0000:00:02.0: [drm] GT0: GUC: RC enabled
[    3.293470] mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
[    3.293578] i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
[    3.293582] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_ops [i915])
[    3.297746] [drm] Initialized i915 1.6.0 20230929 for 0000:00:02.0 on minor 0
[    3.328611] i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[    3.360673] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    3.392605] i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[    3.424602] i915 0000:00:02.0: [drm] Cannot find any crtc or sizes

sudo cat /sys/kernel/debug/dri/0/gt0/uc/guc_info
Code:
GuC firmware: i915/tgl_guc_70.1.1.bin
        status: RUNNING
        version: found 70.1.1
        uCode: 277056 bytes
        RSA: 256 bytes
GuC status 0x8003f0ec:
        Bootrom status = 0x76
        uKernel status = 0xf0
        MIA Core status = 0x3
Scratch registers:
        0:    0x0
        1:    0x1633d7
        2:    0x44000
        3:    0x4
        4:    0x40
        5:    0x4ec
        6:    0x4c8b0004
        7:    0x0
        8:    0x0
        9:    0x0
        10:    0x0
        11:    0x0
        12:    0x0
        13:    0x0
        14:    0x0
        15:    0x0

GuC logging stats:
        Relay full count: 0
        DEBUG:  flush count          0, overflow count          0
        CRASH:  flush count          0, overflow count          0
        CAPTURE:        flush count          0, overflow count          0
CT enabled
H2G Space: 4092
Head: 0
Tail: 0
G2H Space: 12284
Head: 0
Tail: 0
GuC Submission API Version: 1.0.0
GuC Number Outstanding Submission G2H: 0
GuC tasklet count: 0
Requests in GuC submit tasklet:

Global scheduling policies:
  DPC promote time  = 500000
  Max num work items = 15
  Flags              = 0

sudo cat /sys/kernel/debug/dri/0/gt0/uc/huc_info
Code:
HuC firmware: i915/tgl_huc_7.9.3.bin
        status: RUNNING
        version: found 7.9.3
        uCode: 589504 bytes
        RSA: 256 bytes
HuC status: 0x00090001

groups jellyfin
Code:
jellyfin : jellyfin video input render

These are all the loaded plugins:
Code:
[2024-08-08 18:41:43.592 +02:00] [INF] Loaded plugin: "Bookshelf" "11.0.0.0"
[2024-08-08 18:41:43.593 +02:00] [INF] Loaded plugin: "Playback Reporting" "15.0.0.0"
[2024-08-08 18:41:43.594 +02:00] [INF] Loaded plugin: "Reports" "17.0.0.0"
[2024-08-08 18:41:43.594 +02:00] [INF] Loaded plugin: "Session Cleaner" "4.0.0.0"
[2024-08-08 18:41:43.595 +02:00] [INF] Loaded plugin: "TheTVDB" "15.0.0.0"
[2024-08-08 18:41:43.596 +02:00] [INF] Loaded plugin: "TMDb Box Sets" "11.0.0.0"
[2024-08-08 18:41:43.596 +02:00] [INF] Loaded plugin: "Transcode Killer" "3.0.0.0"
[2024-08-08 18:41:43.597 +02:00] [INF] Loaded plugin: "Webhook" "15.0.0.0"
[2024-08-08 18:41:43.597 +02:00] [INF] Loaded plugin: "TMDb" "10.9.9.0"
[2024-08-08 18:41:43.597 +02:00] [INF] Loaded plugin: "Studio Images" "10.9.9.0"
[2024-08-08 18:41:43.597 +02:00] [INF] Loaded plugin: "OMDb" "10.9.9.0"
[2024-08-08 18:41:43.610 +02:00] [INF] Loaded plugin: "MusicBrainz" "10.9.9.0"
[2024-08-08 18:41:43.610 +02:00] [INF] Loaded plugin: "AudioDB" "10.9.9.0"

The movie plays fine in direct play on the Windows Jellyfin Media Player and my LG TV, so there's nothing wrong with the file.
1080p HDR and SDR HEVC transcodes, it's only 4K HDR HEVC that's not working.


RE: Jellyfin does not trancscode 4K HEVC in web player - TheDreadPirate - 2024-08-08

On both Firefox and your Android phone (when using the web player), do they work when you set a max transcode resolution? I'm assuming neither of them are on 4K displays. I know that some users had issues with the Android web player when the transcoded video was 4K. But Firefox shouldn't have a problem with that.

Either way. Try setting Settings > Playback (not the one in the dashboard) > Maximum Allowed Video Transcoding Resolution to 1080P.


RE: Jellyfin does not trancscode 4K HEVC in web player - bioblatt - 2024-08-08

Still the same outcome for Firefox and Android using the web player.
I tried Auto, 1080P and Screen Resolution with "Limit maximum supported video resolution" disabled/enabled.


RE: Jellyfin does not trancscode 4K HEVC in web player - TheDreadPirate - 2024-08-08

Code:
[2024-08-08 18:41:43.596 +02:00] [INF] Loaded plugin: "Transcode Killer" "3.0.0.0"

Just noticed this.


RE: Jellyfin does not trancscode 4K HEVC in web player - bioblatt - 2024-08-08

Uninstalled the plugin. 4K HEVC transcodes.
I feel soooo stupid now...

Sorry for all the efforts of the past days/weeks. I thought the plugin does something completely different.

Thank you so much for all the help!

This makes now completely sense why it sometimes showed a split second of transcoded video.