Skip to main content

Hardware encoder support

Use hardware video encoders to minimize encoding latency on supported platforms.

Overview

Encoding video in software adds latency and consumes CPU cycles a robot often needs for perception, control, and other realtime work. To avoid this, the LiveKit Rust and Python SDKs use a platform's dedicated hardware video encoder whenever one is available, which lowers encoding latency and frees the CPU.

Encoder selection is automatic: the SDK uses a hardware encoder when the platform provides one for the negotiated codec, and falls back to software encoding otherwise. No configuration is required.

Supported encoders

The following platforms have hardware encoder support:

PlatformEncoder APICodecs
AMD CPUs and GPUsVAAPIH.264
Intel CPUsVAAPIH.264
Nvidia discrete GPUsNVENCH.264, H.265, AV1
Nvidia JetsonJetson MMAPIH.264, H.265, AV1
Apple SiliconVideoToolboxH.264, H.265

Some codecs depend on the specific hardware:

  • NVENC AV1 requires an Nvidia GPU with hardware AV1 encoding support.
  • Jetson AV1 requires Orin-class hardware.