Server Version#: 1.13.9.5456-ecd600442
Player Version#: 2.22.1.917-2a5a2e01
After getting a Mac mini (2018), I was surprised to find that Plex Media Player for macOS does not seem to support playing videos with hardware decoding of HEVC, although the technically similar feature hardware-accelerated streaming is a promoted Plex Media Server feature. Am I right in this assumption and is support for hardware accelerated HEVC playback coming soon?
Both the PMS and PMP are on the same Mac mini (2018). I have also tried with a MacBook Pro (13-inch, 2017, Two Thunderbolt 3 Ports) as client. The same files do play with hardware decoding in VLC or IINA (which also uses mpv). Fortunately, Plex Media Player can play 4K h.265 videos smoothly on my CPU (3,2 GHz 6-core Intel Core i7), but the CPU load increases to around 300 %. Plex for Kodi freezes when trying to play the files.
Hardware acceleration (modern hardware) is enabled in settings. The debug overlay says âHardware Decoding no (videotoolbox)â. The logs say:
2018-11-16 00:08:08 [ DEBUG ] PlayerComponent.cpp @ 593 - vo/opengl-cb: Assuming 60.000000 FPS for display sync.
2018-11-16 00:08:08 [ DEBUG ] PlayerComponent.cpp @ 593 - vd: Container reported FPS: 25.000000
2018-11-16 00:08:08 [ DEBUG ] PlayerComponent.cpp @ 593 - vd: Codec list:
2018-11-16 00:08:08 [ DEBUG ] PlayerComponent.cpp @ 593 - vd: hevc - HEVC (High Efficiency Video Coding)
2018-11-16 00:08:08 [ DEBUG ] PlayerComponent.cpp @ 593 - vd: hevc - HEVC (High Efficiency Video Coding)
2018-11-16 00:08:08 [ DEBUG ] PlayerComponent.cpp @ 593 - vd: Opening video decoder hevc
2018-11-16 00:08:08 [ DEBUG ] PlayerComponent.cpp @ 593 - vd: Probing 'videotoolbox'...
2018-11-16 00:08:08 [ DEBUG ] PlayerComponent.cpp @ 593 - vd: Hardware decoder for 'hevc' with the given API not found in libavcodec.
2018-11-16 00:08:08 [ DEBUG ] PlayerComponent.cpp @ 593 - vd: Probing 'videotoolbox-copy'...
2018-11-16 00:08:08 [ DEBUG ] PlayerComponent.cpp @ 593 - vd: Hardware decoder for 'hevc' with the given API not found in libavcodec.
2018-11-16 00:08:08 [ DEBUG ] PlayerComponent.cpp @ 593 - vd: Probing 'cuda'...
2018-11-16 00:08:08 [ DEBUG ] PlayerComponent.cpp @ 593 - vd: Probing 'cuda-copy'...
2018-11-16 00:08:08 [ DEBUG ] PlayerComponent.cpp @ 593 - vd: Hardware decoder for 'hevc' with the given API not found in libavcodec.
2018-11-16 00:08:08 [ DEBUG ] PlayerComponent.cpp @ 593 - vd: Probing 'crystalhd'...
2018-11-16 00:08:08 [ DEBUG ] PlayerComponent.cpp @ 593 - vd: Hardware decoder for 'hevc' with the given API not found in libavcodec.
2018-11-16 00:08:08 [ DEBUG ] PlayerComponent.cpp @ 593 - vd: Using software decoding.
I have not found much information on this in the Plex forums. Googling around, I have found old posts from 2016 on mpvâs GitHub mentioning that mpv does not support HEVC hardware decoding on macOS (https://github.com/mpv-player/mpv/issues/3689), but I have found newer posts from early 2018 where it seems support now exists (https://github.com/mpv-player/mpv/issues/5755). You donât seem to mention on the Plex site what version of mpv is used in PMP and mpv donât provide clear changelogs, but I found this in the PMP logs, suggesting that PMP uses an old version of mpv which Iâm guessing doesnât support HEVC hardware decoding:
2018-11-16 00:08:03 [ DEBUG ] PlayerComponent.cpp @ 593 - cplayer: mpv 53a7eec (C) 2000-2017 mpv/MPlayer/mplayer2 projects
2018-11-16 00:08:03 [ DEBUG ] PlayerComponent.cpp @ 593 - cplayer: built on Wed Aug 30 05:14:14 PDT 2017
As comparison, IINAâs corresponding logs for trying and succeeding with hardware decoding are:
[ 0.220][v][vd] Probing 'videotoolbox'...
[ 0.220][v][vd] Trying hardware decoding.
[ 0.221][v][vd] Selected video codec: hevc (HEVC (High Efficiency Video Coding))
And the mpv version theyâre using is slightly newer:
[ 0.013][v][cplayer] mpv 0.27.0 (C) 2000-2017 mpv/MPlayer/mplayer2 projects
[ 0.013][v][cplayer] built on Thu Oct 19 18:59:20 HKT 2017
I should also mention that IINA suffers from graphical bugs while playing, which VLC doesnât.