[BUG] LG OLED WebOS App is using 160xthe bandwidth that it should for transcoded audio (160Megabit+)

EDIT: see latest post, bug has to do with Direct Streaming video while transcoding audio from DDP (EAC3), when transcoding both, or direct streaming both, no issue, bug is only when video is direct streamed and audio is transcoded.

Server Version#: 1.32.5.7349
Player Version#: 5.67.2

Server info: Headless Ubuntu with i5 8500 using iGPU for transcoding. Its a 6 core CPU with 48GB of RAM. During all this CPU is barely using 1 of the 6 cores, and only about 1.5GB of 48GB of RAM is being used.

Issue: This is 100% reproducible. Happens every single time. Trying to watch 4K HDR movie on the Plex app on LG TV and after playing fine for about a minute it pauses, and does the spin circle thing, server says its buffering, but even when it errors out on the TV the server bandwidth stays high (160Megabit, which is completely saturated pipe). More than 160 times higher than it should be (transoding of Audio should result in ~1Mebabit audio stream but instead its 160 Megabit+). Audio and Video together are about 7 Megabit… yet server is using 160Megabit and i think it would use more if pipe allowed for it.

Video is direct stream, audio is being transcoded.

I think the issue is specifically with transcoding Atmos 5.1 to AAC 5.1 (see mediainfo below). Video portion that is Direct Streaming seems to be without issue.

Here is file info:

Video
ID                          : 1
Format                      : HEVC
Format/Info                 : High Efficiency Video Coding
Format profile              : Main 10@L5@Main
HDR format                  : SMPTE ST 2086, HDR10 compatible
Codec ID                    : V_MPEGH/ISO/HEVC
Duration                    : 2 h 20 min
Bit rate                    : 6 043 kb/s
Width                       : 3 840 pixels
Height                      : 1 600 pixels
Display aspect ratio        : 2.40:1
Frame rate mode             : Constant
Frame rate                  : 23.976 (24000/1001) FPS
Color space                 : YUV
Chroma subsampling          : 4:2:0 (Type 2)
Bit depth                   : 10 bits
Bits/(Pixel*Frame)          : 0.041
Stream size                 : 5.91 GiB (87%)
Writing library             : x265 3.5+1-f0c1022b6:[Windows][GCC 10.2.0][64 bit] 10bit
Encoding settings           : cpuid=1111039 / frame-threads=4 / numa-pools=24 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=3840x1600 / interlace=0 / total-frames=0 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=3 / no-allow-non-conformance / repeat-headers / annexb / no-aud / no-eob / no-eos / no-hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=24 / keyint=240 / gop-lookahead=0 / bframes=4 / b-adapt=0 / b-pyramid / bframe-bias=0 / rc-lookahead=15 / lookahead-slices=8 / scenecut=40 / no-hist-scenecut / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=0 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=2 / limit-refs=3 / no-limit-modes / me=1 / subme=2 / merange=57 / temporal-mvp / no-frame-dup / no-hme / weightp / no-weightb / no-analyze-src-pics / deblock=0:0 / sao / no-sao-non-deblock / rd=2 / selective-sao=4 / no-early-skip / rskip / fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=0.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=crf / crf=21.0 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / ipratio=1.40 / pbratio=1.30 / aq-mode=2 / aq-strength=1.00 / cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=9 / transfer=16 / colormatrix=9 / chromaloc=1 / chromaloc-top=2 / chromaloc-bottom=2 / display-window=0 / master-display=G(8500,39850)B(6550,2300)R(35400,14600)WP(15635,16450)L(10000000,50) / cll=1759,202 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / no-opt-cu-delta-qp / no-aq-motion / no-sbrc / hdr10 / hdr10-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=0 / analysis-save-reuse-level=0 / analysis-load-reuse-level=0 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / no-hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / scenecut-aware-qp=0conformance-window-offsets / right=0 / bottom=0 / decoder-max-rate=0 / no-vbv-live-multi-pass / no-mcstf
Default                     : Yes
Forced                      : No
Color range                 : Limited
Color primaries             : BT.2020
Transfer characteristics    : PQ
Matrix coefficients         : BT.2020 non-constant
Mastering display color pri : BT.2020
Mastering display luminance : min: 0.0050 cd/m2, max: 1000 cd/m2
Maximum Content Light Level : 1759
MaxCLL_Original             : 1759 cd/m2
Maximum Frame-Average Light : 202
MaxFALL_Original            : 202 cd/m2

