There’s a huge problem with stuttering and performance on some TV shows from Sonarr. But I think I found the issue. I’ve watched the dashboard and there’s a ton of cpu used for shows with codec HEVC versus very little for codec H264.
Why is HEVC so cpu intensive, how can I prevent it, and is there a setting in Sonarr that I should be using?
HEVC (H265) is a more advanced compression technique. It is VERY CPU intensive process to turn HEVC back into working video.
If you have a device capable of decoding HEVC video, things work great. It’s starting to be popular because it is capable of smaller filesizes for the same video quality.
If your device is not capable of real-time HEVC, your device will slam to a halt. What device are you using? Try to avoid HEVC or X265.
My server is on an Intel NUC i7, not running much of anything else. Amazing that it can’t handle the job with less cpu usage. So, is there a way to pre-convert the hevc to h264? Or a way to tell Sonarr I don’t want that format?
I don’t use or know how Sonarr works (I need to, one of these days…). I’d assume you can specify the video CODEC you prefer. H/X264 is retroactively known as AVC, while the newer H/X265 is called HEVC. In my file sources, I’ve seen both x265 or HEVC to describe the format, but almost universally x264 or h264 for the codec for the former. If Sonarr offers an option, check the video codecs and disable anything x265 or HEVC.
What is the device you are playing these videos on? If you can avoid transcoding, then your server’s CPU won’t budge an inch on serving the file.
Do you know if the Simpsons file is being transcoded when playing? Check the dashboard of plex (click the “Activity” icon in the upper right when someone is watching) to see if it says the file is being direct-played, or transcoded. If the file is being directly played, then the server does no transcoding, and the CPU sits idle.
What you’re using to play the files is the important part. Is the NUC the server and the player?
If the NUC is what you’re using to play the files it should do that fine. Are you possibly using a browser to access Plex to play these files on the NUC?
Some browsers do not like HVEC and can also be picky about what kind of audio they will direct play
If this is the case, I suggest you try a different browser, Plex for Windows app or HTPC
Avoiding HVEC might be possible on Sonar but it’s going to be harder and harder to avoid moving forward, and really shouldn’t be necessary
It appears the problem is pretty much when using a browser (both Chrome & Firefox) away from the NUC server. They both do HEVC transcoding with 100% cpu and H264 in Direct Stream at 10%.
On the NUC server, I run HTPC client and it does HEVC both Direct Play AND Stream at 80% and H264 Direct Stream 60%.
On a client pc, I can run Plex App and HEVC runs Direct Play at 20%.
On a remote Roku stick, Plex runs HEVC Direct Stream using 10%!
So not surprising that a browser would be the worst, but I thought HTPC should have done better while running right on the server.
My experience with HEVC and Chrome is that it will direct play if the audio track is stereo AAC. If it’s another format (your screenshot says it’s AC3) both audio and video are transcoded. I really don’t use a browser for watching content, so there might be a way to configure it so it works. It just isn’t a priority for a browser to direct play for me.
Sorry, I had bad info. The server is actually an i5 (NUC5i5RYB), version H40999-504, and I can’t find that model isn’t even listed on Intel’s site! I was showing the run from a app.plex.tv on Chrome from a workstation. Direct Play and Direct Stream were enabled.
Further issue is the Roku: with DP and DS enabled it was doing fine with a HEVC in Direct Stream. But yesterday I ran an H264 show and it Transcoded! I’m a real novice at all this video streaming and could use a good tutorial on what’s going on!
I have been experimenting on the Roku, and at times disable Direct Streaming which solved sync problems with audio/video. But in this run it was enabled.
The QuickSync graphics (embedded GPU) in 5th gen Intel CPUs does not support decoding of HEVC video. It does support decoding of H.264/AVC, MPEG2, & VC1 video.
Therefore, when transcoding HEVC video, Plex will use the CPU to decode the video.
That is why the CPU hits 100% when transcoding HEVC video but only 10% when transcoding H.264 video.
Ok, but why is it transcoding the H264 now? That show downloaded on 12/08, three days before I played it, and it still is doing transcoding & buffering now. How long should it take to do this deep analysis and how can I tell if it’s been done?
Is my only solution to buy a new NUC? Interestingly, playing the file on Windows 10 browsers shows it in Direct Play. Why not on the Roku?
You can can see if deep analysis has been performed by examine the episode’s XML info; look for the “deepAnalysisVersion” and “requiredBandwidths” listings. If present, deep analysis has been performed.
Without deep analysis, Plex falls back to other methods of determining the maximum bandwidth required by a stream. I’m not saying this definitely the problem here, but it’s suspicious that it’s showing a bandwidth of 10Gbps for that stream.
All 4 episodes I have in that particular series transcode. I have another “related” series here that is also H.264 but it does Direct Stream on the Roku and plays well. Here’s the xml for it: