HEVC Direct Play and is it SW transcoded even with QuickSync

Can’t seem to find a clear answer to this question…

I still have the older, yet mostly still capable Intel i5 2500k (Overclocked) relying on the iGPU HD 3000 that supposedly supports Quick Sync. To my knowledge, only h.264 can benefit from QSV.
As a noob to video encoding/decoding playback, I’m confused as to how I’m able to still play the files natively on Windows 10, and play it on networked devices.
On Server PC, never had an issue playing 1080p HEVC 10/8 bit files, looks great from my perspective. Actually may even look better viewed on a different 4k smart TV like the newest Samsung and Plex app.
My question is if I have it all wrong, the media player I’m using decodes the files without the iGPU on the Server PC. Also, when I play it to the Smart TV, Xbox OneX, etc., is direct play having the devices decode and display the HEVC sources?
I’m hesitant to renew my plex pass for hardware accelerated support if it doesn’t seem like it’s required. I have noticed the one time streaming to a lesser device (1st gen firestick, rasp pie 3), transcoding to h.264 works just fine… How much of that is from straight SW, and does the Quick Sync play any part in getting the video to playback on those devices??

Short Answer:

Your system will direct play H264 & H265 (HEVC) video, assuming the Plex client supports those video formats.

The iGPU in your CPU supports hardware accelerated transcoding of H264 video, but not HEVC video. You need a 6th gen Intel processor to support HEVC and a 7th gen to support 10-bit HEVC.

You could add support for HEVC hardware accelerated transcoding by adding a Nvidia GTX 1050 or higher or Quadro P2000 or higher video card to the system (Plex Pass also required).

Note that Nvidia limits their GTX cards to two simultaneous transcodes. The third & successive simultaneous transcodes will be performed on the CPU, not on the Intel iGPU.

The Quadro P2000 has no set limits. It is limited only by the capacity of the video card (GPU, VRAM, etc). Note there are OS dependencies as well, so double check compatibility prior to purchase if running MacOS or Linux, or running in a VM or Docker.

Long Answer:

Direct Play means Plex streams the media without modification. The Plex client supports both the video and audio formats and also the file type / container (MKV or MP4). Direct Playing requires a small amount of CPU cycles per stream.

Direct Stream means Plex had to repackage the media into a compatible format. For example, if the media is in a MKV file but the client only supports MP4. Plex will repackage the audio & video streams into a MP4 container before sending it to the client. This requires a small amount of CPU cycles per stream. More than direct play, but still small.

Transcoding is when either the video, audio, or both are not compatible with the Plex client. For example, the video is HEVC and the client can only handle H264. The Plex Media Server will transcode the HEVC video to H264, then stream it to the client. Transcoding video, especially HEVC, is very compute intensive. Transcoding audio is also compute intensive, but less so than video.

If you have a Plex Pass and if supported by your PMS CPU & OS, you may be able to take advantage of Hardware Accelerated Streaming. See comments above with regards to CPU & GPU limitations.

Note that audio is always transcoded on the CPU. Only video is transcoded on the GPU/iGPU.


Additional Reading:
Using Hardware Accelerated Streaming

Streaming Media: Direct Play and Direct Stream

Nvidia Video Encode and Decode GPU Support Matrix

Intel Processor Specifications

Even if your server can’t hardware decode some files (such as HEVC), it can still make use of hardware encoding when converting to h264. That way you’re not using your CPU power for both the decode and encode, but only one side of it. :slight_smile:

1 Like

Good point. Thanks for mentioning it.

1 Like

Yes, thank you for the explaination. I notice the CPU tends to increase loads ~15 to 30% on certain devices. I have 3 newer samsung UHD 4k displays which support HEVC in MKV/MP4 formats, save for the rarely ever used firestick, which sometimes starts skipping (likely due to its own limitations). If I were to change the quality on the client side to 720p, does plex use the iGPU Quick Sync found on the server PC for the encoding portion? Also, if the HEVC container is MKV that includes subtitles (set to always on), does that affect the direct play, direct stream, and transcoding h264 from the server?

Thanks for the detailed answer, long and short! Much more easier to understand than what I got from the Plex Knowledge Base. I believe all my clients support HEVC since they’re new smart TVs and those without, run plex from an Xbox One X. I’ve ordered new 9th Gen Intel CPU, but am actually going to migrate the server along with the current i5 2500k to run just Plex. I understand the limitations of transcoding on that CPU, but if my current clients have no problems as it functions now, would I notice any improvements having newer hardware and enabling hardware accelerated transcoding (with plex pass)… I also wanted to ask if subtitles enabled found inside the MKV container have any effect on the way it casts the stream or if transcoding gets initiated? I ask because an older h264 video improved its playback once we disabled the subtitles.

General comment: Avoid transcoding whenever possible. It reduces the quality of the picture and places additional load on your server. There are times where it cannot be avoided, such as playing HEVC on a non-HEVC compatible device. Just understand the consequences.

Short Answer: If you have a Plex Pass. Otherwise no.

Long Answer:
Transcoding consists of two processes: decoding and encoding. Either process may be hardware accelerated independently of the other. Also, note that Plex encodes all video to H.264. Encoding to H.265 is not currently supported.

In your specific example, transcoding HEVC video (due to resolution change) with a 2nd gen Intel processor, the decode will occur in software and the encode will occur on the iGPU. This is because the iGPU on the i5-2500K does not support HEVC video.

No. If your system handles the load, then there is no need to upgrade.

The joys of subtitles. On alternate Thursdays when the moon is full, Plex transcodes all subtitles. Unless you’re dancing the Hokey Pokey, then everything direct plays. Or so it seems… :smile:

Subtitles can have a big effect on playback, sometimes forcing a video transcode. Support varies depending on the client’s capabilities. Note support is not tied to a specific video codec (H264/H265/etc) or container type (MKV/MP4). It is just whether or not the client itself supports the type of subtitles you’re using.

All Plex clients I have used direct play SRT (text) subtitles, whether internal or external. However, with some clients (mostly smart TVs), if the audio is transcoding and SRT subtitles are enabled, the video also transcodes.

Support for PGS (Blu-ray) & VOBSUB (DVD) subtitles, both image based, vary per client. If your client supports them, they direct play. If not, the video will transcode, so the Plex server can burn in the subtitles to the video stream.

The best I can tell you is try it and see what happens. If you enable subtitles and the video quality drops, stutters, etc, then PMS is probably transcoding the video to burn in the subtitles. If available, try an alternate audio stream, such as AAC or AC3, versus dts or TrueHD. This might help (see aforementioned comments WRT audio dependency). You can check playback status on the Plex dashboard via Plex Web → Manage → Status.

Two examples (from my home theater setup):

LG B7 OLED w/ Plex Client from LG Store

  • PGS/VOBSUB subtitles: Video always transcodes. The Plex client does not support direct playback of these subtitles. Therefore, PMS must burn them into the video stream.
  • SRT subtitles & TrueHD audio: Video always transcodes. The TV does not support TrueHD audio, so PMS must transcode to a supported format. Audio transcode + SRT subtitles results in a video transcode, so Plex can keep the audio, video, & subtitles in sync with each other.
  • SRT Subtitles & AAC/AC3/dts audio. Video direct plays. The TV supports these audio codecs, so the audio direct plays. The Plex client supports SRT subtitles, and since the audio direct plays, there is no need to transcode the video to keep playback in sync.

Nvidia Shield w/ Plex Android TV client

  • Connections: Shield → Denon receiver → LG B7 OLED
  • All subtitles direct play. The Shield supports direct playback of PGS/VOBSUB/SRT subtitles. The Denon supports all audio codecs found on Blu-ray/DVD discs, so the audio never transcodes. As a result, there is no need to transcode the video.

If this all seems rather confusing, you’re right, it is. As mentioned, the best course of action is to try it, see what happens, and adjust accordingly. And learn the Hokey Pokey…

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.