Server Version#: 1.24.1.4931
Player Version#: 1.35.1.2632-c6783c78-x86_64
I have a series in HEVC which is not Direct-Play in Browser, so I used to use Plex App for Windows. It plays well in Version 1.33.0, but has issues in 1.34.1.2590, 1.34.1.2601 and 1.35.2632
WARN - [MPVEngine/mpv] cplayer: Audio/Video desynchronisation detected! Possible reasons include too slow
WARN - [MPVEngine/mpv] cplayer: hardware, temporary CPU spikes, broken drivers, and broken files. Audio
WARN - [MPVEngine/mpv] cplayer: position will not match to the video (see A-V status field).
I compared the logs of 1.33 and 1.35 and saw that 1.33 is using hardware decoding via hevc-dxva2-copy, because:
DEBUG - [MPVEngine/mpv] decode_wrapper/vd: Looking at hwdec hevc-d3d11va...
DEBUG - [MPVEngine/mpv] decode_wrapper/vd: Could not create device.
DEBUG - [MPVEngine/mpv] decode_wrapper/vd: Looking at hwdec hevc-dxva2...
DEBUG - [MPVEngine/mpv] decode_wrapper/vd: Could not create device.
DEBUG - [MPVEngine/mpv] decode_wrapper/vd: Looking at hwdec hevc-nvdec...
DEBUG - [MPVEngine/mpv] decode_wrapper/vd: Could not create device.
DEBUG - [MPVEngine/mpv] decode_wrapper/vd: Looking at hwdec hevc-dxva2-copy...
DEBUG - [MPVEngine/mpv] decode_wrapper/vd: Trying hardware decoding via hevc-dxva2-copy.
DEBUG - [MPVEngine/mpv] decode_wrapper/vd: Selected codec: hevc (HEVC (High Efficiency Video Coding))
Version 1.34 and above is using hardware decoding via hevc-d3d11va. You can find more details in the logs provided.
Windows is up to date and I also updated and reinstalled graphics driver, whithout difference:
472.12-desktop-win10-win11-64bit-international-nsd-dch-whql
I am having the same issue on hardware that VERY definitely should be able to handle decoding of HEVC-video just fine; any newer version of Plex than 1.33 refuses to use hardware-decoding, Task Manager’s performance graphs don’t show hardware-decoder being utilized at all. With 1.33 the hardware-decoder is being utilized and Task Manager reflect this.
VLC plays the same video perfectly well using D3D11 decoding and Task Manager’s performance graph shows the hardware-decoder being used.
I tested version 1.40.1 and have the same issue. Today I digged a bit deeper and found mpv.conf.md leading to https://mpv.io/manual/master/#video I’ve put the file into AppData\Local\Plex and can see in the log that is beeing used.
I tried many different combinations and managed to force the use of dxva2-copy instead of d3d11va, but this did not help the issue. I also saw, that it is always using hardware-decoding just fine in any version 1.33 to 1.40. So I still think it might be an issue in ffmpeg version used. Unfortunately overwriting the files in AppData\Local\Plex\Plex Media Server\Codecs\ leads to no playback at all
During my iterations of settings in mpv.conf it managed to happen, that no usable hardware-decoder was found and it logged “Using software decoding”. When this happend, the video was playing fine - so the issue was gone…
I’m still hoping for some suggestions how to make hardware-decoding working again for all HEVC videos. I would really appriciate, if any developer would try to investigate this with me.
But for now, I think I go with software-decoding HEVC by pinning hwdec=nvdec in mpv.conf as workaround to not be so far behind in player version…