livekit/python-sdks

LiveKit real-time and server SDKs for Python

何を解決するか

このSDKは、Pythonアプリケーションにリアルタイム音声、映像、データ通信を統合するためのツールを提供します。開発者は、基盤となる通信インフラをゼロから構築することなく、マルチモーダルAI、ライブストリーミング、ビデオ会議などの複雑なインタラクティブ体験を構築できます。

動作方法

このプロジェクトは、主に以下の2つのパッケージで構成されています:

  • livekit: PythonアプリケーションがLiveKitサーバーに参加者として接続し、メディアトラック(音声/映像)を発信・購読し、リアルタイムイベントを処理できるリアルタイムSDKです。
  • livekit-api: アクセストークンの生成や、サーバーAPIを通じたルームの管理など、管理タスクに使用するサーバーサイドSDKです。

asyncio を介した非同期操作をサポートし、内蔵された音声処理(例:エコーキャンセリング)を備えた高レベルな MediaDevices インターフェースにより、ローカルのマイクやスピーカーにアクセスできます。

対象ユーザー

  • AI開発者: リアルタイムで音声・映像を通じてユーザーと対話する必要があるマルチモーダルAIエージェントを開発する人。
  • アプリケーション開発者: Pythonを使ってライブストリーミングやビデオ通話ソフトウェアを開発する人。
  • システム統合者: APIを通じてLiveKitルームや参加者を管理する必要がある人。

主な特徴

  • リアルタイムメディア: 音声および映像トラックの発信・購読をサポート。
  • RPCサポート: 参加者間でリモートプロシージャコール(RPC)が可能。LLMの関数呼び出しをクライアントに転送する際に有用。
  • ハードウェアアクセラレーション: プラットフォーム固有のハードウェアエンコーダー/デコーダー(macOSではVideoToolbox、NVIDIA GPUではNVENC/NVDEC、AMD GPUではVAAPI)を自動的に利用。
  • 音声処理: 内蔵された音響エコーキャンセリング、ノイズ抑制、自動ゲイン制御を実装。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト