livekit/python-sdks

LiveKit real-time and server SDKs for Python

What it solves

此 SDK 提供将实时音频、视频和数据通信集成到 Python 应用中的基础设施,免去从零构建底层 WebRTC 基础设施的需求,帮助开发者打造多模态 AI 代理、直播服务以及视频会议工具。

How it works

项目由两个主要的 Python 包组成:

  • livekit:实时 SDK,允许 Python 应用充当房间中的参与者,订阅和发布音视频轨道。
  • livekit-api:服务器端 SDK,用于生成访问令牌进行身份验证、以及通过 LiveKit Cloud 或自托管服务器管理房间等管理任务。

它使用底层 Rust SDK 实现高性能媒体处理,并支持硬件加速的编码/解码(通过 VideoToolbox、VAAPI 和 NVENC/NVDEC),降低 CPU 负载。

Who it’s for

  • AI 开发者:构建需要实时观看、聆听和发声的多模态 AI 代理。
  • 应用开发者:使用 Python 开发直播或视频通话应用。
  • 后端工程师:负责会话认证和房间编排。

Highlights

  • 全双工音频:支持麦克风输入与扬声器输出同步进行,内置声学回声消除 (AEC)。
  • RPC 能力:允许参与者相互调用预定义的方法,适用于将 LLM 功能调用转发给客户端。
  • 硬件加速:在 macOS、Linux(AMD)和 Linux(NVIDIA)上自动使用 GPU 加速的编解码器(H264、H265)。
  • 完整 API:集成对 Egress、Ingress、SIP 和 Agent Dispatch 服务的访问。