Plex hardware transcoding is functionality that can reduce the CPU load when a video is transcoded. Hardware transcoding was a much asked for feature from the Plex community.
If you are new to Plex, you may be wondering exactly what is hardware transcoding? How can you use it with your Plex Media Server? Should you use that feature?
Let's take a look at what is hardware transcoding, and how you can leverage it for streaming your media.
What is Plex hardware transcoding?
When Plex first became available, the CPU did all the video processing. If a client was not able to play a specific video codec, Plex would have the CPU transcode the video.
While a CPU can transcode a video, it did have one drawback. While transcoding a video, the CPU usage would spike to 100%. This caused the Plex servers to become slow as all available CPU resources were being used to transcode.
The ask from the community was to be able to use their graphics card to handle the transcoding. This would reduce the CPU usage significantly. Graphics cards have powerful processors that can easily transcode videos.
Hardware transcoding requirements?
Currently, there are two viable options for hardware transcoding: NVIDIA graphics cards and integrated Intel graphics accelerator known as QuickSync. Either options can be used to reduce the CPU usage for transcoding.
Besides the graphics cards, there are some additional requirements and notes to keep in mind:
- Windows and Linux servers using Intel QuickSync do not have any artificial limit to the number of simultaneous videos.
- Windows and Linux servers using NVIDIA GeForce cards are limited to 2 encoding videos at a time. This is a limitation from NVIDIA.
- NVIDIA Quadro graphics cards do not have a limitation of encoding videos.
- Macs are capable of encoding 1 video at a time because a platform limitation from Apple.
- Macs hardware transcoding is only available for videos that are 480p or higher. Videos below 480p will use software for transcoding.
- Intel QuickSync may produce lower quality video, especially for older chipsets.
How to enable hardware transcoding in Plex?
Hardware transcoding can be enabled on the Plex server if your server has the necessary hardware. To enable hardware acceleration, use the following steps:
- Open a Web browser and navigate to your Plex server.
- Log into your Plex server as an administrator.
- Click the Settings - the wrench - link in the upper-right corner of the Plex server page.
- From the menu on left, click Transcoder under the Settings section.
- On the right, check the Use hardware acceleration when available checkbox.
- Click the Save Changes button.
When a video is being transcoded on the Plex server, you will see Transcode (hw) in the Plex activity monitor. If the (hw) value is not beside the word Transcode, then the server isn't using hardware transcoding.
When can't hardware transcoding be used?
In addition to the limitations mentioned above, there are a few instances where you won't be able to use hardware transcoding with Plex. These instances include:
- Running Plex as a service on Windows. Windows run in session 0, which doesn't have access to the graphics card.
- Virtual machines do not expose low-level hardware to guest operating systems. This prevents Plex from using graphics cards for hardware transcoding.
- Docker containers do have access to Intel QuickSync. To use it with Plex requires some advanced configuration that can be search for online.
For many people, the benefit of switching from software to hardware transcoding can make a difference when streaming videos. If your Plex server has either an Intel integrated graphics card, or a standalone NVIDIA graphics card, it might be worthwhile to enable hardware acceleration.
Reducing the CPU usage by using hardware acceleration, could allow your Plex server to do more than just stream media files.