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,用於管理工作,如產生驗證用的 access token、透過 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 服務的存取。