Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit,

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) |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what it means by ?
do you mean TBD ? if not sure, should we just remove Linux ARM for now ?


Software encoders (libvpx for VP8/VP9, libaom for AV1, OpenH264 for H264) are used as a fallback on platforms or codecs not listed above.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit, maybe

Note: Availability depends on the specific machine configuration, including GPU model, driver support, and runtime environment.

Note: NVIDIA data-center / AI-inference GPUs such as the H100, H200, A100 do not include NVENC/NVDEC engines. On these GPUs, encoding and decoding will fall back to software implementations.


## Examples

- [Facelandmark](https://github.com/livekit/python-sdks/tree/main/examples/face_landmark): Use mediapipe to detect face landmarks (eyes, nose ...)
Expand Down
Loading