Audio
ID                          : 2
Format                      : E-AC-3 JOC
Format/Info                 : Enhanced AC-3 with Joint Object Coding
Commercial name             : Dolby Digital Plus with Dolby Atmos
Codec ID                    : A_EAC3
Duration                    : 2 h 20 min
Bit rate mode               : Constant
Bit rate                    : 768 kb/s
Channel(s)                  : 6 channels
Channel layout              : L R C LFE Ls Rs
Sampling rate               : 48.0 kHz
Frame rate                  : 31.250 FPS (1536 SPF)
Compression mode            : Lossy
Stream size                 : 770 MiB (11%)
Title                       : BTM
Language                    : English
Service kind                : Complete Main
Default                     : Yes
Forced                      : No
Complexity index            : 16
Number of dynamic objects   : 15
Bed channel count           : 1 channel
Bed channel configuration   : LFE

Text
ID                          : 3
Format                      : ASS
Codec ID                    : S_TEXT/ASS
Codec ID/Info               : Advanced Sub Station Alpha
Duration                    : 2 h 17 min
Compression mode            : Lossless
Language                    : English
Default                     : No
Forced                      : No

Playing other 4K HDR content that is actually encoded at much higher bitrate works fine, and network speeds are where I expect them to be (at what video is encded at)

* Codec HEVC
* Bitrate 10920 kbps
* Bit Depth 10
* Chroma Location left
* Chroma Subsampling 4:2:0
* Coded Height 2160
* Coded Width 3840
* Color Primaries bt2020
* Color Range tv
* Color Space bt2020nc
* Color Trc smpte2084
* Frame Rate 25 fps
* Height 2160
* Level 5.0
* Profile main 10
* Ref Frames 1
* Title HEVC x265 10bit BT2020 HDR Video / 12000 kbps / 2160p / 23.976 fps / Main 10 Profile 4
* Width 3840
* Display Title 4K HDR10 (HEVC Main 10)
* Extended Display Title HEVC x265 10bit BT2020 HDR Video / 12000 kbps / 2160p / 23.976 fps / Main 10 Profile 4

* Codec AAC
* Channels 6
* Bitrate 464 kbps
* Language English
* Language Tag en
* Audio Channel Layout 5.1
* Profile lc
* Sampling Rate 48000 Hz
* Title LC-AAC / 5.1 / 48 kHz
* Display Title English (AAC 5.1)
* Extended Display Title LC-AAC / 5.1 / 48 kHz (English)

Server log:
plex.log.zip (324.9 KB)

Its almost as if there is a bug where audio transcode bitrate is not set or someone used wrong units, so it just transcodes at an uncapped 200+ Megabit bitrate or something. Server has no problem with doing that (since audio transcoding doesnt take up too much resources), but the network cant keep up so it goes into buffering (since it saturates the 100 Megabit port on the LG).

As experiment I transcoded the track to 5.1 AAC and added it as second track:

ffmpeg command used:

ffmpeg -i "input" -map 0 -c:s copy -c:v copy -c:a aac -b:a 448k -ac 6 "output"

When playing this track usage is where expected, bandwidth stays sub 15 Megabit, no issues with buffering.

As soon as I switch over to the Atmos track, bandwidth shoots up to 160 megabit, saturates the pipe and movie buffers until Plex times out.

Hi @dugl I took a quick look at your Plex Media Server logs you provided (Thank you for this!) and the transcoder log line shows that we are encoding aac with a bitrate of 774K.

