LG TV bandwidth limit?

Server Version#: Version 1.26.2.5797
Player Version#: 5.0.1

Trying to play a high bitrate 4k file on my TV and it always goes into Transcode mode instead of Direct Play (which happens on an iPhone 12 on the same network).

I have confirmed that the same video/audio codecs work when the bitrate is smaller (even if size is still 4k).

The reason for the transcode is obviously “DEBUG - [Transcode] Streaming Resource: Required bandwidth unknown (media requires deep analysis) Changing decision parameters provided by client to fit bandwidth limit of 10000kbps” - as soon as I get it below that 10Mbps, it works.

Wondering if the real reason behind the 10Mbps limit is “ERROR - Unable to find client profile for device; platform=webOS, platformVersion=3.4.0, device=webOS 3.4.0, model=49UH770V-ZA” as I can’t see how the network could be the actual limiting factor (cable is detected at 100Mbps, WIFI is 802.11ac, speedtest.net shows 87Mbps download from the internet).

Guessing that the 10Mbps limit is a default for when a client profile is not found? Is there a way to push this or get a client profile for my TV?

I think it depends on the video/audio codec of your file. Care to share its xml?

if I remember right, for samsung and lg tvs plex doesn’t do their profiles. They use a generic one, so that is not an issue.

I have a new LG-OLED and the RJ45 jack is limited to 100M. The built in WiFi does perform better. But, beware of the audio codec. LG can not handle any form of DTS audio track. If your file has any kind of DTS audio track it will get transcoded every time.

As I said I have checked the codecs and I can play a file with the same ones, but a lower bitrate normally (Direct Play).

Codec data for transcode file:
Stream #0:0(eng): Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 24 fps, 24 tbr, 1k tbn, 24 tbc (default)
Stream #0:1(eng): Audio: aac (LC), 48000 Hz, 5.1, fltp (default)

Codec data for direct play file:
Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x1604 [SAR 1:1 DAR 960:401], 23.98 fps, 23.98 tbr, 1k tbn, 23.98 tbc (default)
Stream #0:1(eng): Audio: aac (LC), 48000 Hz, 5.1, fltp (default)

Unless the problem is 24 vs 23.98fps, then codecs are not an issue.

The problem is the bandwidth, but I have no idea why it limits the bandwidth to 10000kbps.

Transcode file:
bitrate=“15404”
requiredBandwidths=“23337,21751,17781,16851,16851,16851,16851,16851”

Direct Play file:
bitrate=“5527”
requiredBandwidths=“11452,10072,7598,6495,6272,6095,5873,5873”

The second one being obviously below 10000kbps, while the first one obviously isn’t.

The real question is - where is that bandwidth limit set, why is it set to 10000kbps and can it be changed?

container? an xml file would give us all the required info.

You’re barking up the wrong tree, but here are the xml files of 10s samples - first one is just a slice of the original, the other is re-encoded with crf 32 which makes the bitrate much smaller.

Original file that transcodes on play:

<MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="5" librarySectionTitle="Random" librarySectionUUID="ecfb60ff-171d-4a2c-ba13-24f80424bd4a" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1653784666">
<Video ratingKey="36994" key="/library/metadata/36994" guid="com.plexapp.agents.none://f85cf72c3d1172730434bd5ea015faed46045c69?lang=xn" type="movie" title="Test.10s.orig" librarySectionTitle="Random" librarySectionID="5" librarySectionKey="/library/sections/5" subtype="clip" summary="" year="2022" thumb="/library/metadata/36994/thumb/1654012024" duration="10270" originallyAvailableAt="2022-05-30" addedAt="1654012019" updatedAt="1654012024" createdAtAccuracy="epoch" createdAtTZOffset="7200">
<Media id="43981" duration="10270" bitrate="13248" width="3840" height="2160" aspectRatio="1.78" audioChannels="6" audioCodec="aac" videoCodec="hevc" videoResolution="4k" container="mkv" videoFrameRate="24p" audioProfile="lc" videoProfile="main 10">
<Part accessible="1" exists="1" id="194894" key="/library/parts/194894/1654011337/file.mkv" duration="10270" file="/Users/mini/Movies/Random/Test.10s.orig.mkv" size="17007744" audioProfile="lc" container="mkv" videoProfile="main 10">
<Stream id="502627" streamType="1" default="1" codec="hevc" index="0" bitrate="13248" language="English" languageTag="en" languageCode="eng" bitDepth="10" chromaLocation="left" chromaSubsampling="4:2:0" codedHeight="2160" codedWidth="3840" colorPrimaries="bt2020" colorRange="tv" colorSpace="bt2020nc" colorTrc="smpte2084" frameRate="24.000" height="2160" level="150" profile="main 10" refFrames="1" width="3840" displayTitle="4K HDR10 (HEVC Main 10)" extendedDisplayTitle="4K HDR10 (HEVC Main 10)"> </Stream>
<Stream id="502628" streamType="2" selected="1" default="1" codec="aac" index="1" channels="6" bitrate="768" language="English" languageTag="en" languageCode="eng" profile="lc" samplingRate="48000" displayTitle="English (AAC 5.1)" extendedDisplayTitle="English (AAC 5.1)"> </Stream>
<Stream id="502629" streamType="3" selected="1" codec="srt" index="2" bitrate="0" language="English" languageTag="en" languageCode="eng" title="English (SDH)" displayTitle="English (SRT)" extendedDisplayTitle="English (SDH) (SRT)"> </Stream>
</Part>
</Media>
<Extras size="0"> </Extras>
<Related> </Related>
</Video>
</MediaContainer>

Small file that direct plays:

<MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="5" librarySectionTitle="Random" librarySectionUUID="ecfb60ff-171d-4a2c-ba13-24f80424bd4a" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1653784666">
<Video ratingKey="36993" key="/library/metadata/36993" guid="com.plexapp.agents.none://48cd9ef5e56b95de666c6bd809fc925a5aaf5100?lang=xn" type="movie" title="Test.10s.crf32" librarySectionTitle="Random" librarySectionID="5" librarySectionKey="/library/sections/5" subtype="clip" summary="" year="2022" thumb="/library/metadata/36993/thumb/1654012031" art="/library/metadata/36993/art/1654012031" duration="10271" originallyAvailableAt="2022-05-30" addedAt="1654012019" updatedAt="1654012031" createdAtAccuracy="epoch" createdAtTZOffset="7200">
<Media id="43980" duration="10271" bitrate="862" width="3840" height="2160" aspectRatio="1.78" audioChannels="6" audioCodec="aac" videoCodec="hevc" videoResolution="4k" container="mkv" videoFrameRate="24p" audioProfile="lc" videoProfile="main 10">
<Part accessible="1" exists="1" id="194893" key="/library/parts/194893/1654011333/file.mkv" duration="10271" file="/Users/mini/Movies/Random/Test.10s.crf32.mkv" size="1106840" audioProfile="lc" container="mkv" videoProfile="main 10">
<Stream id="502624" streamType="1" default="1" codec="hevc" index="0" bitrate="862" language="English" languageTag="en" languageCode="eng" bitDepth="10" chromaLocation="left" chromaSubsampling="4:2:0" codedHeight="2160" codedWidth="3840" colorPrimaries="bt2020" colorRange="tv" colorSpace="bt2020nc" colorTrc="smpte2084" frameRate="24.000" height="2160" level="150" profile="main 10" refFrames="1" scanType="progressive" width="3840" displayTitle="4K HDR10 (HEVC Main 10)" extendedDisplayTitle="4K HDR10 (HEVC Main 10)"> </Stream>
<Stream id="502625" streamType="2" selected="1" default="1" codec="aac" index="1" channels="6" bitrate="768" language="English" languageTag="en" languageCode="eng" audioChannelLayout="5.1" profile="lc" samplingRate="48000" displayTitle="English (AAC 5.1)" extendedDisplayTitle="English (AAC 5.1)"> </Stream>
<Stream id="502626" streamType="3" selected="1" default="1" codec="srt" index="2" bitrate="0" language="English" languageTag="en" languageCode="eng" title="English (SDH)" displayTitle="English (SRT)" extendedDisplayTitle="English (SDH) (SRT)"> </Stream>
</Part>
</Media>
<Extras size="0"> </Extras>
<Related> </Related>
</Video>
</MediaContainer>

