Hardware Acceleration on Linux

softworkz edited this page Dec 4, 2018 · 3 revisions

Emby supports the following hardware acceleration variants on Linux

  • Nvidia NVDEC & NVENC
    API for video encoding and decoding acceleration using Nvidia GPUs

  • VA API
    Video Acceleration API for Linux is supported by several device manufacturers

  • Intel QuickSync Video
    Intel's brand for its dedicated video encoding and decoding hardware core

Nvidia NVDEC & NVENC

Nvidia provides two hardware acceleration interfaces:

  • NVENCODE API for video encode acceleration
  • NVDECODE API for video decode acceleration (formerly called NVCUVID API)

NVIDIA GPUs contain one or more hardware-based decoder and encoder(s) (separate from the CUDA cores) which provides fully-accelerated hardware-based video decoding and encoding for several popular codecs. With decoding/encoding offloaded, the graphics engine and the CPU are free for other operations.

GPU hardware accelerator engines for video decoding (referred to as NVDEC) and video encoding (referred to as NVENC) support faster than real-time video processing which makes them suitable to be used for transcoding applications, in addition to video playback.

Supported Accelerations

The following accelerations are currently supported by Emby. Please note that Emby may not support all accelerations offered by the hardware and that not all hardware devices will support all accelerations.

  • Decoders
    • H.264 (AVC)
    • H.265 (HEVC)
    • MPEG2
    • MPEG4
    • VC1
    • VP8
    • VP9
  • Encoders
    • H.264 (AVC)

Hardware Requirements

Hardware acceleration is available for most Nvidia devices starting with GPUs from the Kepler generation (e.g. GeForce GT 630) onwards, including both consumer and professional devices. Detailed information about supported hardware can be found in Nvidias GPU Support Matrix.

Required Setup Steps

Install the latest drivers for your Nvidia hardware either directly from Nvidia Driver Downloads page or from the driver repository of the respective Linux distribution. The procedure may vary by distribution. The minimum required driver version on Linux is 390.25

Remarks

  • Emby supports headless operation for Nvidia
    It is not required to connect a monitor

Further Reading

Nvidia Video Codec SDK
GPU Support Matrix
Nvidia Driver Downloads
NVENC, NVDEC

VA API

VAAPI (Video Acceleration API) is an open-source library and API specification, which provides access to graphics hardware acceleration capabilities for video processing. It consists of a main library and driver-specific acceleration backends for each supported hardware vendor.

Supported Accelerations

The following accelerations are currently supported by Emby. Please note that Emby may not support all accelerations offered by the hardware and that not all hardware devices will support all accelerations.

  • Decoders
    • H.264 (AVC)
    • H.265 (HEVC)
    • MPEG2
    • VC1
    • VP8
    • VP9
  • Encoders
    • H.264 (AVC)
  • Hardware Filters
    • Scaling
    • Deinterlacing

Hardware Requirements

Required Setup Steps

Intel

The latest Intel drivers are included with Emby server.

AMD

Radeon™ Software for Linux® Installation

Further Reading

Video Acceleration API Intel Video and Audio for Linux

Intel QuickSync Video

Intel® Quick Sync Video uses the dedicated media processing capabilities of Intel® Graphics Technology to decode and encode fast, enabling the processor to complete other tasks and improving system responsiveness.

Supported Accelerations

The following accelerations are currently supported by Emby. Please note that Emby may not support all accelerations offered by the hardware and that not all hardware devices will support all accelerations.

  • Decoders
    • H.264 (AVC)
    • H.265 (HEVC)
    • MPEG2
    • VC1
    • VP8
    • VP9
  • Encoders
    • H.264 (AVC)
  • Hardware Filters
    • Scaling
    • Deinterlacing

Hardware Requirements

Quick Sync was initially built into some Sandy Bridge CPUs, but not into Sandy Bridge Pentiums or Celerons.
An overview of acceleration capabilities built into the various CPU generations can be found under the following links:

Required Setup Steps

The steps for installing the Intel Media SDK may vary depending on your actual system. Please follow the instructions appropriate for your actual setup which you can find here:

Further Reading

Intel QuickSync Video
Driver Support Matrix for Intel® Media SDK and OpenCL™
Codec Support by CPU Generation
GPU Acceleration Capabilities

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.