High cpu usage with subtitles

Server Version#:plex media server 1.14.1.5488-cc260c476
Player Version#: Nvidia Shield TV 7.12.0.9236

Hello All

When I stream mkv files with ac3 audio on my nvidia shield tv I get about 10% cpu usage on my computer, but when I turn on srt subtitles it goes to 100% for about 10 seconds and stops. Then every 20-30 seconds it goes between 50-100% sporadically.

I know the nvidia shield doesn’t support ac3 audio and that’s the transcode reason but it plays fine. Its when I turn on subtitles this problem starts to happen. It sounds like my computer is taking a huge breath of air, really annoying.

This never happens if its in direct play and I know its because its not transcoding anything, but I would rather not convert my library (mostly ac3 audio) into a supported format. I’m using a pretty old 1080p sony tv from 2008, but I don’t think that’s the problem either.

I’m still a noob at plex (just started using it for about a month) anyone have any tips or fixes to prevent this?

Thank you! :smiley:

Please post the content of the Plex XML info of this movie.

Thanks for the reply OttoKerner. Here you go! Sorry, I couldn’t figure out how to upload this in a document version.

<?xml version=“1.0” encoding=“UTF-8”?>
<MediaContainer size=“1” allowSync=“1” identifier=“com.plexapp.plugins.library” librarySectionID=“2” librarySectionTitle=“TV Shows” librarySectionUUID=“6f1c5023-5aad-448f-8c73-c1e322fb657d” mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion=“1544815262”>
<Video ratingKey=“6616” key="/library/metadata/6616" parentRatingKey=“6609” grandparentRatingKey=“6608” guid=“com.plexapp.agents.thetvdb://257655/7/7?lang=en” librarySectionTitle=“TV Shows” librarySectionID=“2” librarySectionKey="/library/sections/2" type=“episode” title=“The Slabside Redemption” titleSort=“Slabside Redemption” grandparentKey="/library/metadata/6608" parentKey="/library/metadata/6609" grandparentTitle=“Arrow” parentTitle=“Season 7” contentRating=“TV-14” summary=“Oliver makes a choice that will affect his entire life, as well as the lives of everyone he cares about.” index=“7” parentIndex=“7” rating=“7.0” year=“2018” thumb="/library/metadata/6616/thumb/1551679084" art="/library/metadata/6608/art/1550471335" parentThumb="/library/metadata/6609/thumb/1550471335" grandparentThumb="/library/metadata/6608/thumb/1550471335" grandparentArt="/library/metadata/6608/art/1550471335" grandparentTheme="/library/metadata/6608/theme/1550471335" duration=“2508896” originallyAvailableAt=“2018-11-26” addedAt=“1546227800” updatedAt=“1551679084”>
<Media videoResolution=“1080” id=“11517” duration=“2508896” bitrate=“13079” width=“1920” height=“1080” aspectRatio=“1.78” audioChannels=“6” audioCodec=“eac3” videoCodec=“h264” container=“mkv” videoFrameRate=“24p” videoProfile=“high”>
<Part accessible=“1” exists=“1” id=“12943” key="/library/parts/12943/1546227800/file.mkv" duration=“2508896” file=“F:\BTN\Arrow\Season 7\Arrow.S07E07.The.Slabside.Redemption.1080p.AMZN.WEB-DL.DDP5.1.H.264-CasStudio.mkv” size=“4101803316” container=“mkv” videoProfile=“high”>
<Stream id=“36359” streamType=“1” default=“1” codec=“h264” index=“0” bitrate=“12439” bitDepth=“8” chromaLocation=“left” chromaSubsampling=“4:2:0” colorPrimaries=“bt709” colorRange=“tv” colorSpace=“bt709” colorTrc=“bt709” frameRate=“23.976” hasScalingMatrix=“0” height=“1080” level=“40” profile=“high” refFrames=“4” scanType=“progressive” width=“1920” displayTitle=“1080p (H.264)” />
<Stream id=“36360” streamType=“2” selected=“1” default=“1” codec=“eac3” index=“1” channels=“6” bitrate=“640” language=“English” languageCode=“eng” audioChannelLayout=“5.1(side)” samplingRate=“48000” displayTitle=“English (EAC3 5.1)” />
<Stream id=“36361” streamType=“3” codec=“srt” index=“2” language=“English” languageCode=“eng” title=“SDH” displayTitle=“English (SRT)” />
</Part>
</Media>
<Extras size=“0”>
</Extras>
</Video>
</MediaContainer>

What make/model of TV?

HDTVs (at least in the USA) with Over The Air tuners support AC3 5.1 audio (aka Dolby Digital), as it is part of the ATSC broadcast standard.

The XML you provided shows EAC3 audio (aka Dolby Digital Plus) which is not backward compatible with AC3.

If your TV does not support EAC3, then Plex must transcode the audio to a supported format (Also true for dts, TrueHD, dts-HD, etc audio formats).

On some platforms, when Plex is transcoding audio and subtitles are enabled, Plex will also transcode the video. This is done to keep the audio, video, & subtitles in sync with each other There is a long thread somewhere on the forum about this. It has to do with limitations in the underlying streaming protocol, if I remember correctly.

If you are running into this scenario, the high CPU utilization is Plex transcoding the video. The reason it happens every 20 - 30 seconds is that your system can transcode faster than the video is streamed to the Shield.

This is basically Plex working as designed - direct playing what is supported and transcoding what is not. Unfortunately, the video transcoding forces the fans to kick in on your PC.

Here’s some settings to check. It won’t alleviate the lack of EAC3 support, but will help verify what is happening.

What is the Shield’s surround sound setting? Suggest trying Auto if set otherwise.
Settings -> Display & Sound -> Advanced Setting -> Surround Sound

In the Plex client on the Shield:

Video Quality
  Adjust Automatically = Off
  Home Streaming = Maximum
  Play Smaller Videos = On
Video
  Burn Subtitles = Automatic
  Display Information = On
Advanced
  Passthrough = HDMI

With subtitles turned off, play the Arrow episode for which you provided the XML. During playback, pull up the Information Overlay by tapping the bottom of the ring on the Shield remote (or just pause the video).

What does the Info Overlay show (upper left corner)? Is the audio or video transcoding? If so, what reason is provided?

Now repeat with subtitles turned on. What does the Info Overlay show?


Every forum is a bit different…

When displaying the XML, right click and save the info as a text file, then attach to your reply. You can use the Upload icon in the toolbar or just drop the file into your reply window. The forum s/w doesn’t like files ending in .xml, so change it to .txt or zip it before attaching.

Alternately, you could use the Preformatted Text capability, the </> icon, to change to a fixed width font. Select the desired text, then click on the icon.


FYI, Plex can be picky when it comes to TV show naming and organization. Long term, you’ll have better results if you follow Plex’s recommended directory & naming structure.

This has nothing to do with transcoding audio or video. Just about downloading the correct metadata, displaying seasons & episodes correctly in the various Plex apps, etc.

/TV Shows  (or F:\BTN)
  /Arrow
    /Season 07
      /Arrow - s07e07 - The Slabside Redemption.mkv

See Media Preparation guidelines for more info. Specifically, Naming Series & Season Based TV Shows.

Hey FordGuy61,

Cool name!:wink: What make/model of TV? I’m using a Sony KDL-40W4100. Here is the link of the manual in case you want to read it.

I went ahead and changed the settings the way you told me to and without subtitles it reads: “transcode reason:E-AC-3 audio is not supported on this device.” And my cpu doesn’t spike.

With subtitles on it reads the same thing:" transcode reason: “E-AC-3 audio is not supported on this device.” And my cpu still occasionally spikes but not as often as before.

So does my TV not support E-AC-3 audio? Or is it the Nvidia Shield?

Thank you for the extra information on organizing my library and posting XML files too! I will start to edit my library this way.:smiley:

Thanks for the link to the manuals.

Your TV supports 2 channel PCM and Dolby Digital (AC3). This is noted on in the Operating Instructions manual, 2018 version, p 46, HDMI IN 1/2/3/4.

The Plex app on the Shield will try to bitstream (passthrough) audio to your TV. Since your TV does not support EAC3, Plex made the decision to transcode the audio to a supported format. This transcode happens on the server. Transcoding audio does not require many CPU cycles, so that is why your CPU utilization remains low.

If you enable subtitles, then Plex also transcodes the video, as mentioned in my first reply. Transcoding video is CPU intensive. That is why you see your CPU utilization increase and hear the fans kick in as the system heats up.

You will see the same thing happen when you play media with dts, dts-HD, TrueHD, etc audio. (basically anything but PCM & AC3 and maybe AAC).

There is not too much you can do about it. As mentioned in first reply, this is how Plex is designed to work. The video transcode is an unfortunate side effect due to

The good news is that if most of your library is AC3 (mentioned in your OP), as opposed to EAC3, then you won’t run into transcoding that often. The Shield will pass the AC3 to the TV w/o transcoding. You’ll also be able to turn on subtitles and not have the video transcode.

The real way to fix things is to have an audio system that supports the necessary codecs. Basically using a soundbar (or receiver) instead of the TV speakers. You would connect the Shield to a HDMI Input on the soundbar and the TV to the HDMI-ARC port. Just make sure the soundbar (or receiver) supports the necessary audio formats (AC3/EAC3/TrueHD/TrueHD+Atmos/dts/dts-HD 5.1 & 7.1/dts:X).

Hope all this helps, or at least informs. Wish there was a way to avoid transcoding w/o spending money or manually re-encoding the audio, but I’m not aware of one.

Cheers.

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