Settings → Scheduled Tasks. Make sure both Upgrade media analysis during maintenance and Perform extensive media analysis during maintenance are selected.

Plex performs Deep Analysis during the maintenance window. During Deep Analysis, Plex determines the bandwidth required to stream each audio/video/subtitle track at several points in the file. If you look at the XML Info for a movie/show, you’ll see deepAnalysisVersion="6" and several requiredBandwidths entries once Deep Analysis has analyzed the file.

If Deep Analysis does not run during the maintenance window, it will be re-queued and run during a subsequent window. You can also increase the window for tasks to complete by altering the start/stop times at the top of Settings → Scheduled Tasks.

FYI, if your Plex Server accesses media over a network (ex: NFS mount from NAS), some scheduled tasks will generate a lot of network traffic. For example, my Plex server runs on a small PC and media is stored on a NAS. I regularly see 500 Mbps+ traffic on my network when Plex is performing tasks such as generating video preview thumbnails.

You can ignore the “unable to find client profile” error message.

Plex no longer uses client profiles for several clients, including LG webOS and Samsung Tizen.

However, PMS still checks and logs the error message.

To be clear, the Plex for LG app does not have a bitrate limit. This is either a setting in the app that’s been set

Setting \ Video \ Local Quality and/or Remote Quality

or a setting on the server.

Settings \ Server \ Remote Access \ Internet upload speed and/or Limit remote stream bitrate

@anon18523487 Winner! The LG app has a video quality setting that had a limit set to 10Mbps. Thank you!

Sadly if I increase the limit, I get an “unexpected playback error” when trying to play the original file. It seems the server still wants to transcode and then reports “Transcode runner appears to have died”.

After further inspection I noticed that the files I can play are scanType="progressive" - if I manually transcode it into a high bitrate (14695 kb/s vs original 13248 kb/s), but progressive, Direct Play works as expected.

@FordGuy61 in this case media files and the Plex server are on the same machine and the player is one router away (TV is on a “guest” network). Thanks for the info on where I can find scheduled stuff. Does “Detect intros” also have an option to only run at night?

Sounds like the original file is encoded in a way the app doesn’t like.

Yes. It’s under the library tab.

Yeah, seems that the TV only likes progressive files - but the first problem was the bandwidth setting on the TV and that’s solved, so thank you.

Re intros: I had that set, but it kept running during the day. I have Scheduled tasks set to start at 2:00 and end at 5:00 in the Settings / Scheduled Tasks.

It also seems I have some debug/verbose logging still turned on even though I think I have it off in all places in the settings UI (Debug Level in Plex Player / Debug is set to Disabled; debug logging and verbose logging in Settings / General are set to off).

Intro detection will also run on demand if manually click on “analyze” on an episode or at the season level of a show.

It also seems I have some debug/verbose logging still turned on

Where are you seeing this? That should give a hint to which setting you need to change.

Didn’t trigger it manually, still no clue what the problem is.

I see loads of logs in Manage / Console. Plex Media Server.log also has a bunch of VERBOSE rows. A server restart fixed it…

Ah ok. If the server was in the middle of doing something when you had verbose enabled, it would continue producing verbose logging until that task was finished. A restart would have stopped that process and stopped the verbose logging.

Leave the Plex Media Server set for debug level logs, the default settings. This is in Settings → Server_Name → General. The log files are a fixed size. Turning off debug level logging does not save any drive space.

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