Jellyfin Forum
Hardware transcoding help - 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: Hardware transcoding help (/t-hardware-transcoding-help)



Hardware transcoding help - nixolar - 2024-04-16

Hello dear Jellyfin community!

I have Jellyfin running on a mini PC at my home and am mostly using it to watch movies on my TV via the Jellyfin app on my Google Chromecast TV. Every once in a while I access it remotely to watch something on my tablet when I am away from home.

I am getting a lot of "This client isn't compatible with the media and the server isn't sending a compatible media format" errors and really have no idea how to approach this problem.

My current suspicion is that I need to setup HW transcoding properly.

Here some data:

I am running headless Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-102-generic x86_64) and have Jellyfin running in its own container managed via Portainer.

Code:
sudo lshw -C display
  *-display
      description: VGA compatible controller
      product: Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller
      vendor: Intel Corporation
      physical id: 2
      bus info: pci@0000:00:02.0
      version: 06
      width: 64 bits
      clock: 33MHz
      capabilities: msi pm vga_controller bus_master cap_list rom
      configuration: driver=i915 latency=0
      resources: irq:29 memory:f7800000-f7bfffff memory:e0000000-efffffff ioport:f000(size=64) memory:c0000-dffff


Code:
sudo lshw -C cpu
  *-cpu
      description: CPU
      product: Intel(R) Core(TM) i5-4590T CPU @ 2.00GHz
      vendor: Intel Corp.
      physical id: 40
      bus info: cpu@0
      version: 6.60.3
      slot: SOCKET 0
      size: 2019MHz
      capacity: 3800MHz
      width: 64 bits
      clock: 100MHz
      capabilities: lm fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp x86-64 constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d cpufreq
      configuration: cores=4 enabledcores=4 microcode=40 threads=4

Why the difference between Intel® Core™ i5-4590T CPU and Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics? (lshw -C display vs  lshw -C cpu)

When I read about "Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics" it says there is no GPU or iGPU. When I read about "Intel® Core™ i5-4590T CPU" it says that there is a Intel® HD Graphics 4600?

And also what would be the best settings for HW transcoding? I currently have it set to None...

How do I have to spin up my container, so that Docker has access to whatever it needs to be able to run the HW transcoding?

Thank you!


RE: Hardware transcoding help - bitmap - 2024-04-16

Looks like your hardware is too old to be supported for much use in Jellyfin as far as I can tell. I had an Ivy Bridge desktop processor and was able to get it working MANY years ago, but it was essentially fruitless, since the codec support was H264/VC-1 (maybe a couple others). If I recall correctly, 10-bit HEVC was added for 8th/9th gen processors. So I looked at what your processor might be and it seems like it has no iGPU -- this is the assumption I'd go with unless you can identify the exact model (and that doesn't particularly matter with what I say next)...

Then I took a look at what generation QSV became a thing and it was literally the same generation as your processor was released (Sandy Bridge). Note that your processor would likely fall into the Sandy Bridge Xeon collection, which are not listed as QSV-compatible.

Finally, I looked at the Jellyfin docs for QSV. Even the Intel driver repo doesn't list Sandy Bridge, nor any of the subcategories. Now you're stuck with the only other option, which is VA-API. It's not bad, but you likely won't get much bang for your buck out of old hardware. You should use VA-API if you want to go down this route and you can find the information on configuring VA-API in the JF docs.