[BUG] Plex DLNA "limitation applies: 3840 > 1920" despite "UpperBound" set in the XML profile

Server Version: 1.30.0.6406 (64-bit) Windows
Player Version: Panasonic Viera TH-40GX700Z (Panasonic MIL DLNA CP UPnP/1.0 DLNADOC/1.50)

Hi, I know the DLNA Panasonic topic has been here many times (mostly years ago), but I haven’t found a solution to it, and the Plex developers don’t seem to care.

The original DLNA profile (general / Panasonic) does not work with the current Panasonic TVs as it is super outdated (more than 10 years) and it does not reflect Panasonic’s support of HEVC etc. I have a user DLNA profile for my Panasonic TV, but the server keeps transcoding anyway. Moreover, the transcoded content is vertically stretched (lost black bars).

Can anyone explain me what is wrong?

The active DLNA profile:

<?xml version="1.0" encoding="utf-8"?>
<Client name="Panasonic Viera TH-40GX700Z">
  <!-- Author: Aido @ AVForums -->
  <!--  v1.0 - Initial version -->
  <!--  v1.3 - rename file to force override, full rewrite by Aido @ AVForums -->
  <Identification>
	<Header name="User-Agent" substring="Panasonic MIL DLNA CP UPnP/1.0 DLNADOC/1.50" />
	<!-- <Header name="transferMode.dlna.org" substring="Streaming" /> -->
    <DeviceDescription type="urn:schemas-upnp-org:device:MediaRenderer:1" >
		<Manufacturer substring="Panasonic" />
		<FriendlyName substring="40GX700_Series" />
    </DeviceDescription>
	<DeviceDescription type="urn:panasonic-com:device:p00ProAVController:1" >
		<Manufacturer substring="Panasonic" />
		<FriendlyName substring="40GX700_Series" />
	</DeviceDescription>
	<DeviceDescription type="urn:panasonic-com:device:p00RemoteController:1" >
		<Manufacturer substring="Panasonic" />
		<FriendlyName substring="40GX700_Series" />
	</DeviceDescription>
	    <DeviceDescription type="urn:schemas-upnp-org:device:MediaServer:1" >
		<Manufacturer substring="Panasonic" />
		<FriendlyName substring="40GX700_Series" />
    </DeviceDescription>
  </Identification>
  <Settings>
    <Setting name="TimelineBufferOffset" value="10" />
  </Settings>
  <TranscodeTargets>
    <VideoProfile container="mpegts" codec="h264" audioCodec="ac3,aac,mp3" context="streaming">
	  <Setting name="VideoEncodeFlags" value="-x264opts cabac=0" />
	  <Setting name="SubtitleSize" value="100" />
	</VideoProfile>
    <MusicProfile container="mp3" codec="mp3" />  <!-- Not 100% sure about this; other media servers use wav/lpcm -->
    <PhotoProfile container="jpeg" />
  </TranscodeTargets>
  <DirectPlayProfiles>
    <VideoProfile container="mpeg" codec="mpeg2video,mpeg4" audioCodec="ac3,mp3" />
    <VideoProfile container="mkv" codec="vp9,h265,mpeg1video,mpeg2video,h264,mpeg4,hevc" audioCodec="ac3,eac3,aac,he-aac,mp3,mp2,pcm,flac,vorbis,truehd" subtitleFormat="srt,ass" />
    <VideoProfile container="mpegts" codec="hevc,h265,h264" audioCodec="ac3,mp3,aac" />
    <VideoProfile container="mp4" codec="hevc,h265,h264" audioCodec="aac,ac3,mp3,pcm" />
    <VideoProfile container="mov" codec="h264" audioCodec="aac,pcm" />
    <VideoProfile container="avi" codec="mpeg4" audioCodec="mp3,pcm,ac3" />
    <VideoProfile container="flv" codec="h264" audioCodec="aac" />
    <MusicProfile container="mp3" codec="mp3" />
    <MusicProfile container="mp4" codec="aac" />
    <PhotoProfile container="jpeg" />
  </DirectPlayProfiles>
  <CodecProfiles>
    <VideoCodec name="h265,vp9">
      <Limitations>
        <UpperBound name="video.width" value="4096" />
        <UpperBound name="video.height" value="2176" />
        <UpperBound name="video.bitrate" value="120000" />
      </Limitations>
    </VideoCodec>
    <VideoCodec name="mpeg1video,mpeg2video">
      <Limitations>
        <UpperBound name="video.width" value="4096" />
        <UpperBound name="video.height" value="2176" />
        <UpperBound name="video.bitrate" value="120000" />
      </Limitations>
    </VideoCodec>
    <VideoCodec name="h264,mpeg4">
      <Limitations>
        <UpperBound name="video.width" value="4096" />
        <UpperBound name="video.height" value="2176" />
        <UpperBound name="video.bitrate" value="120000" />
      </Limitations>
    </VideoCodec>
  </CodecProfiles>
  <ContainerProfiles>
    <PhotoContainer name="*">
      <Limitations>
        <UpperBound name="media.width" value="4096" />
        <UpperBound name="media.height" value="2176" />
      </Limitations>
    </PhotoContainer>
  </ContainerProfiles>
  <!-- AJP -->
</Client>

Example of contents:

General
UniqueID/String                  : x
CompleteName                     : FILM BACKUP - 2160p.mkv
Format/String                    : Matroska
Format_Version                   : Version 4
FileSize/String                  : 35.1 GiB
Duration/String                  : 3 h 48 min
OverallBitRate/String            : 22.0 Mb/s
Movie                            : FILM BACKUP - 2160p
Encoded_Date                     : UTC 2022-09-29 23:47:00
Encoded_Application/String       : mkvmerge v70.0.0 ('Caught A Lite Sneeze') 64-bit
Encoded_Library/String           : libebml v1.4.2 + libmatroska v1.6.4

Video
ID/String                        : 1
Format/String                    : HEVC
Format/Info                      : High Efficiency Video Coding
Format_Profile                   : Main 10@L5.1@High
HDR_Format/String                : Dolby Vision, Version 1.0, dvhe.08.06, BL+RPU, Blu-ray compatible / SMPTE ST 2086, HDR10 compatible
CodecID                          : V_MPEGH/ISO/HEVC
Duration/String                  : 3 h 48 min
BitRate/String                   : 21.2 Mb/s
Width/String                     : 3 840 pixels
Height/String                    : 1 608 pixels
DisplayAspectRatio/String        : 2.40:1
FrameRate_Mode/String            : Constant
FrameRate/String                 : 23.976 (24000/1001) FPS
ColorSpace                       : YUV
ChromaSubsampling/String         : 4:2:0 (Type 2)
BitDepth/String                  : 10 bits
Bits-(Pixel*Frame)               : 0.143
StreamSize/String                : 33.8 GiB (96%)
Encoded_Library/String           : x265 3.4+35-772bb4c84:[Windows][MSVC 1928][64 bit] 10bit
Encoded_Library_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=3840x1608 / interlace=0 / total-frames=328264 / level-idc=51 / high-tier=1 / uhd-bd=0 / ref=5 / no-allow-non-conformance / repeat-headers / annexb / aud / hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=23 / keyint=250 / gop-lookahead=0 / bframes=8 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=40 / lookahead-slices=4 / scenecut=40 / hist-scenecut=0 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=4 / tu-intra-depth=4 / limit-tu=4 / 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=4 / limit-refs=1 / limit-modes / me=3 / subme=5 / merange=57 / temporal-mvp / no-frame-dup / no-hme / weightp / weightb / no-analyze-src-pics / deblock=0:0 / no-sao / no-sao-non-deblock / rd=4 / selective-sao=0 / no-early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=2.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=crf / crf=17.5 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / vbv-maxrate=160000 / vbv-bufsize=160000 / vbv-init=0.9 / min-vbv-fullness=50.0 / max-vbv-fullness=80.0 / crf-max=0.0 / crf-min=0.0 / ipratio=1.40 / pbratio=1.30 / aq-mode=1 / aq-strength=0.70 / no-cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=0 / 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(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(40000000,50) / cll=602,184 / 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 / hist-threshold=0.03 / no-opt-cu-delta-qp / no-aq-motion / 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
Language/String                  : English
Default/String                   : Yes
Forced/String                    : No
colour_range                     : Limited
colour_primaries                 : BT.2020
transfer_characteristics         : PQ
matrix_coefficients              : BT.2020 non-constant
MasteringDisplay_ColorPrimaries  : Display P3
MasteringDisplay_Luminance       : min: 0.0050 cd/m2, max: 4000 cd/m2
MaxCLL                           : 602 cd/m2
MaxFALL                          : 184 cd/m2

Audio
ID/String                        : 2
Format/String                    : AAC LC
Format/Info                      : Advanced Audio Codec Low Complexity
CodecID                          : A_AAC-2
Duration/String                  : 3 h 48 min
BitRate/String                   : 829 kb/s
Channel(s)/String                : 8 channels
ChannelLayout                    : C L R Ls Rs Lb Rb LFE
SamplingRate/String              : 48.0 kHz
FrameRate/String                 : 46.875 FPS (1024 SPF)
Compression_Mode/String          : Lossy
StreamSize/String                : 1.32 GiB (4%)
Title                            : English
Language/String                  : English
Default/String                   : No
Forced/String                    : No

Text #1
ID/String                        : 3
Format/String                    : ASS
CodecID                          : S_TEXT/ASS
CodecID/Info                     : Advanced Sub Station Alpha
Duration/String                  : 2 h 59 min
BitRate/String                   : 3 b/s
ElementCount                     : 77
Compression_Mode/String          : Lossless
StreamSize/String                : 4.47 KiB (0%)
Title                            : Forced
Language/String                  : English
Default/String                   : No
Forced/String                    : No

Text #2
ID/String                        : 4
Format/String                    : UTF-8
CodecID                          : S_TEXT/UTF8
CodecID/Info                     : UTF-8 Plain Text
Duration/String                  : 3 h 19 min
BitRate/String                   : 36 b/s
ElementCount                     : 1700
StreamSize/String                : 53.9 KiB (0%)
Title                            : English
Language/String                  : English
Default/String                   : No
Forced/String                    : No


Just an update, Plex seems to ignore

        <UpperBound name="video.width" value="4096" />
        <UpperBound name="video.height" value="2176" />

and requires 1080p, see the log:

Nov 28, 2022 02:40:56.170 [15308] DEBUG - MDE: analyzing media item 6
Nov 28, 2022 02:40:56.170 [15308] DEBUG - FILM BACKUP - 2160p - video.width limitation applies: 3840 > 1920
Nov 28, 2022 02:40:56.170 [15308] DEBUG - MDE:  FILM BACKUP - 2160p: no remuxable profile found, so video stream will be transcoded
Nov 28, 2022 02:40:56.170 [15308] DEBUG - MDE: Cannot direct stream video stream due to profile or setting limitations
Nov 28, 2022 02:40:56.170 [15308] DEBUG - MDE: FILM BACKUP - 2160p: selected media 0 / 6

It seems like a similar bug like here:

“Solved” by adding
IP=192.168.31.40,DirectPlay=true,DirectStream=true,LocalResolution=3840x2160,RemoteResolution=3840x2160,OnlineResolution=3840x2160
to DLNA client preferences.

The issue, however, stays. I have no idea why the DLNA profile does not work properly.

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