Server Version#: 1.20.0.3125-9661fc77c
Player Version#: 1.15.0.1354-d31489f0
Hello!
I’m currently running Plex as an ESXI VM with a Quadro P2000 card passed through to the VM (Windows Server 2019). I have set Hypervisor.CPUID.v0 to FALSE, disabled the standard VMware SVGA adapter in Windows (uninstalled the SVGA adapter and deleted the associated VMWare Tools driver), and also have a dummy 4K plug installed. Windows Task Manager and GPU-Z report only the Quadro P2000 being present in the VM. I’m running the latest version of Quadro drivers and the VM has 16vCPUs assigned (Intel Xeon Silver 4208) and 16GB of RAM.
I’m having an issue where no matter what I do, Plex will not hardware transcode (i.e. 4K to 1080p) and will always Direct Play no matter what - even if the debug setting to enable Direct Play / Direct Streams are unchecked. Actually, it also won’t software transcode with hardware transcoding disabled - no matter what everything is always done through Direct Play. I have tried installing/reinstalling both server and clients, but nothing helps. Direct Play isn’t an issue when streaming directly to my 4K TVs, but other clients (i.e. laptops) are not capable of playing 4K and they don’t have 4K displays.
I understand that transcoding 4K is not the best option in general, but its necessary for my use case. What can be causing this? Any suggestions on what I can do to stop Direct Play from being perpetually being enabled?
Can’t help with server setup. I run Plex server on a different platform. However, regarding your clients:
Given the client version number you list, it appears you are using Plex for Windows.
Plex for Windows can direct play 4K media on systems without 4K displays.
Plex for Windows is a very capable client. It scales 4K to 1080p and tonemaps HDR to SDR by itself, without help from the Plex server. It also direct plays audio formats such as dts-HD MA and TrueHD.
My PC has a 4th gen Intel processor and a Nvidia GTX 750Ti card, neither of which can decode H.265 video. Still, 4K HDR video direct plays when using Plex for Windows.
FYI, those are client and device specific settings. To change the setting for Plex for Windows you must be using Plex for Windows on the desired system. If you are using Plex Web, then the setting only affects Plex Web, not Plex for Windows, even if using both on the same system.
If you want to force a transcode, play a H.265/HEVC video in Plex Web. Chrome, Firefox, and Edge do not support HEVC video. Plex will have to transcode the video to play it.
As per your suggestion, I did try to play a 4K video in Plex Web using Chrome and it did transcode and used hardware as well. All streaming clients currently run the Plex Windows App and most of my clients are older laptops - typically they are 2nd generation i7s with Intel HD graphics. 4K Direct Play between the Plex Server and the Plex Windows App on those types of clients is basically impossible - everything is unwatchable.
So it looks like the best way to get around the Direct Play problem is to just use Chrome. It’s not an ideal solution, but it sounds like that’s the only way? Is there any other way to force transcoding when using the Plex Windows App?
Understand. My 2011 Macbook Pro has an i5-2xxx CPU & HD3000 graphics. If I play 4K media using Plex Media Player (same underpinnings as Plex for Mac/Win) it direct plays, but the Macbook CPU is at 100% and the video plays at about 10 fps.
Two ways to force a transcode, both using client settings:
Plex for Windows Settings → Debug
In Plex for Windows settings → Debug, uncheck the box for Direct Play and Direct Stream. This forces a transcode by the Plex Media Server.
Note that all media will be transcoded, irrespective of resolution, bandwidth, etc.
As mentioned above, this has to be set on each client in the Plex for Windows application. It cannot be set from another device, client, etc. The setting does not sync across devices even when using the same Plex login and Settings Sync is enabled in Plex for Windows → General (it did not sync across my two PCs).
Plex for Windows Settings → Quality
In Plex for Windows settings, go to Quality → Home Streaming. If you uncheck the Use Recommended Settings box, it enables a dropbox where you can check a max streaming rate (like what is immediately above for Internet Streaming).
Any media above the selected bitrate will be transcoded by Plex Media Server.
When making the decision to transcode, Plex looks at the bitrate, not the resolution. The video is transcoded to the selected quality.
Example: Choose 20 Mbps, 1080p. Plex direct plays a 4K video if its bandwidth is under 20 Mbps. Any video with a bandwidth above 20 Mbps will transcode to 20 Mbps at 1080p or its original resolution if less than 1080p.