Using Hardware-Accelerated Streaming

Tip!: Hardware-accelerated streaming is a premium feature and requires an active Plex Pass subscription.

To play your video smoothly and on a huge variety of devices, Plex Media Server often needs to convert the video to a different quality or a compatible format. Converting the video (transcoding) happens automatically in real-time while you're playing it. Using the free, software-based transcoding in Plex Media Server, home computers can seamlessly convert and stream video in real-time to any Plex app. Some computers with more powerful processors can even stream two or more videos at once, especially at lower qualities.

To convert videos faster with less processing power, you can turn on Hardware-Accelerated Streaming in Plex Media Server. When hardware acceleration is turned on, Plex Media Server will use the dedicated video decoder and encoder hardware support in your home computer to convert videos, letting you stream HD or 4K video more smoothly and stream to more devices at once. And if you use the same home computer to work and play, hardware acceleration uses less processing power during video streaming, giving you back the speed you need. 

Should I use Hardware-Accelerated Streaming?

Hardware-Accelerated Streaming has a number of advantages:

  • More videos can stream at the same time.
  • Videos can start streaming faster and buffer less often.
  • High-quality videos, especially 4K and HEVC videos, can stream more smoothly.
  • By offloading CPU-intensive transcoding tasks to dedicated hardware, video streaming has less of a performance impact on your computer.

There are a couple of drawbacks to Hardware-Accelerated Streaming:

  • The video quality may be lower, appearing more blurry or blocky. This is especially true and more noticeable when streaming at low quality levels below 720p. (Hardware-accelerated video encoders are faster, but lower quality than software encoders.)
  • Some rare video formats may play incorrectly on certain devices. This is unexpected, and users should report these issues to Plex in our friendly forums.

Getting started 

1. Check the system requirements

Hardware-Accelerated Streaming is supported in Plex Media Server on modern Windows, Mac, and Linux devices. Plex Media Server's hardware acceleration uses Intel Quick Sync Video for decoding and encoding, which is available in all recent Intel Core processors and some Intel Xeon processors, and some Intel Atom processors.

Related Page: Intel Quick Sync Video capable processors

Windows system requirements

Hardware-Accelerated Streaming on Windows requires:

  • Windows 7 or later
  • A recent Intel CPU meeting these requirements:
    • 2nd-generation Intel Core (Sandy Bridge, 2011) or newer
    • Supports Intel Quick Sync Video (Not sure? Look up your processor)
  • Plex Media Server 1.9.3 or later
  • Plex Pass subscription

If your Windows computer also has a dedicated graphics card, such as an NVIDIA or AMD GPU, some functions of Intel Quick Sync Video may become unavailable when the GPU is in use. If your computer has one of these GPUs, please install the latest NVIDIA drivers for Windows or AMD drivers for Windows to make sure that Plex can use your dedicated graphics card when Intel Quick Sync Video becomes unavailable.

Linux system requirements

Hardware-Accelerated Streaming on Linux requires:

  • 64-bit Ubuntu (16.04 or later) or 64-bit Fedora (26 or later) distributions. (Other distributions may be capable, but are not officially supported.)
  • A recent Intel CPU meeting these requirements:
    • 2nd-generation Intel Core (Sandy Bridge, 2011) or newer
    • Supports Intel Quick Sync Video (Not sure? Look up your processor)
  • Plex Media Server 1.9.3 or later
  • Plex Pass subscription

If your Linux computer also has a dedicated graphics card, the video encoding acceleration of Intel Quick Sync Video may become unavailable when the GPU is in use. If your computer has an NVIDIA GPU, please install the latest Latest NVIDIA drivers for Linux to make sure that Plex can use your NVIDIA graphics card for video encoding (only) when Intel Quick Sync Video becomes unavailable.

macOS system requirements

Hardware-Accelerated Streaming on Mac requires:

  • macOS 10.9 or later
  • A recent Intel CPU meeting these requirements:
    • 2nd-generation Intel Core (Sandy Bridge, 2011) or newer
    • Supports Intel Quick Sync Video (Not sure? Look up your processor)
  • Plex Media Server 1.9.3 or later
  • Plex Pass subscription

Special devices

Specific embedded devices support Hardware-Accelerated Streaming:

  • NVIDIA SHIELD
  • WD My Cloud Pro PR2100
  • WD My Cloud Pro PR4100

On these specific devices, a Plex Pass subscription is not required. Hardware-Accelerated Streaming is turned on by default on these devices.

NAS devices

Currently, NAS devices are not formally supported for Hardware-Accelerated Streaming. However, a few high-end NAS devices run 64-bit Linux and come with Intel processors that are capable of Quick Sync Video. Those devices may support Hardware-Accelerated Steaming when enabled.

2. Enable hardware acceleration

To use Hardware-Accelerated Streaming in Plex Media Server, you need to enable it using the Plex Web App.

  1. Open the Plex Web app.
  2. Navigate to Settings > Server > Transcoder to access the server settings.
  3. Turn on Show Advanced in the upper-right corner to expose advanced settings.
  4. Turn on Use hardware acceleration when available.
    hwaccel.png
  5. Click Save Changes at the bottom.

