Where's my bottleneck? Is this a network problem?

Server Version#: 1.32.3.7089
Player Version#: 9.23.0.1746

I’m trying to determine where my bottleneck is and when I try to cast a 250Mbps stream using my Android Plex app from my local Plex server to my smart TV or my Chromecast Ultra it plays but the video stutters terribly, like pause for half a second every second. I turned on debug logging and captured a section. Here’s a snippet during playback of a 250Mbps stream that was pausing nearly every second:

May 26, 2023 18:27:43.952 [140286082366264] Debug — Request: [172.27.70.40:35552 (WAN)] POST /log (23 live) #16fde TLS GZIP Signed-in Token (spikeygg) (Pixel 4 XL) / Accept => text/plain, */*; q=0.01 / Accept-Encoding => gzip, deflate, br / Accept-Language => en-US,en;q=0.9 / CAST-DEVICE-CAPABILITIES => {"bluetooth_supported":true,"display_supported":true,"hi_res_audio_supported":false,"remote_control_input_supported":false,"touch_input_supported":false} / Connection => keep-alive / Content-Length => 471 / Content-Type => application/x-www-form-urlencoded; charset=UTF-8 / Host => 172-27-10-10.761e312c69554fc2a377dad4f1ad8bab.plex.direct:32400 / Origin => https://app.plex.tv / Referer => https://app.plex.tv/ / sec-ch-ua =>  / sec-ch-ua-mobile => ?0 / Sec-Fetch-Dest => empty / Sec-Fetch-Mode => cors / Sec-Fetch-Site => cross-site / User-Agent => Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.225 Safari/537.36 CrKey/1.56.500000 DeviceType/Chromecast / X-Plex-Client-Identifier => wb9ydc46cosewkx6003wvoes / X-Plex-Device => Linux / X-Plex-Device-Name => Chromecast / X-Plex-Device-Screen-Resolution => 1280x720,1280x720 / X-Plex-Platform => Chromecast / X-Plex-Platform-Version => 90.0 / X-Plex-Product => Plex Cast / X-Plex-Token => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx / X-Plex-Version => 4.54.1
May 26, 2023 18:27:43.952 [140286082366264] Warning — [Req#16fde] [Chromecast] Did not move header "accept" to query string. This can result in an unnecessary OPTIONS preflight request.
May 26, 2023 18:27:43.952 [140286082366264] Verbose — [Req#16fde] [Chromecast] [Player] Timeline, { "ratingKey": "131924", "key": "/library/metadata/131924", "playbackTime": 2321, "playQueueItemID": "234741", "state": "buffering", "hasMDE": 1, "time": 1000, "duration": 30000 }
May 26, 2023 18:27:43.952 [140286216571704] Debug — Completed: [172.27.70.40:35552] 200 POST /log (23 live) #16fde TLS GZIP 0ms 320 bytes (pipelined: 8)
May 26, 2023 18:27:44.195 [140286218681144] Verbose — WebSocket: processed 1 frame(s)
May 26, 2023 18:27:44.817 [140286216571704] Verbose — WebSocket: processed 1 frame(s)
May 26, 2023 18:27:44.862 [140286218681144] Verbose — We didn't receive any data from 172.27.20.4:50547 in time, dropping connection.
May 26, 2023 18:27:44.862 [140286218681144] Verbose — We didn't receive any data from 172.27.20.4:50546 in time, dropping connection.
May 26, 2023 18:27:44.869 [140286218681144] Verbose — We didn't receive any data from 172.27.20.4:50548 in time, dropping connection.
May 26, 2023 18:27:44.916 [140286216571704] Verbose — WebSocket: processed 1 frame(s)
May 26, 2023 18:27:44.985 [140286112287544] Debug — Request: [172.27.70.40:35552 (WAN)] POST /log (23 live) #16fe3 TLS GZIP Signed-in Token (spikeygg) (Pixel 4 XL) / Accept => text/plain, */*; q=0.01 / Accept-Encoding => gzip, deflate, br / Accept-Language => en-US,en;q=0.9 / CAST-DEVICE-CAPABILITIES => {"bluetooth_supported":true,"display_supported":true,"hi_res_audio_supported":false,"remote_control_input_supported":false,"touch_input_supported":false} / Connection => keep-alive / Content-Length => 324 / Content-Type => application/x-www-form-urlencoded; charset=UTF-8 / Host => 172-27-10-10.761e312c69554fc2a377dad4f1ad8bab.plex.direct:32400 / Origin => https://app.plex.tv / Referer => https://app.plex.tv/ / sec-ch-ua =>  / sec-ch-ua-mobile => ?0 / Sec-Fetch-Dest => empty / Sec-Fetch-Mode => cors / Sec-Fetch-Site => cross-site / User-Agent => Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.225 Safari/537.36 CrKey/1.56.500000 DeviceType/Chromecast / X-Plex-Client-Identifier => wb9ydc46cosewkx6003wvoes / X-Plex-Device => Linux / X-Plex-Device-Name => Chromecast / X-Plex-Device-Screen-Resolution => 1280x720,1280x720 / X-Plex-Platform => Chromecast / X-Plex-Platform-Version => 90.0 / X-Plex-Product => Plex Cast / X-Plex-Token => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx / X-Plex-Version => 4.54.1
May 26, 2023 18:27:44.985 [140286112287544] Verbose — [Req#16fe3] [Chromecast] [Player] Timeline, { "ratingKey": "131924", "key": "/library/metadata/131924", "playbackTime": 3202, "playQueueItemID": "234741", "state": "playing", "hasMDE": 1, "time": 2000, "duration": 30000 }
May 26, 2023 18:27:44.985 [140286216571704] Debug — Completed: [172.27.70.40:35552] 200 POST /log (23 live) #16fe3 TLS GZIP 0ms 320 bytes (pipelined: 9)
May 26, 2023 18:27:45.068 [140286115846968] Debug — Request: [172.27.70.40:35552 (WAN)] GET /:/timeline?ratingKey=131924&key=%2Flibrary%2Fmetadata%2F131924&playbackTime=3202&playQueueItemID=234741&state=playing&hasMDE=1&time=2000&duration=30000 (23 live) #1700c TLS GZIP Signed-in Token (spikeygg) (Pixel 4 XL) / Accept => application/xml / Accept-Encoding => gzip, deflate, br / Accept-Language => en-US,en;q=0.9 / CAST-DEVICE-CAPABILITIES => {"bluetooth_supported":true,"display_supported":true,"hi_res_audio_supported":false,"remote_control_input_supported":false,"touch_input_supported":false} / Connection => keep-alive / Host => 172-27-10-10.761e312c69554fc2a377dad4f1ad8bab.plex.direct:32400 / Origin => https://app.plex.tv / Referer => https://app.plex.tv/ / sec-ch-ua =>  / sec-ch-ua-mobile => ?0 / Sec-Fetch-Dest => empty / Sec-Fetch-Mode => cors / Sec-Fetch-Site => cross-site / User-Agent => Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.225 Safari/537.36 CrKey/1.56.500000 DeviceType/Chromecast / X-Plex-Client-Identifier => wb9ydc46cosewkx6003wvoes / X-Plex-Device => Linux / X-Plex-Device-Name => Chromecast / X-Plex-Device-Screen-Resolution => 1280x720,1280x720 / X-Plex-Drm => widevine / X-Plex-Platform => Chromecast / X-Plex-Platform-Version => 90.0 / X-Plex-Product => Plex Cast / X-Plex-Provider-Version => 1.3 / X-Plex-Session-Identifier => fetitll7f34vwuy2fq4amrno / X-Plex-Text-Format => plain / X-Plex-Token => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx / X-Plex-Version => 4.54.1
May 26, 2023 18:27:45.069 [140286115846968] Debug — [Req#1700c] Client [fetitll7f34vwuy2fq4amrno] reporting timeline state playing, progress of 2000/30000ms for guid=, playbackTime=3202ms ratingKey=131924 url=, key=/library/metadata/131924, containerKey=, metadataId=131924, source=
May 26, 2023 18:27:45.070 [140286115846968] Debug — [Req#1700c] [Now] User is spikeygg (ID: 1)
May 26, 2023 18:27:45.070 [140286115846968] Debug — [Req#1700c] [Now] Device is Chromecast (Chromecast).
May 26, 2023 18:27:45.070 [140286115846968] Debug — [Req#1700c] [Now] Profile is Chromecast
May 26, 2023 18:27:45.070 [140286115846968] Debug — [Req#1700c] [Now] Updated play state for /library/metadata/131924.
May 26, 2023 18:27:45.070 [140286115846968] Debug — [Req#1700c] Statistics: (wb9ydc46cosewkx6003wvoes) Reporting active playback in state 0 of type 1 (scrobble: 0) for account 1
May 26, 2023 18:27:45.072 [140286115846968] Verbose — It took 0.0 sec to serialize a list with 1 elements.
May 26, 2023 18:27:45.073 [140286218681144] Debug — Completed: [172.27.70.40:35552] 200 GET /:/timeline?ratingKey=131924&key=%2Flibrary%2Fmetadata%2F131924&playbackTime=3202&playQueueItemID=234741&state=playing&hasMDE=1&time=2000&duration=30000 (23 live) #1700c TLS GZIP 5ms 619 bytes (pipelined: 10)
May 26, 2023 18:27:45.090 [140286078667576] Debug — Request: [172.27.70.40:35549 (WAN)] POST /log (23 live) #16f14 TLS GZIP Signed-in Token (spikeygg) (Pixel 4 XL) / Accept => text/plain, */*; q=0.01 / Accept-Encoding => gzip, deflate, br / Accept-Language => en-US,en;q=0.9 / CAST-DEVICE-CAPABILITIES => {"bluetooth_supported":true,"display_supported":true,"hi_res_audio_supported":false,"remote_control_input_supported":false,"touch_input_supported":false} / Connection => keep-alive / Content-Length => 144 / Content-Type => application/x-www-form-urlencoded; charset=UTF-8 / Host => 172-27-10-10.761e312c69554fc2a377dad4f1ad8bab.plex.direct:32400 / Origin => https://app.plex.tv / Referer => https://app.plex.tv/ / sec-ch-ua =>  / sec-ch-ua-mobile => ?0 / Sec-Fetch-Dest => empty / Sec-Fetch-Mode => cors / Sec-Fetch-Site => cross-site / User-Agent => Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.225 Safari/537.36 CrKey/1.56.500000 DeviceType/Chromecast / X-Plex-Client-Identifier => wb9ydc46cosewkx6003wvoes / X-Plex-Device => Linux / X-Plex-Device-Name => Chromecast / X-Plex-Device-Screen-Resolution => 1280x720,1280x720 / X-Plex-Platform => Chromecast / X-Plex-Platform-Version => 90.0 / X-Plex-Product => Plex Cast / X-Plex-Token => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx / X-Plex-Version => 4.54.1
May 26, 2023 18:27:45.090 [140286078667576] Warning — [Req#16f14] [Chromecast] Did not move header "accept" to query string. This can result in an unnecessary OPTIONS preflight request.
May 26, 2023 18:27:45.090 [140286216571704] Debug — Completed: [172.27.70.40:35549] 200 POST /log (23 live) #16f14 TLS GZIP 0ms 320 bytes (pipelined: 19)
May 26, 2023 18:27:45.584 [140286082366264] Debug — Request: [127.0.0.1:59634 (Loopback)] GET /identity (24 live) #16f37 Signed-in / Accept => */* / Host => localhost:32400 / User-Agent => curl/7.68.0
May 26, 2023 18:27:45.584 [140286082366264] Verbose — It took 0.0 sec to serialize a list with 0 elements.
May 26, 2023 18:27:45.585 [140286216571704] Debug — Completed: [127.0.0.1:59634] 200 GET /identity (24 live) #16f37 0ms 398 bytes (pipelined: 1)
May 26, 2023 18:27:45.585 [140286218681144] Verbose — Didn't receive a request from 127.0.0.1:59634: End of file
May 26, 2023 18:27:46.282 [140286082366264] Debug — Request: [172.27.70.40:35552 (WAN)] POST /log (23 live) #17043 TLS GZIP Signed-in Token (spikeygg) (Pixel 4 XL) / Accept => text/plain, */*; q=0.01 / Accept-Encoding => gzip, deflate, br / Accept-Language => en-US,en;q=0.9 / CAST-DEVICE-CAPABILITIES => {"bluetooth_supported":true,"display_supported":true,"hi_res_audio_supported":false,"remote_control_input_supported":false,"touch_input_supported":false} / Connection => keep-alive / Content-Length => 103 / Content-Type => application/x-www-form-urlencoded; charset=UTF-8 / Host => 172-27-10-10.761e312c69554fc2a377dad4f1ad8bab.plex.direct:32400 / Origin => https://app.plex.tv / Referer => https://app.plex.tv/ / sec-ch-ua =>  / sec-ch-ua-mobile => ?0 / Sec-Fetch-Dest => empty / Sec-Fetch-Mode => cors / Sec-Fetch-Site => cross-site / User-Agent => Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.225 Safari/537.36 CrKey/1.56.500000 DeviceType/Chromecast / X-Plex-Client-Identifier => wb9ydc46cosewkx6003wvoes / X-Plex-Device => Linux / X-Plex-Device-Name => Chromecast / X-Plex-Device-Screen-Resolution => 1280x720,1280x720 / X-Plex-Platform => Chromecast / X-Plex-Platform-Version => 90.0 / X-Plex-Product => Plex Cast / X-Plex-Token => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx / X-Plex-Version => 4.54.1
May 26, 2023 18:27:46.282 [140286082366264] Warning — [Req#17043] [Chromecast] [Player] Buffering detected, last position change was 510ms ago
May 26, 2023 18:27:46.282 [140286216571704] Debug — Completed: [172.27.70.40:35552] 200 POST /log (23 live) #17043 TLS GZIP 0ms 320 bytes (pipelined: 11)
May 26, 2023 18:27:46.405 [140286112287544] Debug — Request: [172.27.70.40:35552 (WAN)] POST /log (23 live) #17068 TLS GZIP Signed-in Token (spikeygg) (Pixel 4 XL) / Accept => text/plain, */*; q=0.01 / Accept-Encoding => gzip, deflate, br / Accept-Language => en-US,en;q=0.9 / CAST-DEVICE-CAPABILITIES => {"bluetooth_supported":true,"display_supported":true,"hi_res_audio_supported":false,"remote_control_input_supported":false,"touch_input_supported":false} / Connection => keep-alive / Content-Length => 326 / Content-Type => application/x-www-form-urlencoded; charset=UTF-8 / Host => 172-27-10-10.761e312c69554fc2a377dad4f1ad8bab.plex.direct:32400 / Origin => https://app.plex.tv / Referer => https://app.plex.tv/ / sec-ch-ua =>  / sec-ch-ua-mobile => ?0 / Sec-Fetch-Dest => empty / Sec-Fetch-Mode => cors / Sec-Fetch-Site => cross-site / User-Agent => Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.225 Safari/537.36 CrKey/1.56.500000 DeviceType/Chromecast / X-Plex-Client-Identifier => wb9ydc46cosewkx6003wvoes / X-Plex-Device => Linux / X-Plex-Device-Name => Chromecast / X-Plex-Device-Screen-Resolution => 1280x720,1280x720 / X-Plex-Platform => Chromecast / X-Plex-Platform-Version => 90.0 / X-Plex-Product => Plex Cast / X-Plex-Token => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx / X-Plex-Version => 4.54.1
May 26, 2023 18:27:46.405 [140286112287544] Verbose — [Req#17068] [Chromecast] [Player] Timeline, { "ratingKey": "131924", "key": "/library/metadata/131924", "playbackTime": 4207, "playQueueItemID": "234741", "state": "buffering", "hasMDE": 1, "time": 2000, "duration": 30000 }
May 26, 2023 18:27:46.405 [140286218681144] Debug — Completed: [172.27.70.40:35552] 200 POST /log (23 live) #17068 TLS GZIP 0ms 320 bytes (pipelined: 12)
May 26, 2023 18:27:46.423 [140286115846968] Debug — Request: [172.27.70.40:35552 (WAN)] GET /:/timeline?ratingKey=131924&key=%2Flibrary%2Fmetadata%2F131924&playbackTime=4207&playQueueItemID=234741&state=buffering&hasMDE=1&time=2000&duration=30000 (23 live) #17075 TLS GZIP Signed-in Token (spikeygg) (Pixel 4 XL) / Accept => application/xml / Accept-Encoding => gzip, deflate, br / Accept-Language => en-US,en;q=0.9 / CAST-DEVICE-CAPABILITIES => {"bluetooth_supported":true,"display_supported":true,"hi_res_audio_supported":false,"remote_control_input_supported":false,"touch_input_supported":false} / Connection => keep-alive / Host => 172-27-10-10.761e312c69554fc2a377dad4f1ad8bab.plex.direct:32400 / Origin => https://app.plex.tv / Referer => https://app.plex.tv/ / sec-ch-ua =>  / sec-ch-ua-mobile => ?0 / Sec-Fetch-Dest => empty / Sec-Fetch-Mode => cors / Sec-Fetch-Site => cross-site / User-Agent => Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.225 Safari/537.36 CrKey/1.56.500000 DeviceType/Chromecast / X-Plex-Client-Identifier => wb9ydc46cosewkx6003wvoes / X-Plex-Device => Linux / X-Plex-Device-Name => Chromecast / X-Plex-Device-Screen-Resolution => 1280x720,1280x720 / X-Plex-Drm => widevine / X-Plex-Platform => Chromecast / X-Plex-Platform-Version => 90.0 / X-Plex-Product => Plex Cast / X-Plex-Provider-Version => 1.3 / X-Plex-Session-Identifier => fetitll7f34vwuy2fq4amrno / X-Plex-Text-Format => plain / X-Plex-Token => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx / X-Plex-Version => 4.54.1
May 26, 2023 18:27:46.424 [140286115846968] Debug — [Req#17075] Client [fetitll7f34vwuy2fq4amrno] reporting timeline state buffering, progress of 2000/30000ms for guid=, playbackTime=4207ms ratingKey=131924 url=, key=/library/metadata/131924, containerKey=, metadataId=131924, source=
May 26, 2023 18:27:46.425 [140286115846968] Debug — [Req#17075] [Now] User is spikeygg (ID: 1)
May 26, 2023 18:27:46.425 [140286115846968] Debug — [Req#17075] [Now] Device is Chromecast (Chromecast).
May 26, 2023 18:27:46.426 [140286115846968] Debug — [Req#17075] [Now] Profile is Chromecast
May 26, 2023 18:27:46.426 [140286115846968] Debug — [Req#17075] [Now] Updated play state for /library/metadata/131924.
May 26, 2023 18:27:46.426 [140286115846968] Debug — [Req#17075] Statistics: (wb9ydc46cosewkx6003wvoes) Reporting active playback in state 2 of type 1 (scrobble: 0) for account 1
May 26, 2023 18:27:46.429 [140286115846968] Verbose — It took 0.0 sec to serialize a list with 1 elements.
May 26, 2023 18:27:46.429 [140286218681144] Debug — Completed: [172.27.70.40:35552] 200 GET /:/timeline?ratingKey=131924&key=%2Flibrary%2Fmetadata%2F131924&playbackTime=4207&playQueueItemID=234741&state=buffering&hasMDE=1&time=2000&duration=30000 (23 live) #17075 TLS GZIP 6ms 619 bytes (pipelined: 13)
May 26, 2023 18:27:46.472 [140286078667576] Debug — Request: [172.27.70.40:35549 (WAN)] POST /log (23 live) #17048 TLS GZIP Signed-in Token (spikeygg) (Pixel 4 XL) / Accept => text/plain, */*; q=0.01 / Accept-Encoding => gzip, deflate, br / Accept-Language => en-US,en;q=0.9 / CAST-DEVICE-CAPABILITIES => {"bluetooth_supported":true,"display_supported":true,"hi_res_audio_supported":false,"remote_control_input_supported":false,"touch_input_supported":false} / Connection => keep-alive / Content-Length => 144 / Content-Type => application/x-www-form-urlencoded; charset=UTF-8 / Host => 172-27-10-10.761e312c69554fc2a377dad4f1ad8bab.plex.direct:32400 / Origin => https://app.plex.tv / Referer => https://app.plex.tv/ / sec-ch-ua =>  / sec-ch-ua-mobile => ?0 / Sec-Fetch-Dest => empty / Sec-Fetch-Mode => cors / Sec-Fetch-Site => cross-site / User-Agent => Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.225 Safari/537.36 CrKey/1.56.500000 DeviceType/Chromecast / X-Plex-Client-Identifier => wb9ydc46cosewkx6003wvoes / X-Plex-Device => Linux / X-Plex-Device-Name => Chromecast / X-Plex-Device-Screen-Resolution => 1280x720,1280x720 / X-Plex-Platform => Chromecast / X-Plex-Platform-Version => 90.0 / X-Plex-Product => Plex Cast / X-Plex-Token => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx / X-Plex-Version => 4.54.1
May 26, 2023 18:27:46.472 [140286078667576] Warning — [Req#17048] [Chromecast] Did not move header "accept" to query string. This can result in an unnecessary OPTIONS preflight request.
May 26, 2023 18:27:46.472 [140286218681144] Debug — Completed: [172.27.70.40:35549] 200 POST /log (23 live) #17048 TLS GZIP 0ms 320 bytes (pipelined: 20)
May 26, 2023 18:27:47.343 [140286112287544] Debug — Request: [172.27.70.40:35549 (WAN)] POST /log (23 live) #170b1 TLS GZIP Signed-in Token (spikeygg) (Pixel 4 XL) / Accept => text/plain, */*; q=0.01 / Accept-Encoding => gzip, deflate, br / Accept-Language => en-US,en;q=0.9 / CAST-DEVICE-CAPABILITIES => {"bluetooth_supported":true,"display_supported":true,"hi_res_audio_supported":false,"remote_control_input_supported":false,"touch_input_supported":false} / Connection => keep-alive / Content-Length => 324 / Content-Type => application/x-www-form-urlencoded; charset=UTF-8 / Host => 172-27-10-10.761e312c69554fc2a377dad4f1ad8bab.plex.direct:32400 / Origin => https://app.plex.tv / Referer => https://app.plex.tv/ / sec-ch-ua =>  / sec-ch-ua-mobile => ?0 / Sec-Fetch-Dest => empty / Sec-Fetch-Mode => cors / Sec-Fetch-Site => cross-site / User-Agent => Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.225 Safari/537.36 CrKey/1.56.500000 DeviceType/Chromecast / X-Plex-Client-Identifier => wb9ydc46cosewkx6003wvoes / X-Plex-Device => Linux / X-Plex-Device-Name => Chromecast / X-Plex-Device-Screen-Resolution => 1280x720,1280x720 / X-Plex-Platform => Chromecast / X-Plex-Platform-Version => 90.0 / X-Plex-Product => Plex Cast / X-Plex-Token => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx / X-Plex-Version => 4.54.1
May 26, 2023 18:27:47.343 [140286112287544] Verbose — [Req#170b1] [Chromecast] [Player] Timeline, { "ratingKey": "131924", "key": "/library/metadata/131924", "playbackTime": 4612, "playQueueItemID": "234741", "state": "playing", "hasMDE": 1, "time": 2000, "duration": 30000 }
May 26, 2023 18:27:47.344 [140286218681144] Debug — Completed: [172.27.70.40:35549] 200 POST /log (23 live) #170b1 TLS GZIP 0ms 320 bytes (pipelined: 21)
May 26, 2023 18:27:47.393 [140286115846968] Debug — Request: [172.27.70.40:35552 (WAN)] GET /:/timeline?ratingKey=131924&key=%2Flibrary%2Fmetadata%2F131924&playbackTime=4612&playQueueItemID=234741&state=playing&hasMDE=1&time=2000&duration=30000 (23 live) #170ac TLS GZIP Signed-in Token (spikeygg) (Pixel 4 XL) / Accept => application/xml / Accept-Encoding => gzip, deflate, br / Accept-Language => en-US,en;q=0.9 / CAST-DEVICE-CAPABILITIES => {"bluetooth_supported":true,"display_supported":true,"hi_res_audio_supported":false,"remote_control_input_supported":false,"touch_input_supported":false} / Connection => keep-alive / Host => 172-27-10-10.761e312c69554fc2a377dad4f1ad8bab.plex.direct:32400 / Origin => https://app.plex.tv / Referer => https://app.plex.tv/ / sec-ch-ua =>  / sec-ch-ua-mobile => ?0 / Sec-Fetch-Dest => empty / Sec-Fetch-Mode => cors / Sec-Fetch-Site => cross-site / User-Agent => Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.225 Safari/537.36 CrKey/1.56.500000 DeviceType/Chromecast / X-Plex-Client-Identifier => wb9ydc46cosewkx6003wvoes / X-Plex-Device => Linux / X-Plex-Device-Name => Chromecast / X-Plex-Device-Screen-Resolution => 1280x720,1280x720 / X-Plex-Drm => widevine / X-Plex-Platform => Chromecast / X-Plex-Platform-Version => 90.0 / X-Plex-Product => Plex Cast / X-Plex-Provider-Version => 1.3 / X-Plex-Session-Identifier => fetitll7f34vwuy2fq4amrno / X-Plex-Text-Format => plain / X-Plex-Token => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx / X-Plex-Version => 4.54.1
May 26, 2023 18:27:47.394 [140286115846968] Debug — [Req#170ac] Client [fetitll7f34vwuy2fq4amrno] reporting timeline state playing, progress of 2000/30000ms for guid=, playbackTime=4612ms ratingKey=131924 url=, key=/library/metadata/131924, containerKey=, metadataId=131924, source=
May 26, 2023 18:27:47.395 [140286115846968] Debug — [Req#170ac] [Now] User is spikeygg (ID: 1)
May 26, 2023 18:27:47.395 [140286115846968] Debug — [Req#170ac] [Now] Device is Chromecast (Chromecast).
May 26, 2023 18:27:47.395 [140286115846968] Debug — [Req#170ac] [Now] Profile is Chromecast
May 26, 2023 18:27:47.395 [140286115846968] Debug — [Req#170ac] [Now] Updated play state for /library/metadata/131924.
May 26, 2023 18:27:47.395 [140286115846968] Debug — [Req#170ac] Statistics: (wb9ydc46cosewkx6003wvoes) Reporting active playback in state 0 of type 1 (scrobble: 0) for account 1
May 26, 2023 18:27:47.397 [140286115846968] Verbose — It took 0.0 sec to serialize a list with 1 elements.
May 26, 2023 18:27:47.398 [140286216571704] Debug — Completed: [172.27.70.40:35552] 200 GET /:/timeline?ratingKey=131924&key=%2Flibrary%2Fmetadata%2F131924&playbackTime=4612&playQueueItemID=234741&state=playing&hasMDE=1&time=2000&duration=30000 (23 live) #170ac TLS GZIP 4ms 619 bytes (pipelined: 14)
May 26, 2023 18:27:47.464 [140286078667576] Debug — Request: [172.27.70.40:35552 (WAN)] POST /log (23 live) #170f5 TLS GZIP Signed-in Token (spikeygg) (Pixel 4 XL) / Accept => text/plain, */*; q=0.01 / Accept-Encoding => gzip, deflate, br / Accept-Language => en-US,en;q=0.9 / CAST-DEVICE-CAPABILITIES => {"bluetooth_supported":true,"display_supported":true,"hi_res_audio_supported":false,"remote_control_input_supported":false,"touch_input_supported":false} / Connection => keep-alive / Content-Length => 144 / Content-Type => application/x-www-form-urlencoded; charset=UTF-8 / Host => 172-27-10-10.761e312c69554fc2a377dad4f1ad8bab.plex.direct:32400 / Origin => https://app.plex.tv / Referer => https://app.plex.tv/ / sec-ch-ua =>  / sec-ch-ua-mobile => ?0 / Sec-Fetch-Dest => empty / Sec-Fetch-Mode => cors / Sec-Fetch-Site => cross-site / User-Agent => Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.225 Safari/537.36 CrKey/1.56.500000 DeviceType/Chromecast / X-Plex-Client-Identifier => wb9ydc46cosewkx6003wvoes / X-Plex-Device => Linux / X-Plex-Device-Name => Chromecast / X-Plex-Device-Screen-Resolution => 1280x720,1280x720 / X-Plex-Platform => Chromecast / X-Plex-Platform-Version => 90.0 / X-Plex-Product => Plex Cast / X-Plex-Token => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx / X-Plex-Version => 4.54.1
May 26, 2023 18:27:47.464 [140286078667576] Warning — [Req#170f5] [Chromecast] Did not move header "accept" to query string. This can result in an unnecessary OPTIONS preflight request.
May 26, 2023 18:27:47.464 [140286218681144] Debug — Completed: [172.27.70.40:35552] 200 POST /log (23 live) #170f5 TLS GZIP 0ms 320 bytes (pipelined: 15)
May 26, 2023 18:27:47.862 [140286218681144] Verbose — Didn't receive a request from 172.27.20.4:50547: stream truncated
May 26, 2023 18:27:47.862 [140286216571704] Verbose — Didn't receive a request from 172.27.20.4:50546: stream truncated
May 26, 2023 18:27:47.870 [140286216571704] Verbose — Didn't receive a request from 172.27.20.4:50548: stream truncated

I’m not sure what to look for in the logs, can someone please help point me in the right direction?

By the way, this setup works great for all my low-bandwidth streams. I just want to try to figure out where my bottleneck is coming from. I don’t think it’s processing power or network but I can’t tell from the logs.

Thank you!

What are you streaming at 250 Mbps?

That is probably exceeding the limits of the TV or Chromecast.

The 4K HDR, 60 fps Blu-ray version of Gemini Man runs at about 125 Mbps. I’ve not seen any movie releases run at a higher bitrate.

A friend shared with me this site that has a bunch of 30 second clips of jelly fish. It goes up to 400Mbps. I figured there is some limit for what the Chromecast and TV can do, just wondering how to see it. I also figured they’d be different but both of them behave very similarly which makes me suspect the server. Also, both of them are on 1000Mbps ethernet connections (as well as the Plex server).

The TV is much newer than the Chromecast, BTW

I’d say your seeing it. :rofl:

Seriously, trying to stream anything over ~125 Mbps is meaningless, as there is no “real world” media that requires more bandwidth (at least until we get 8K or something like that).

Also, you could be exceeding the supported profile/level for the TV / Chromecast.

HD BD rips are H.264 High at 4.1. 4K HDR BD rips are HEVC Main 10 at 5.1.

If you’re trying to play something at Main10 at 6.1, the TV/Chromecast may not be able to handle it.

The JellyFish files are nice to test with, but stick to real-world samples. H.264/1080p at ~45 Mbps or less, and HEVC/4K at ~90 Mbps or less.

The Ethernet port on your TV is 100 Mbps, as is the official Ethernet adapter for Chromecasts (if that is what you’re using).

I’ve yet to see a TV with a 1 Gbps port.

I’ve a LG TV. The wifi is faster than 100 Mbps when using WiFi 5 (802.11ac, 5 GHz). It won’t stream at 250 Mbps, but it will stream Gemini Man at 125 Mbps.

Do you know where these profiles are defined? I do see it in the logs:

May 26, 2023 18:27:46.426 [140286115846968] Debug — [Req#17075] [Now] Profile is Chromecast

but I don’t remember configuring that… I guess it must be automatic.

I guess that makes sense but I do have them plugged into a D-Link gigabit switch that shows a green LED if it’s 1000Mbps and amber if it’s 100Mbps and it’s green for both of them, but who knows. I checked the manuals and it doesn’t appear to be disclosed so they’re probably 100Mbps.

One of my friends recently brought over some videos from his drone, and they were 4k video files he remixed and incidentally they were all at different bitrates: 75Mbps, 113Mbps, 145Mbps and 167Mbps. The lower rate ones all played fine but the 167Mbps one fails to play smoothly. Since I ran into that problem it got me thinking about trying to figure out the limit… that’s where this all stemmed from.

Drone or GoPro videos are a bit out of hand

You need a Nvidia Shield, HTPC, or a newer Apple TV to get Gigabit ethernet. You might still be capped at 200-300mbps on Wi-Fi for some, I’m not sure

Also…
Screenshot (1384)

1 Like

Local - 820 Mbps – The machine is WiFi, right?

820 Mbps is a common WiFi association bit rate
Some Apple devices associate at 667 Mbps.

I have 10Gbps LAN. Sometimes activity shows 10 Gbps.

That’s just a random number for that particular file. Both server and HTPC are both on Gigabit ethernet.

I’ve always noticed the numbers Plex showed were significantly higher than MediaInfo but I thought that was Plex scaling the numbers up to account for peaks

How close should that number really be?

Not that. These are H.264/HEVC profiles. Look up H.264 or HEVC in Wikipedia.

The device itself, not Plex, has a maximum bitrate, etc it can support. If you exceed what the hardware can support you’ll see buffering or other failures.

As @JaysPlex mentions, drone videos can exceed what is found on streaming services, blu-ray discs, etc. and may cause issues when trying to play back with a consumer video device such as a Chromecase, FireTV Stick, etc.

If you still have access to the videos, examine one using MediaInfo. It will show the H.264/HEVC profile, average bitrate, etc.

Post the text output of MediaInfo for one of the drone videos to the thread. I’m curious about the level, profile, color space, etc. You could also post the Plex XML info for the video, as it is basically the same thing (the thread does not allow .xml attachments, so zip or save as .txt before posting).

This is the MediaInfo results from the one that doesn’t play:

Text Output:

General
Complete name                            : S:\other_videos\Lost Trail 4k.mp4
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : isom (isom/iso2/mp41)
File size                                : 3.74 GiB
Duration                                 : 3 min 27 s
Overall bit rate                         : 155 Mb/s
Frame rate                               : 30.000 FPS
Encoded date                             : 2023-05-07 05:25:27 UTC
Tagged date                              : 2023-05-07 05:25:27 UTC
Writing application                      : Blackmagic Design DaVinci Resolve

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main@L5@Main
Codec ID                                 : hvc1
Codec ID/Info                            : High Efficiency Video Coding
Duration                                 : 3 min 27 s
Bit rate                                 : 155 Mb/s
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 30.000 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.622
Stream size                              : 3.73 GiB (100%)
Encoded date                             : 2023-05-07 05:25:27 UTC
Tagged date                              : 2023-05-07 05:25:27 UTC
Color range                              : Limited
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709
Codec configuration box                  : hvcC

Audio
ID                                       : 2
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : mp4a-40-2
Duration                                 : 3 min 27 s
Bit rate mode                            : Constant
Bit rate                                 : 192 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 48.0 kHz
Frame rate                               : 46.875 FPS (1024 SPF)
Compression mode                         : Lossy
Stream size                              : 4.83 MiB (0%)
Default                                  : Yes
Alternate group                          : 1
Encoded date                             : 2023-05-07 05:25:27 UTC
Tagged date                              : 2023-05-07 05:25:27 UTC

Other
ID                                       : 3
Type                                     : Time code
Format                                   : QuickTime TC
Duration                                 : 3 min 27 s
Frame rate                               : 30.000 FPS
Time code of first frame                 : 01:00:00:00
Time code of last frame                  : 01:03:27:03
Time code, stripped                      : Yes
Language                                 : English
Default                                  : No
Encoded date                             : 2023-05-07 05:25:27 UTC
Tagged date                              : 2023-05-07 05:25:27 UTC

Here’s the XML from the same video:

<MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="5" librarySectionTitle="Other Videos" librarySectionUUID="03a016a1-0a7c-4688-9ea6-edad1116f922" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1684349606">
<Video ratingKey="131884" key="/library/metadata/131884" guid="com.plexapp.agents.none://9bdf4164af8c9f11a98315b936a26e9ba55782fe?lang=xn" type="movie" title="Lost Trail 4k" librarySectionTitle="Other Videos" librarySectionID="5" librarySectionKey="/library/sections/5" subtype="clip" summary="" skipCount="8" year="2023" thumb="/library/metadata/131884/thumb/1684521541" art="/library/metadata/131884/art/1684521541" duration="207146" originallyAvailableAt="2023-05-07" addedAt="1684521496" updatedAt="1684521541" createdAtAccuracy="epoch,local" createdAtTZOffset="0">
<Media id="143856" duration="207146" bitrate="154935" width="3840" height="2160" aspectRatio="1.78" audioChannels="2" audioCodec="aac" videoCodec="hevc" videoResolution="4k" container="mp4" videoFrameRate="NTSC" optimizedForStreaming="1" audioProfile="lc" has64bitOffsets="0" videoProfile="main">
<Part accessible="1" exists="1" id="145911" key="/library/parts/145911/1683437428/file.mp4" duration="207146" file="/data/other_videos/Lost Trail 4k.mp4" size="4011866321" audioProfile="lc" container="mp4" deepAnalysisVersion="6" has64bitOffsets="0" optimizedForStreaming="1" requiredBandwidths="262895,247012,239072,230377,222584,214933,196929,196929" videoProfile="main">
<Stream id="199399" streamType="1" default="1" codec="hevc" index="0" bitrate="154740" bitDepth="8" chromaLocation="left" chromaSubsampling="4:2:0" codecID="hvc1" codedHeight="2160" codedWidth="3840" colorPrimaries="reserved" colorRange="tv" colorSpace="bt709" colorTrc="bt709" frameRate="30.000" height="2160" level="150" profile="main" refFrames="1" requiredBandwidths="262699,246817,238877,230181,222389,214737,196761,196761" scanType="progressive" streamIdentifier="1" width="3840" displayTitle="4K (HEVC Main)" extendedDisplayTitle="4K (HEVC Main)"> </Stream>
<Stream id="199400" streamType="2" selected="1" default="1" codec="aac" index="1" channels="2" bitrate="195" audioChannelLayout="stereo" profile="lc" requiredBandwidths="191,191,191,191,191,191,191,191" samplingRate="48000" streamIdentifier="2" displayTitle="Unknown (AAC Stereo)" extendedDisplayTitle="Unknown (AAC Stereo)"> </Stream>
</Part>
</Media>
<Marker final="1" id="13050" type="credits" startTimeOffset="198419" endTimeOffset="207133">
<Attributes id="13050" version="4"/>
</Marker>
<Extras size="0"> </Extras>
<Related> </Related>
</Video>
</MediaContainer>

Yeah, this is what I noticed too. It’s like the dashboard viewer doesn’t interpret the bitrate correctly. Several of the videos report 2x bitrate when using Direct Play. :face_with_spiral_eyes:

2x the bitrate I’d say is excessive but ok

6x the bitrate make it seem like something is broken


Plex is showing you the actual bitrate in the Now Playing window.
The media info app is only showing you the average bitrate.

With the right material, (and inexperiencedly picked encoding parameters), you can get vast differences between the average and the actual bitrates.

Your test files seem to belong to this category.
Don’t even try to bring a Chromecast to its bitrate boundaries. It’ll all end in tears.

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