Hardware Transcoding not working on Plex

Hello everyone,

I just got my NAS setup installed TrueNAS Scale. I have everything running and working great except, the hardware transcoding in Plex.

Below screenshots from my CPU and from my settings in the Plex app.

I have Allocated the GPU to Plex but still it does not use Hardware Transcoding (I am a PlexPass user).

Does anyone has an idea what the issue could be ?

CPU :
image

Plex settings in Truenas :
image

And settings in Plex :

Thanks for your help

Are you trying to allocate your CPU as the GPU in Plex? Hardware transcoding is typically used to bring a GPU into the setup or when an on-chip GPU is missing.

Your i3 has a built in graphics processor which is why it works without requiring a GPU in general. You allocated a portion of that CPU for the app, therefore the allocation of GPU is not needed and wouldn’t really work.

Lastly, did you have 3 streams transcoding at full blast when you looked at your stats? Sometimes with my apps if they’re not running a process they sit very still. Does your plex run? Or what is the issue, just manifest destiny dream of maxing out your specs (much respect)?

Thank you for your answer.

My Plex is running fine but when it transcode, my CPU jump to 54% and for some reasons one of my friend using my server (which she doesn’t have 4K device), the file is loading during 10min every 3min of watching. So I think maybe if I use hw transcode, it will be better

This what i get when I’m transcoding a file (without hw transcoding) :

image

That extra detail definitely helps, an i3-12100 is a quad core chip with 8 threads, so this kind of utilization rate for plex doesn’t seem horrible. Intel CPU’s have QuickSync which is supposed to be incredible for transcoding.

If you want to reduce CPU burden you could add a GPU, but that surprisingly the QuickSync is better than a GPU transcode (not that a GPU transcode is bad).

I would focus more on internet connection and probably the device on the other end.

  • Setup Remote Access on Plex so users log right into your server directly
  • Check the user’s device and internet connection (my brother-in-law’s plex app on Samsung won’t play 4k)
  • Change the auto quality of the streams to 720p

Again, thank you for your answer

I want to use QuickSync for transcoding but when I force the transcode, I never see “hw” despite the settings I’ve showed in my previous post
To be clear, I don’t want to add a GPU, I just want to use my iGPU for transcoding

I’ve already turn on remote access :

The user device is a 1080 monitor but even when she watches a 1080 file, the buffering is very long

But despite all of that, I want to use hw transcoding mostly to reduce my CPU use and because i pay for the plexpass

QuickSync IS “GPU transcode”, namely integrated GPU transcode. So OP shoould not see a spike a CPU use if hardware transcoding were working.

Check Plex documentation and hardware requirements, including the motherboard chipset. It could be that the iGPU is not properly isolated for passthrough.

1 Like

That makes sense if it’s like actually isolated and allocated to Plex like you mentioned. Thanks for furthering my knowledge!

My other thought is that is if OP doesn’t have 2 GPU’s they can’t allocate the TrueNAS one to Plex for hardware transcoding anyway.

What would you do with 2 GPUs? TrueNAS does not need a GPU at all.

1 Like

Hello Zasz,

For a few weeks after installed PLEX and allocate iGPU’s, everything worked correctly. But I notice with my setup sometimes after restart the server, the iGPU’s are not present anymore. It has something to do with connection of the monitor on the motherboard that’s missing and looks like initialization of the iGPU skipped. If someone knows more about this behavior please share info or correct me.

It’s definitely a big change in CPU load when enable hw transcode. It’s just chilling and do the math.

Can you verify you don’t see the hw sign in PLEX dashboard?
And maybe you can look into the PLEX console and see if there is some significant information and share it.

Best regards
Philomath

1 Like

Hello there !

Thank you everyone for your answers and your help

I tried differents things these last days but nothing worked for me. I’m gonna look the bios to check if everything fine there…

EDIT : I checked my bios and everything seems fine and enabled…

@Philomath : did you do something else to activate hw transcoding ?

Hello ZasZ,

Actually not, for me it was plug and play. But beside that, as mentioned earlier with some hiccups after install.

But I’m interested in your logging in PLEX itself. Because you allocate within the app your Intel 730, but hw transcode is not present.

PLEX website info | related

As the page formulate, no hw sign = no hw transcoding.

Jasper Lake N5105 lack of acceleration forum post

Best regards
Philomath

Once again, thanks for your help

What do you need to see in the Plex console exactly ? Because there is a bunch of lines there :sweat_smile:

That’s what i get when I force transcoding :

Hello ZasZ,

Well, I think this give some relevant information. Because of my knowledge, I only can help to share relevant information regarding your input.

Found a lot when enter this error into Google. Suggest to read the cases related.

Verry curious what cause this problem.
Is TureNAS installed on bare metal btw?

Best regards
Philomath

Sorry it’s not going to help you go forward but … I’ve been trying (every now and then) to get this to work without success for over a year. I’ve gone through the TrueCharts version and the official version of Plex, with versions of Scale from 22.x to the current one, I just can’t get hardware transcoding to work (Supermicro X12STH-F with a Xeon E-2356G). Earlier this week I installed Jellyfin (official) - the app config is pretty much the same as Plex. Once up and running I logged into the webpage and turned hardware decode on and … it just worked ! When I forced a transcode the cpu ran at about 10-12% rather than the usual ~35% with Plex and I could see it was using the hardware in the logs (the dashboard doesn’t show if the transcode is sw or hw).

So, I thought I’d post this because I’ve not seen it mentioned elsewhere that hw transcode works in Jellyfin whereas not in Plex. I’d guess there’s either a bug in the Plex implementation from the official catalog or within the Plex code itself. Might help someone from tearing their hair out over this issue ?!
-Durwin

Thank you for your help both of you !

@durwin99 I tried but i don’t like the Jellyfin UI (personal taste …)

I tried everything and nothing worked for me…
I give up for now, unless an act of god happen or maybe just someone comes with a bad ass solution ^^’

Luckily for me i bought a CPU powerful enough to endle one transcoding… So far I’ll deal with it…

I feel the same, Jellyfin client (SwiftFin I think) on Apple TV is too simple and doesn’t work properly (eg it doesn’t track “up next” properly) so I will also switch back to Plex for now, I can put up with 35% CPU for a bit longer (it’s not often I need to transcode)

If you tried Jellyfin server, do you know if the transcoding worked with hardware (ie a lot less CPU usage) ? Because if so, you’ll know that the hardware side (bios etc) is working fine… and the problem is therefore with the Plex implementation.

HW Transcoding requires PlexPass subscription. I assume you have that.

Also for my Nvidia GPU, I add the following environment variable to the app package config “NVIDIA_GPU_CAPABILITIES = ALL”

@durwin99 : No I’ve try to configure the transcoding just to check but there is too many steps to make it work and at the end I won’t use it so I decided to save my time :sweat_smile:

@Trexx : Yes I have plexpass and I don’t want to use Nvidia GPU, I want to use my iGPU to not put a graphic card inside my NAS

My GUESS is that if you are using the iGPU for the “TrueNas display”, it can’t be shared for HW transcoding via Kubernetes/Plex. I am running a server, so my “TrueNAS display” is being driven off the BMC board in the box.

@Trexx : that’s could be a clue ! Do you know how disable Truenas display ?