You do not need to restart Plex Media Server after saving the changes.

Don't see the setting?

  • Update to the latest Plex Media Server (1.9.3 or later)
  • The server owner must have a Plex Pass subscription
  • Make sure that the server meets the system requirements listed earlier

Q&A

How can I tell when hardware acceleration is being used?

To check to see if hardware acceleration is being used during a video playback:

  1. Play a video on any Plex app.
  2. In the quality settings of the Plex player app, reduce the video quality to force Plex Media Server to convert the video (for example, select Convert to 480p).
  3. Open the Plex Web App.
  4. In the Plex Web App, click on the Activity icon in the upper-right corner.
  5. Switch to the Now Playing tab of the Activity page.
  6. Move the mouse on top of the video being played. Additional details should appear.
    NowPlaying.png
  7. When hardware acceleration is being used, you should see (hw) next to the Video format as shown above.
    • The status text will show Video Transcoding [FORMAT] (hw) to [FORMAT] (hw).
    • The first (hw) indicates that hardware-accelerated video decoding is being used. Only certain video formats are supported for this.
    • The second (hw) indicates that hardware-accelerated video encoding is being used.
    • Depending on the video file and the server hardware, hardware acceleration can be used for decoding, encoding, or both.

Can I use Hardware-Accelerated Streaming inside of Docker?

At this time, we do not formally support hardware acceleration inside of a Docker container. Some users of Docker (on Linux only) have been able to accomplish this by adding platform-specific custom configurations that expose host hardware to the container.

Can I use Hardware-Accelerated Streaming inside of a virtual machine?

Hardware-Acceleration Streaming is not currently possible inside of virtual machines, as virtual machine hosts do not expose low-level video hardware to the guest operating system.  While some virtual machines expose generic 3D acceleration to the guest OS as a virtual driver, this does not include support for accelerated video decoding or encoding.

Compatible formats and limitations

When possible, Plex Media Server uses hardware acceleration for both decoding and encoding. Some formats are not compatible with hardware acceleration for decoding. In those cases, normal software decoding without hardware acceleration will automatically be used.

Hardware-accelerated decoding

Video files with H.264 or HEVC video can take advantage of hardware-accelerated decoding. When hardware-accelerated decoding is not compatible with a video file, Plex Media Server will automatically use normal software decoding.

  • On Linux, hardware-accelerated decoding is not supported on NVIDIA GPUs. Intel Quick Sync is required for hardware-accelerated decoding.
  • Hardware-accelerated HEVC decoding is currently limited to 8-bit color (not 10-bit HDR).
  • Hardware-accelerated HEVC decoding on Windows and Linux requires a 7th-generation Intel Core (Skylake, 2015) or newer.
  • Hardware-accelerated HEVC decoding is not yet available on macOS.
  • Some devices have additional limitations on hardware-accelerated video decoding. For example, limiting to a certain resolution (1080p or 4K), limiting frame rate, limiting video profile, or limiting chroma subsampling.

Hardware-accelerated encoding

Plex Media Server uses hardware-accelerated H.264 encoding when available. When hardware-accelerated encoding is not available, Plex Media Server will automatically use normal software encoding.

  • Windows and Linux devices using Intel hardware-accelerated encoding do not have any artificial limit to the number of simultaneous videos.
  • Windows and Linux devices using NVIDIA GeForce graphic cards are limited to hardware-accelerated encoding of 2 videos at a time. This is a driver limitation from NVIDIA.
  • macOS is only capable of hardware-accelerated encoding of 1 video at a time. This is a platform limitation from Apple.
  • macOS hardware-accelerated encoding is only available at 480p or higher. Lower resolutions will use normal software encoding.
  • Some devices have additional limitations on hardware-accelerated video encoding. For example, limiting to a certain range of resolutions or limiting frame rate.

Tech specs

To provide reliable Hardware-Accelerated Streaming across a variety of hardware and platforms, Plex Media Server supports several different hardware acceleration engines.

  • The optimal video engine is selected by Plex Media Server in the order of priority shown in the table below.
  • Plex supports automatic fallback from hardware to software. If the hardware video engine fails to decode or encode a video, Plex will seamlessly switch to using software without causing an error.
  Video decoder engines Video encoder engines
Windows
  1. Windows native (DXVA2)*
  2. software decoder (libavformat)
  1. Intel Quick Sync (QSV)
  2. NVIDIA Encoder (NVENC)
  3. Windows native (MF)*
  4. software encoder (x264)
macOS
  1. macOS native (VideoToolbox)*
  2. software decoder (libavformat)
  1. macOS native (VideoToolbox)*
  2. software encoder (x264)
Android
  1. Android native (mediacodecndk)
  2. software decoder (libavformat)
  1. Android native (mediacodecndk)
  2. software encoder (x264)
Linux
  1. Intel Video Acceleration (VAAPI)
  2. software decoder (libavformat)
  1. Intel Video Acceleration (VAAPI)
  2. NVIDIA Encoder (NVENC)
  3. software encoder (x264)

*The listed native system system decoders/encoders are only used when they indicate that hardware acceleration is available. Otherwise, Plex uses its own bundled software libraries (libavcodec/x264) for maximum compatibility and quality.