Plex HTPC has a playback issue with certain 4K content usually with low bitrate and perhaps due to some specific encoding. This issue occurs using the latest version of Plex HTPC as a Plex Pass subscriber. Disabling hardware decoding in Plex HTPC prevents the issue from occurring.
Only point 1 is important because every time there is a new Plex HTPC update, it replaces the mpv-2.dll with the default. So you will have to add the Mitzsch mpv-2.dll back.
If changing the mpv.conf or shaders helps then that’s not a Plex issue because it’s your config. The hl2guide config and its shaders are ok but not optimum. If you don’t fully understand how mpv configs affect performance then it might be better to remove your mpv.conf and let Plex manage it for you. The default Plex HTPC mpv configs are tuned well enough for most users and that way you know that nothing you do can break it. Just choose one of the gpu options from the Video menu and find the one that works best for you.
I’ve tried every setting combination possible in Plex HTPC before this, and on 4K files with specific encodings (H265, HDR, low bitrate) nothing works to fix it when hardware decoding is on in Plex HTPC.
I had no custom modifications to Plex HTPC when troubleshooting (did not add any .conf etc.). All other player software playback those files fine.
I suspect the fix is 1 + 2 or just 2 because the .conf is fixing to a more optimal hardware decode setting. If you read the Reddit reports for this issue, at least 3 users are on NVIDIA hardware so perhaps the stock Plex HTPC configuration for MPV does not correctly configure hardware decoding for NVIDIA GPU.
To be clear, it’s a small subset of files that have the issue. Out of all the files I have played only 2 have exhibited this problem.
A reddit user reporting the issue seems to think the root cause is the Plex HTPC MPV defaulting to DXVA hardware decoding instead of D3D11 which may be alleviated by the mpv.conf
Interesting what you said about hwdec so I checked the logs. It doesn’t look like Plex sets hwdec. The mpv default is hwdec=no so maybe that was your issue?
I wouldn’t rely too much on mpv config info from Reddit and other random sites. When I started using mpv I went through a lot of them. Now I know that they are mostly fluff with lots of unnecessary bloat. Sometimes they are very specific to a situation but are shared as part of more general advice.
What power mode do you have configured in the nvidia control panel? Could be a clock issue, where high bitrate content triggers the GPU to clock higher and therefore less judder - low bitrate stuff would not tax the GPU enough to raise its clock…
I had problems on my end with plex htpc (RTX 3050) when running the GPU with its default power mode - changing this to “max performance” fixed it for me.
I came across this when troubleshooting and found I was already on this setting.
The fact that the video files in question played back flawlessly on external media players like VLC and standalone MPV plus the fact that the steps listed in OP fixed the problem seem to indicate the root cause lies with Plex HTPC default MPV implementation, probably around hardware decode.
The default mpv.dll is based on a “super old” code base compared to upstream mpv - there are probably some commits that fix the slow decoding speed… The easiest method is to exchange the mpv-2.dll after each update…
Yes sir, understood! I’m reporting the details here so that perhaps the specific fix whether it be a patched mpv-2.dll or conf change might be upstreamed so that manually fixing after each patch isn’t needed and it’s working out of the box for all users.
Not sure if there are any other recommended Plex HTPC specific configurations that are ideal to get highest quality video and audio playback?
I think I will see how often auto-updates happen and look into writing a script to auto copy/replace from a directory to Plex HTPC if frequent manual replacing is required.
It would be awesome if Plex automatically included an MPV-2.dll + mpv.conf that resolved this issue and included ideal default configuration for maximum quality on playback of HDR/EAC3/4K/H265 etc content. – maybe dynamically altering the mpv.conf based on hardware detected on install.
Was wondering what the hell is going on all of the sudden on some of my files. Got it fixed with mvp.dll. Also disabling hardware decoding fixed the issue too, but i rather just copy the mpv.dll
Shouldn’t matter. NonV3 should be fine for older systems, V3 requires newer chips. (2014/15+ or something) But there is no real performance difference.
Go to the Plex HTPC install dir and change the mpv-2.dll you find there to mpv-2.dll.orig (just for having it)
Copy the mpv-2.dll from the downloaded zip and copy it to the Plex HTPC install dir, then launch Plex HTPC and test playback. No mpv.conf is needed at this point. Please test with hw decoding enabled.
Note: Don’t use mpv.dll from upstream mpv - it will not work as there have been changes made to how files are loaded that are incompatible with Plex.