How Plex Performance is Affected
Those not familiar with Plex maybe confused on what factors come into play. This document exists in the hopes to cover most of the factors that can affect playback via Plex and other media server applications. These can be split into two categories, Local and Ultra.
Local related issues are issues outside of Ultra.cc control. These include stuff like Peering, Client compatibility, Client misconfiguration, Transcoding 4k.
Ultra.cc issues are issues we may be able to assist with. Peering (in some case, more explained below) Disk utilization, Disk abuse, Client misconfiguration.
So with some of the regular problems listed let us address each one and what they mean and their affect.
Factors outside of Ultra.cc control
Peering
What is peering?
Think of peering like a car journey. Data must travel from your device to your destination or wherever you might be sending it. If the roads leading to your destination are a ton of broken-down back roads, that’s going to slow you down. Your ISP is responsible for the “roads” they offer, and poor peering paths can result in slower speeds and higher latency. Good peering means a fast, direct, and quiet road between the two points.
In the context of services like Ultra.cc, peering is crucial for ensuring smooth and high-quality playback of media files. The more direct and optimized the peering routes, the better your overall experience will be. However, the quality of your peering is influenced by your ISP and their choice of transit providers, which we have no control over.
While we strive to ensure our infrastructure is robust and highly optimized, your experience may still vary depending on the paths and connections your ISP provides. If you encounter performance issues, it may be worth contacting your ISP to understand their peering arrangements better or checking if they can offer an alternative solution.
Transcoding
What is Transcoding?
Transcoding is the act of adjusting a media file On-the-Fly to better suit the client device, eg TV, Cell phone, Games console.
Transcoding will usually be fine as long as it is too drastic an adjustment, changing the audio from 7.1 surround sound to standard AAC stereo will have a very very small impact on playback as this is a fairly light task for the server, this leaves the client device happy and you end up with very comfortable playback.
There is the other side of the coin however and this is where the issues arise.
Let me give you a scenario, you have your home movie in 4k but you go to a friends house who has a Roku TV stick for example. The roku cannot handle the 4k video so plex will attempt to transcode this (depending on client/server setup. More on this in “Client misconfiguration”) This creates stress for the server and so you may find that performance becomes terrible. Transcoding will also decrease quality of the playback, it could create artificing (odd colors, bright squares, Jumbled frames).
Avoid these issues:
There are a few things you can do to try to avoid transcoding. The first would be to make sure each client you use is set to original quality. This will vary between clients but the options will be exactly the same.
Step 1: Go to Plex Settings.
Step 2: Go to Video/Quality settings
Step 3: Go to Remote Quality on the right hand side of the page
Step 4: Select Original Quality
This will force plex to “Direct Play” (Without transcoding) Wherever possible.
Additionally you can ensure you media is already added to plex in the most compatible formatting possible:
The specification is as follows:
- Container: mp4
- Resolution: 1920x1080 or lower
- Video codec: H.264 (level 4.0 or lower)
- Framerate: 30 fps (bit depth: 8)
- Audio Codec: AAC (2 channels)
- Bitrate: 20 Mbps or lower
Client compatibility
Plex is available on a massive number of devices and as such some work better then others. Plex will be doing most of the hard work so client requirements are low. The key feature of a client will need to be compatibility with your main choice of media container. For example, MKV or MP4. This comes back to the transcoding section above. The more compatible the client the less likely you will need to transcode.
Specific client information
Firestick/FireTV 4k:
The Firestick/FireTV 4k is limited to 20 Mbps under with some video containers most notability h.264 format.
FireCube:
The FireCube is limited to 30 Mbps under with some video containers most notability h.264 format.
Various smart TV’s:
As mentioned above wired connections are recommended however some TV’s will have a slower ethernet connection then their Wi-Fi. For example 100Mbps instead of 1000Mbps. Please consult your TV manual for specifications of your ethernet port.
Older smart TV’s are unable to use Plex with Secure connection turned on.
The solution is to set secure connection to preferred via the app on your smart tv. Ultra.cc Plex requires Secure connection to be at least set to Preferred in Plex Media Server settings or you will face the error "Can't connect securely".
Chromecasts:
Chromecasts are known as the worst device for plex, even the latest google TV is known to suffer on anything over 25-30 Via wireless or wired connection. so 1080p ends up being just playable. 4k is unlikely to work at all. Once again h.264 and HEVC content are the most complicated formats to deal with for this device.
Apple TV 4k:
The Apple TV 4K is a common choice, with one caveat being the lack of TrueHD/DTS-HD passthrough, so Plex will have to transcode it. You can use a third-party client like Infuse, which can decode those codecs. Both 7.1 audio tracks and PGS subtitles are known to cause transcoding as the apple tv does not natively support either. 1080p WMV is reported to crash the Plex application on the Apple TV however this has not been mentioned with Infuse.
PlayStation 4/5:
Much like the Chromecast the PlayStation platform has suffered from poor design and implementation it cannot support native H.265 playback because Sony, have not added H.265 support to the console. This maybe different for the ps5.
Xbox Series S/X:
The Series S/X is known to face issues playing 4K HDR and no Dolby Vision support however the Series S/X does support formats like H.264/H.265.
Roku Express/Ultra:
The Roku series has been reported as a better alternative to the likes of a Amazon 4k Stick, It does not support 7.1 surround sound but will play a number of 4k supported containers like H.264/H.265.
iPad:
You are unlikely to encounter this issues however it is reported that the Plex IOS application will not play vc1 format media. This is a reasonably old format so this is expected but should you have such files it is recommended you use another device.
Client misconfiguration
As mentioned above some plex configuration will be required out of the box. Plex by default will be set to transcode which will hopefully be unnecessary if you have read the previous parts of this guide. It is best to ensure that plex is set to play original quality using the steps above.
There are some extra steps you can take to ensure plex’s impact on your servers disk is minimal which will not only improve you experience but also show consideration for any users you may share the disk with.
Plex
Settings ⇾ Library
- Scan my library periodically: Daily
- This lessens the disk impact as scanning is a fast-acting Input/Output task.
- You can set this down to 6 hours if necessary.
- You may also use Sonarr/Radarr's Connect to update your libraries if there are any new episodes/movies uploaded with periodic scanning daily.
- Generate video preview thumbnails: never
- Generate intro video markers: never
- Generate chapter thumbnails: never
- Analyze audio tracks for loudness: never
- The following settings do a full scan of the file and are only used to create intro markers, generate thumbnails and analyze the audio track of each file. This can be left on if you so wish.
Plex
Settings ⇾ Video
Remote Quality: Original Quality
- This ensures transcoding does not occur unnecessary.
Cloud based Storage
Cloud storage if used with plex can cause a large number of issues. If you have not followed the application optimization document it is possible you hit the API limit (This is the number of times files can be read), you can think of this like a USB drive that can only be read 10 times per day once you read it 10 times you then have to wait 24 hours from the last time you plugged it in before you can use it again. API works a lot like this so if your applications are reading your cloud heavily you could be cut off for 24 hours, this will cause plex to become non functional because it can no longer read the storage.
To prevent this, you can follow these steps to minimise the effects, however if you have a heavy day of viewing or importing these steps will not be able to help you. You will have to wait out the 24 hour period. rclone Optimizations for Apps
You can also take a look at your logs should you be running an rclone based mount, their location is ~/scripts
if you see read errors this indicates a API block and such plex will fail likely with Transcoder failed error
.
Factors Ultra.cc can assist with
Disk Utilization
In rare cases Plex could become incredibly slow and none of the previous issues are the cause. This could point to disk utilization being far to high, its possible a task you are running is the cause. You can check this for yourself if you are on a HDD based plan. It’s also possible someone is abusing the disk and causing issues.
iostat -xk 2 $(findmnt -T ~ | awk 'END {print $2}')
Pay attention to the last column %util
If this is 100% after a few minutes, the disk is entirely saturated, affecting performance. You can open a ticket at this point https://my.ultra.cc/submitticket.php and the Ultra.cc team will investigate as soon as possible.
Client misconfiguration
If you are stuck with your plex client configuration it is impossible to help you directly as this has to be done on the device, which Ultra staff will have no access too, However it is possible to ask for advice either via ticket or via our community Discord.
Peering (In certain cases)
Peering is something we MAY be able to assist with due to owning our own transit lines we are able to re-route some connections via new lines improving your peering. Currently this is a work in progress and will require a ticket and MTR test which can be performed here: Network Tools and Speedtest
If you require further assistance, you can open a support ticket here!
Feedback and suggestions regarding this article are welcome on our Discord server
- How Plex Performance is Affected
- Factors outside of Ultra.cc control
- Peering
- Transcoding
- Avoid these issues:
- Client compatibility
- Specific client information
- Firestick/FireTV 4k:
- FireCube:
- Various smart TV’s:
- Chromecasts:
- Apple TV 4k:
- PlayStation 4/5:
- Xbox Series S/X:
- Roku Express/Ultra:
- iPad:
- Client misconfiguration
- Plex
- Settings ⇾ Library
- Plex
- Settings ⇾ Video
- Cloud based Storage
- Factors Ultra.cc can assist with
- Disk Utilization
- Client misconfiguration
- Peering (In certain cases)