Plex on

Any links to online stores should be assumed to be affiliates. The company or PR agency provides all or most review samples. They have no control over my content, and I provide my honest opinion.

For home users that are interested in NAS devices such as Synology and TerraMaster, setting up a Plex media server is often one of the key features they want to use. As much as I love streaming services like Netflix and Disney, they are starting to get expensive, and it is not uncommon for me to have issues with streaming, or worse, if the Internet goes down, not be able to stream at all. Therefore, playing my content locally is much more preferable.

Plex also allows you to stream your media remotely, which is handy when travelling or if you want to share your media with friends. This is more complex as it will often require your hardware to transcode your content into a streamable format with lower bandwidth.

Transcoding is the process by which Plex converts media from one format to another on-the-fly, ensuring that content is playable on a variety of client devices. Not all devices support the same media formats or codecs, so Plex sometimes needs to convert the media to a format that the device can play. This conversion process is CPU-intensive and can be the bottleneck for many Plex setups.

This guide will delve into understanding Plex transcoding, how it impacts performance, and ways to optimize it for the best user experience.

This guide isn’t specific to NAS devices but hosting Plex and a server in general. Therefore, there are references to things like selecting your hardware and GPU. I plan to write guides for both NAS and self-built servers.

What is Transcoding?

In simple terms, transcoding involves taking a media file in one format and converting it into another. This is necessary for several reasons:

  1. Device Compatibility: Different devices, be it your smart TV, phone, or tablet, support various formats. Transcoding ensures that whatever the source format is, it can be played on the target device.
  2. Bandwidth Restrictions: If you’re streaming over the internet, and your bandwidth isn’t great, Plex will transcode the media to a lower bitrate to ensure smooth streaming.
  3. Media Optimizations: Sometimes, even if the format is supported, optimizations like subtitle burning may require transcoding.

Direct Play, Direct Stream, and Transcoding

Before diving deep into the performance aspects, it’s essential to differentiate between the three ways Plex serves content:

  1. Direct Play: This is the ideal scenario where the media file is entirely compatible with the target device. No changes are made, and the file is played as-is.
  2. Direct Stream: The media’s codec might be compatible, but the container isn’t. In this case, Plex repackages the media without converting the actual video or audio streams.
  3. Transcoding: This is where the media’s codec isn’t supported by the target device, and Plex needs to convert it. This can be either audio, video, or both.

If you only ever play files locally, then you shouldn’t have to worry about transcoding and you can get away with much lower spec, and affordable hardware.

Factors Affecting Transcoding Performance

Several factors can impact transcoding performance:

  1. Server Hardware: The performance of your Plex server hardware, particularly the CPU, plays the most significant role in transcoding speeds.
  2. Media File Properties: The original format, bitrate, resolution, and codecs can affect how much CPU power is needed to transcode.
  3. Number of Concurrent Streams: If multiple users are streaming and require transcoding simultaneously, this can exponentially increase the demand on the server.
  4. Network Speed: For remote streaming, if your server’s upload speed isn’t fast enough, Plex will transcode media to a lower quality to fit within the available bandwidth.

Improving Transcoding Performance

Plex CPU Usage

Here are some strategies to improve transcoding performance on your Plex server:

1. Hardware Upgrades

  • CPU: The most straightforward way to boost performance is to upgrade to a more powerful CPU. Plex’s transcoding is primarily CPU-intensive. Consider CPUs with higher passmark scores for better performance.
  • GPU: Some Plex setups can benefit from hardware-accelerated transcoding using a compatible GPU. This can offload some of the work from the CPU and can be especially useful for servers with multiple concurrent streams.
    • Choosing the best GPU and hardware for a Plex system requires a dedicated post itself, but many NAS devices are capable of hardware transcoding. They normally require an Intel-based CPU, such as the Intel Celeron J4125, which is used on many systems.
    • For dedicated systems, Intel is again the most popular because the iGPU on the CPU is capable of hardware transcoding, which massively reduces your costs and power consumption.
    • For a dedicated GPU, Nvidia is your best choice. The Quadro P2000 is regarded as one of the best options, you can pick up used models for around £120 and do multiple 4K to 1080p streams simultaneously while having a moderate 120W Max TDP. Alternatively, the GeForce RTX 4070 Ti and other 4000 series cards can do AV1 Streams for superior streaming performance. The RTX 4070 Ti can do six 4K to 1080p transcodes with AV1.
  • RAM: While transcoding isn’t particularly RAM-intensive, having sufficient RAM ensures smooth server operations, especially when handling large libraries or multiple users.

2. Optimize Your Media Library

  • Standardize Formats: Convert your media library to formats most compatible with your target devices. This way, most playback can be Direct Play or Direct Stream, reducing the need for on-the-fly transcoding.
  • Resolution Matching: If most of your playback devices are 1080p, consider not storing 4K content unless necessary. Transcoding 4K down to 1080p is much more CPU/GPU-intensive than just streaming 1080p content.

3. Network Optimizations

  • Wired Connections: Whenever possible, use wired Ethernet connections for both the server and client devices. This ensures stable and faster data transfers.
  • Upgrade Internet Plans: If remote streaming is common, consider upgrading your internet plan for higher upload speeds.

4. Plex Server Settings

Plex Transcode Settings
  • Transcoding Quality: In Plex server settings, you can adjust the transcoding quality. Setting this to “Make my CPU hurt” will ensure the best quality but will be more CPU-intensive. Adjust according to your server’s capabilities.
  • Hardware-Accelerated Transcoding: If you have a compatible GPU, enable this in Plex settings. It can significantly reduce the CPU load for transcoding tasks.

Monitoring and Management

Understanding and managing your server’s performance requires regular monitoring:

  • Plex Dashboard: This gives a real-time view of current streams, including whether they’re being transcoded, direct played, or direct streamed.
  • Tautulli: A third-party application that provides detailed stats and history about your Plex server’s usage.
  • Server Health Monitoring: Tools like htop (Linux) or Task Manager (Windows) can provide a real-time view of CPU, RAM, and network usage.

Conclusion

Ensuring smooth playback for all users is a goal every Plex server admin strives for. By understanding the intricacies of transcoding, optimizing your server setup, and regularly monitoring performance, you can achieve a seamless streaming experience for all users. Remember, the ideal scenario is to minimize transcoding needs, so the more you can tailor your media and settings to the devices that will be accessing your server, the better.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *