From c14b6ea5bd737008286f7efe7b6a25794b13bdeb Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Wed, 6 May 2026 11:28:54 +0800 Subject: [PATCH 1/2] Add hardware video codec support info to README.md. --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index e0b8962e..80b8c718 100644 --- a/README.md +++ b/README.md @@ -274,6 +274,21 @@ LiveKit is a dynamic realtime environment and calls can fail for various reasons You may throw errors of the type `RpcError` with a string `message` in an RPC method handler and they will be received on the caller's side with the message intact. Other errors will not be transmitted and will instead arrive to the caller as `1500` ("Application Error"). Other built-in errors are detailed in `RpcError`. +## Hardware video codec support + +The underlying Rust SDK ships with platform-specific hardware-accelerated encoders/decoders, which are enabled automatically when the requested codec and OS match. + +| Platform | Codec(s) | Encoder | Decoder | Backend | +| ------------------------------ | ---------- | ------- | ------- | -------------------------------------- | +| macOS | H264, H265 | ✓ | ✓ | VideoToolbox | +| Linux (AMD GPU) | H264 | ✓ | | VAAPI | +| Linux x64 (NVIDIA GPU) | H264, H265 | ✓ | ✓ | NVENC / NVDEC (NVIDIA Video Codec SDK) | +| Linux ARM (NVIDIA Jetson) | H264, H265 | ? | ? | NVENC / NVDEC (to be confirmed) | + +Software encoders (libvpx for VP8/VP9, libaom for AV1, OpenH264 for H264) are used as a fallback on platforms or codecs not listed above. + +> **Note:** NVIDIA data-center / AI-inference GPUs such as the **H100, H200, A100** physically omit the NVENC/NVDEC engines — running on these cards will silently fall back to the software encoder/decoder regardless of the table above. + ## Examples - [Facelandmark](https://github.com/livekit/python-sdks/tree/main/examples/face_landmark): Use mediapipe to detect face landmarks (eyes, nose ...) From 9f5db41e770af3b5b27b5bcd6b9d5e65772c8d43 Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Wed, 6 May 2026 15:55:40 +0800 Subject: [PATCH 2/2] update. --- README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 80b8c718..e7fa81b1 100644 --- a/README.md +++ b/README.md @@ -276,18 +276,17 @@ You may throw errors of the type `RpcError` with a string `message` in an RPC me ## Hardware video codec support -The underlying Rust SDK ships with platform-specific hardware-accelerated encoders/decoders, which are enabled automatically when the requested codec and OS match. +The underlying Rust SDK ships with platform-specific hardware-accelerated encoders/decoders, These are used automatically when available and compatible with the runtime environment (OS, drivers, GPU, and codec). | Platform | Codec(s) | Encoder | Decoder | Backend | | ------------------------------ | ---------- | ------- | ------- | -------------------------------------- | | macOS | H264, H265 | ✓ | ✓ | VideoToolbox | | Linux (AMD GPU) | H264 | ✓ | | VAAPI | | Linux x64 (NVIDIA GPU) | H264, H265 | ✓ | ✓ | NVENC / NVDEC (NVIDIA Video Codec SDK) | -| Linux ARM (NVIDIA Jetson) | H264, H265 | ? | ? | NVENC / NVDEC (to be confirmed) | -Software encoders (libvpx for VP8/VP9, libaom for AV1, OpenH264 for H264) are used as a fallback on platforms or codecs not listed above. +Software encoders (libvpx for VP8/VP9, libaom for AV1, OpenH264 for H264) are used as a fallback when hardware acceleration is not available. -> **Note:** NVIDIA data-center / AI-inference GPUs such as the **H100, H200, A100** physically omit the NVENC/NVDEC engines — running on these cards will silently fall back to the software encoder/decoder regardless of the table above. +> **Note:** Availability depends on the specific machine configuration, including GPU model, driver support, and runtime environment. ## Examples