Exact same file streams at different resolutions from different servers

For the life of me, I can’t figure out why the exact same movie file streams at different resolutions depending on what server I’m accessing.

Two of us have the Synology servers with the same specs and are running the same server version. If I stream a file from his remote server, the player says that the original quality is 320p and the video streams at 320p. If I try to stream the file from my home server, the player says that the original file is 240p and the video streams at 240p.

I repeat - it is the exact same file on both servers.

I’m assuming there’s some setting on my server that’s causing this, but I can’t figure out what it is that is downgrading the quality.

Server Version#: 1.18.8.2527
Player Version#: Plex Player 6.9 on ios 13.3.1
If providing server logs please do NOT turn on verbose logging>

Do you have the same behavior on different clients as well? That’s a pretty old version of iOS…

If I play it on my computer, it streams at the original quality.

Actually this is the latest version I can find available of Plex Player on ios: Plex Player 6.9 on ios 13.3.1

ah… so it’s not iOS 6 :wink:

  • what video quality settings have you set for remote playback in the Plex for iOS client?
  • do you know/see if your friend has set Limit remote stream bitrate on his server in Settings > Server > Remote Access?

To test, I set the quality level to the maximum allowed on the ios player itself. Then, on the server under Plex Web - Quality, I set everything to maximum. Then I went and tried to cast a 480p video to the chromecast and the app on ios says that the original quality is 240p.

On my friend’s server, I don’t know his settings. He’s not available for me to ask at the moment.

However, it still doesn’t make sense that with all settings on both the player and server quality set to maximum and streaming over a gigabit network in my own house that everything I try to stream only comes at 240p, but if I try to stream from my friend’s remote server that I can stream over the same phone and to the same chromecast the exact same file at 320p.

I’m lost.

Can you start playing that video once more, then after waiting a minute, download the server logs and attach them here?

Logs can be downloaded from:
Settings > Server > Manage > Troubleshooting > Download Logs

Here you go. Thanks.

Plex Media Server Logs_2020-03-22_13-20-01.zip (4.8 MB)

Why are you actually casting the video instead of just playing it through the native Plex client on your iOS device?

From the logs it looks like the playback is triggered with a resolution of 360 pixels height. The video is being transcoded due to the selected image based subtitles that are apparently not supported by the client.

Beyond that, the Chromecast does not seem to be a bottleneck. According to the logs it supports full HD resolution @ 60Hz but only up to 720 bit/s – the latter seems odd and is already exceeded by your Frozen 2 video (which has a bitrate of 791). This could be a reason for the video size to be decreased (to meet that restriction).

The only way I have to play it on the TV is via a chromecast unless I want to watch the video on my phone. I don’t have a roku or apple tv - just a chromecast.

I tried casting a BBC documentary which was encoded at 480p without subtitles and that downgrades to 280p as well.

Could you double-check the playback settings on your Chromecast?
Does that still have any playback restrictions? I’m particularly curious where Plex gets the bitrate restriction from (Plex thinks this comes from the Chromecast).

> Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   X-Plex-Client-Profile-Extra: add-limitation(scope=videoCodec&scopeName=*&type=upperBound&name=video.bitrate&value=720&replace=true)+add-limitation(scope=videoCodec&scopeName=h264&type=upperBound&name=video.level&value=42&replace=true)+add-transcode-target-audio-codec(type=videoProfile&context=streaming&protocol=http&audioCodec=ac3)+add-limitation(scope=videoAudioCodec&scopeName=ac3&type=upperBound&name=audio.channel&value=6)+add-transcode-target-audio-codec(type=videoProfile&context=streaming&protocol=http&audioCodec=eac3)+add-limitation(scope=videoAudioCodec&scopeName=eac3&type=upperBound&name=audio.channel&value=6)+add-limitation(scope=videoAudioCodec&scopeName=aac&type=upperBound&name=audio.channel&value=2)
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   subtitles: burn
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   offset: 0
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   session: jwg5ciir93dcucqgd5tm4hcx
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   mediaBufferSize: 30720
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   directStreamAudio: 1
> Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   maxVideoBitrate: 720
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   location: wan
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   audioBoost: 100
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   subtitleSize: 100
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   directStream: 1
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   directPlay: 0
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   fastSeek: 1
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   protocol: http
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   partIndex: 0
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   mediaIndex: 0
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   path: /library/metadata/100392
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   hasMDE: 1
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast] [Transcoder] Video (start) options
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   Direct Play: false
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   Protocol: http
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   Player: html
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast] [PDE] Player decision
> Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   videoResolution: 360
> Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   bitrate: 720
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   useSoftSubtitles: false
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   canDirectStreamAudio: true
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   canDirectStreamVideo: false
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   canDirectPlay: false
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast]   canPlay: true
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast] [MDE] Finished analysis of sd (mp4, h264, aac, 40, main)
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] WARN - [Chromecast] [MDE] Soft subtitles failed; bitmap subtitles
> Mar 22, 2020 13:03:02.521 [0x7f92615cb700] WARN - [Chromecast] [MDE] Invalid profile property; bitrate: 791 > 720
> Mar 22, 2020 13:03:02.521 [0x7f92615cb700] WARN - [Chromecast] [MDE] Invalid profile property; bitrate: 791 > 720
  Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast] [MDE] Starting analysis of sd (mp4, h264, aac, 40, main)
> Mar 22, 2020 13:03:02.521 [0x7f92615cb700] INFO - [Chromecast] [MDE] Augmented profile: { "directPlay": { "mp4": { "mimeType": "video/mp4; codecs=\"avc1.42E01E\"", "video": { "codecs": { "h264": { "maxLevel": 42 } }, "maxWidth": 1920, "maxHeight": 1080, "maxBitDepth": 8, "maxFrameRate": 60, "maxBitrate": 720, "maxVideoResolution": "sd" }, "audio": { "codecs": { "aac": { "maxSamplingRate": 48000, "maxChannels": 2 }, "mp3": {}, "ac3": {}, "eac3": {} } } }, "mkv": { "mimeType": "video/webm", "video": { "codecs": { "h264": { "maxLevel": 42 }, "vp8": {} }, "maxWidth": 1920, "maxHeight": 1080, "maxBitDepth": 8, "maxFrameRate": 60, "maxBitrate": 720, "maxVideoResolution": "sd" }, "audio": { "codecs": { "aac": { "maxSamplingRate": 48000, "maxChannels": 2 }, "mp3": {}, "vorbis": {}, "ac3": {}, "eac3": {} } } }, "mpegts": { "protocol": "hls", "video": { "maxWidth": 1920, "maxHeight": 1080, "maxBitDepth": 8, "maxFrameRate": 60, "maxBitrate": 720, "maxVideoResolution": "sd" }, "audio": { "codecs": { "ac3": {}, "eac3": {} } } } }, "directStream": { "video": { "maxWidth": 1920, "maxHeight": 1080, "maxBitDepth": 8, "maxFrameRate": 60, "codecs": { "h264": { "maxLevel": 42 } }, "maxBitrate": 720, "maxVideoResolution": "sd" }, "audio": { "codecs": { "aac": { "maxSamplingRate": 48000, "maxChannels": 2 }, "mp3": {}, "opus": {}, "vorbis": {} }, "maxChannels": 6 } } }```

I have four Chromecasts in the house. All exhibit the same behavior.

All are firmware version: 1.42.172094

The only video setting in Google Home where you manager these is one to allow for a 50Hz setting where appropriate.

I attempted to play a Rolling Stones Documentary that has no subtitles and it was converted to 240P as well. Here are the latest logs. I’ve started combing through them, but I’m not sure what I’m looking for.

Plex Media Server Logs_2020-03-23_14-25-37.zip (5.4 MB)

Bump.

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