Sep 02, 2023 14:21:34.120 [140399438838584] DEBUG - [Req#320abe/Transcode/luuhwjzcqgub31k298ovaw0h/JobRunner] Job running: EAE_ROOT=/tmp/pms-50d2031f-0b41-4a06-9045-8c40c81e85c8/EasyAudioEncoder FFMPEG_EXTERNAL_LIBS=‘/var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Codecs/8217c1c-4578-linux-x86_64/’ X_PLEX_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx “/usr/lib/plexmediaserver/Plex Transcoder” -codec:0 hevc -codec:1 eac3_eae -eae_prefix:1 luuhwjzcqgub31k298ovaw0h_ -noaccurate_seek -analyzeduration 20000000 -probesize 20000000 -i /mnt/sda/Films/Spider_Man_Across_the_Spider-Verse_2023.mkv -map 0:0 -codec:0 copy -filter_complex “[0:1] aresample=async=1:ochl=‘5.1’:rematrix_maxval=0.000000dB:osr=48000[0]” -map “[0]” -metadata:s:1 language=eng -codec:1 aac -b:1 774k -segment_format mpegts -f ssegment -individual_header_trailer 0 -segment_time 10 -segment_start_number 0 -segment_copyts 1 -segment_time_delta 0.0625 -segment_list “http://127.0.0.1:32400/video/:/transcode/session/luuhwjzcqgub31k298ovaw0h/e6037803-ca2a-4cdd-8224-e8e8160e1d92/manifest?X-Plex-Http-Pipeline=infinite” -segment_list_type csv -segment_list_size 5 -segment_list_separate_stream_times 1 -segment_list_unfinished 1 -max_delay 5000000 -avoid_negative_ts disabled -map_metadata -1 -map_chapters -1 “media-%05d.ts” -start_at_zero -copyts -vsync cfr -y -nostats -loglevel quiet -loglevel_plex error -progressurl http://127.0.0.1:32400/video/:/transcode/session/luuhwjzcqgub31k298ovaw0h/e6037803-ca2a-4cdd-8224-e8e8160e1d92/progress

It might be something else weird going on, so I will try and reproduce this tonight on my LG CX OLED and then if successful get an issue created for engineering.

Thanks. Yeah I saw the 774K when I was looking at the logs myself. But something strange is happening. Hopefully that mediainfo allows you to recreate easily. If not let me know and Ill try to help.

This is still an bug in LG Plex app. And I think I have a new piece of information. Just ran into it again on another movie, here is media info (again EAC3 or DDP as its officially called is the culprit). I noticed that its only an issue when Plex is Direct Streaming video and transcoding Audio, when its transcoding both, its not an issue.:

Video
ID                          : 1
Format                      : HEVC
Format/Info                 : High Efficiency Video Coding
Format profile              : Main 10@L4@Main
Codec ID                    : V_MPEGH/ISO/HEVC
Duration                    : 1 h 47 min
Bit rate                    : 2 806 kb/s
Width                       : 1 920 pixels
Height                      : 1 080 pixels
Display aspect ratio        : 16:9
Frame rate mode             : Constant
Frame rate                  : 23.976 (24000/1001) FPS
Color space                 : YUV
Chroma subsampling          : 4:2:0
Bit depth                   : 10 bits
Bits/(Pixel*Frame)          : 0.056
Stream size                 : 2.11 GiB (81%)
Writing library             : x265 3.2.1+1-b5c86a64bbbe:[Mac OS X][clang 11.0.3][64 bit] 10bit
Encoding settings           : cpuid=1049071 / frame-threads=3 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=1920x1080 / interlace=0 / total-frames=0 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=4 / no-allow-non-conformance / no-repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=24 / keyint=240 / gop-lookahead=0 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=25 / lookahead-slices=4 / scenecut=40 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=2 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=3 / limit-refs=3 / limit-modes / me=3 / subme=3 / merange=57 / temporal-mvp / no-hme / weightp / no-weightb / no-analyze-src-pics / deblock=0:0 / sao / no-sao-non-deblock / rd=4 / selective-sao=4 / no-early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=1.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=crf / crf=23.0 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / ipratio=1.40 / pbratio=1.30 / aq-mode=2 / aq-strength=1.00 / cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=1 / transfer=1 / colormatrix=1 / chromaloc=0 / display-window=0 / cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / no-opt-cu-delta-qp / no-aq-motion / no-hdr / no-hdr-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=5 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / no-hevc-aq / no-svt / no-field / qp-adaptation-range=1.00
Default                     : Yes
Forced                      : No
Color range                 : Limited
Color primaries             : BT.709
Transfer characteristics    : BT.709
Matrix coefficients         : BT.709

Audio
ID                          : 2
Format                      : E-AC-3
Format/Info                 : Enhanced AC-3
Commercial name             : Dolby Digital Plus
Codec ID                    : A_EAC3
Duration                    : 1 h 47 min
Bit rate mode               : Constant
Bit rate                    : 640 kb/s
Channel(s)                  : 6 channels
Channel layout              : L R C LFE Ls Rs
Sampling rate               : 48.0 kHz
Frame rate                  : 31.250 FPS (1536 SPF)
Compression mode            : Lossy
Stream size                 : 492 MiB (19%)
Title                       : English DD+ 5.1 640Kbps 
Language                    : English
Service kind                : Complete Main
Default                     : Yes
Forced                      : Yes

For now the workaround is to go into the menu and Uncheckbox “Allow Direct Stream”. This then transcodes both video and audio (as opposed to Direct Playing video and transcoding audio). Like this it works perfectly fine, bandwidth gets down to 18 to 20Megabit range (as opposed to saturing the pipe at 200+ megabit).

So the bug has something to do with direct streaming video while transcoding audio. Both direct streaming no issue, both transcoding no issue. Please fix this bug.

Here is a sample to reproduce with (had to zip due to forum not allowing to upload .mkv) also upload limit is 8Mb, so only 20 sec clip. But when you play look at your Bandwidth usage it should spike up to physical maximum of your network (for 1Gigabit network should be around 160 to 200Megabit)

sample.zip (7.7 MB)

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