plex not using all available network bandwidth

server-raspberry-pi

#1

Hello,

All of a sudden my Plex server isn't using all the available network bandwidth for streaming. As an empirical observation only half of the 100Mbps wired link is used, roughly somewhere between 5-6 MB/s out of the max(theoretical) 12.5 MB/s. My Plex has been using all the bandwidth (10-11 MB/s) for month before this issue - I've been noticed it when rewatching a 4k remux (60-70 Mbps bitrate) which played very smooth in the past, but now stutters buffering every 5-10 sec. Has anyone experienced this issue so far?

My setup below:
Server: latest Plex ARM64 version available from https://dev2day.de for RPI3 - wired network 100 Mbps, 4TB USB Hdd storage
Device: XPLAY (direct play/stream, no transcoding) on LG 55EG920V - wired network 100 Mbps
Network: wired 100Mbps cat 5e router/switch

I can copy files (scp/smb) from RPI3 at ~10 MB/s and a speed test on the TV's browser gave me almost identical result. On the RPI3 I measured the bandwidth with speedometer and the CPU never rose above 25% during streaming.

As a conclusion the TV and RPI3 can transfer at 10 MB/s, but Plex only streams at half that speed.

King regards,


#2

@“Mihai B.” said:
I’ve been noticed it when rewatching a 4k remux (60-70 Mbps bitrate) which played very smooth in the past, but now stutters buffering every 5-10 sec. Has anyone experienced this issue so far?

Device: XPLAY (direct play/stream, no transcoding) on LG 55EG920V - wired network 100 Mbps

I am quite sure, that at least the HD audio stream is transcoded during playback. That might be the bottleneck. Please take a look at the web “now playing” information in the web frontend during playback of this video or try a non-HD audio stream.

CPU never rose above 25% during streaming

Do you mean one of the four cores was utilized by 100% (load = 1), or that one of the four cores was utilized by 25% (load = 0.25).


#3

Hello,

One of the four cores was utilized around 100% (reported by top)

I’ll check the audio stream and get back with the result, but from my experience when I tried to transcode any kind of audio track it didn’t work at all - RPI3 doesn’t have enough computing power to do transcoding.

Forgot to mention that all movies (4k or 2k) with a bitrate less than 5 MB/s would play smooth enough, while those exceeding 5 MB/s stutter buffering. It seems more like a bandwidth limitation than CPU.

Do the newer PMS versions have such a bandwidth control setting (for internal network) that I’m not aware of?

Thanks,


#4

@“Mihai B.” said:
Hello,

One of the four cores was utilized around 100% (reported by top)

I’ll check the audio stream and get back with the result, but from my experience when I tried to transcode any kind of audio track it didn’t work at all - RPI3 doesn’t have enough computing power to do transcoding.

Audio is often transcoded, also on the RPi. I don’t think your TV has a built-in HD audio decoder and the fully utilized core is a good indication that I am right. If you could just post the logs with DEBUG logging enabled, I can tell you if Plex is trancoding audio. Or take a look at the transcoder process, e.g. with ps aux | grep -i transcoder.

https://support.plex.tv/articles/200250417-plex-media-server-log-files/


#5

The raspberry pi PMS can play higher than 720p?! I’ve never even gotten a 1080P movie to play properly and have been slowly replacing them all with 720p copies. Is there an easy way to get 1080p to play properly. Overclock the rPi or something maybe?


#6

@“mwilhelm1224@gmail.com”

Are you sure you are talking about the server (=PMS), as it does not need to play anything? It only needs to shuffle data out of the network port.

I tend to assume your are talking about RasPlex on a rasPi 2 or 3. Right?

There are such 1080 p movie files and other ones. Without specifying a data rate and complexity, 1080 p does not mean much.


#7

@eckarth said:
@“mwilhelm1224@gmail.com”

Are you sure you are talking about the server (=PMS), as it does not need to play anything? It only needs to shuffle data out of the network port.

I tend to assume your are talking about RasPlex on a rasPi 2 or 3. Right?

There are such 1080 p movie files and other ones. Without specifying a data rate and complexity, 1080 p does not men much.

I guess i mean actually “playing” on a plex app on any of my devices from PMS hosted on a raspberry pi 3. Im not using rasplex, just uglymagoo’s version through his repo on headless rPi 3. But I always just assumed the raspberry pi was too weak to play anything other that basic quality (720p or less) movies cause anytime I try anything higher itll just have to buffer every 10-20 seconds.


#8

@“mwilhelm1224@gmail.com” said:
I guess i mean actually “playing” on a plex app on any of my devices from PMS hosted on a raspberry pi 3. Im not using rasplex, just uglymagoo’s version through his repo on headless rPi 3. But I always just assumed the raspberry pi was too weak to play anything other that basic quality (720p or less) movies cause anytime I try anything higher itll just have to buffer every 10-20 seconds.

If your client supports Direct Play / Direct Stream of your 4k / 1080p media files hosted in Plex on your pi 3, then the pi 3 works just fine. The problem is video transcoding. Then 720p is the limit. When using a pi as Plex server, Direct Play compatible clients are a must.

https://support.plex.tv/articles/200250387-streaming-media-direct-play-and-direct-stream/


#9

@“mwilhelm1224@gmail.com” said:

@eckarth said:
@“mwilhelm1224@gmail.com”

Are you sure you are talking about the server (=PMS), as it does not need to play anything? It only needs to shuffle data out of the network port.

I tend to assume your are talking about RasPlex on a rasPi 2 or 3. Right?

There are such 1080 p movie files and other ones. Without specifying a data rate and complexity, 1080 p does not men much.

I guess i mean actually “playing” on a plex app on any of my devices from PMS hosted on a raspberry pi 3. Im not using rasplex, just uglymagoo’s version through his repo on headless rPi 3. But I always just assumed the raspberry pi was too weak to play anything other that basic quality (720p or less) movies cause anytime I try anything higher itll just have to buffer every 10-20 seconds.

I would think a rasPI 3 should be able to deliver a single stream of 50 Mb/s on its ethernet port provided the data is read from an attached HDD. That should be more than enough for rather demanding video material. (But I have not tested it because I lack such a file.)

I suspect your bottle neck is somewhere else down the line. Aren’t you getting any messages.


#10

@eckarth said:

I would think a rasPI 3 should be able to deliver a single stream of 50 Mb/s on its ethernet port provided the data is read from an attached HDD. That should be more than enough for rather demanding video material. (But I have not tested it because I lack such a file.)

I suspect your bottle neck is somewhere else down the line. Aren’t you getting any messages.

Well, this is not actually true. RPI3’s builtin ethernet port is only 100 Mbps and share the same USB2.0 bus (480 Mbps) with other devices, including USB HDD. In a perfect world the maximum bus width would be 60 MB/s, while network interface speed would be 12.5 MB/s. In the real world, which is far from perfect, the best values you can get are ~40-50 MB/s for the bus, respectively 9-11 MB/s for the network. So you won’t be able to stream more than 11 MB/s over the network.

PS. I’ve heard you can almost double the network bandwidth near ~18-20 MB/s, using a USB3.0 gigabit network adapter - this is the best you can get from RPI3.


#11

Sorry, I said a conservative estimate is 50 Megabits per second. You are talking about 11 Megabytes per second. Note the difference between “MB” and Mb".

The first is smaller than the latter. So where is the problem?

I am afraid you will hardly ever see sustained 11 MB/s in real life.

I used Megabits/s as this is the unit in which network bandwidth and data rates of media files are commonly specified.


#12

Sorry about the unit confusion, now I realize it was “Mb” and not “MB”.

I have some 4k remuxes (50+ GB) which stream sustained from the RPI3 without stutering at around 11 MB/s (88 Mb/s) - I monitor the connection with speedometer.


#13

What is the video bit rate of these files? 88 Mb/s is even for a 2160p (4k) 60 Hz h.264 stream rather high.

I do not know what speedometer precisely measures. I am not aware that you can monitor a connection that way. What does it subtract from the raw bit stream throughput for the overhead arising from the different protocol layers?