概要

Python SDKは、Pythonで作成されたアプリケーションからSkyWayを利用するためのSDKです。 本SDKを利用することで、Pythonのアプリケーションでリアルタイムに映像・音声データを受信し、任意のデータ送信を行うことができます。

提供状況 Python SDKは現在、β版として機能を限定して提供しています。そのため、他のSDKで利用できる機能の一部が含まれていない場合があります。また、 API仕様が予告なく変更される可能性があります。 あらかじめご了承ください。

β版の提供期間中は、SDKの品質改善および機能追加に継続して取り組んでまいります。

ご利用後に気になる点がございましたら、お気軽にお問合せフォームよりご連絡ください。

利用シーンの例

本SDKを組み込むことで実現可能なサービスの一例です。

AIと連携したリアルタイム接客システム

本SDKを用いてエンドユーザーの映像・音声をリアルタイムに受信し、マルチモーダルAIと連携させることで、低遅延な対話型接客を実現できます。

LLMを活用したリアルタイム議事録

本SDKを用いて会議の音声や画面共有映像などをリアルタイムに受信し、外部AIサービスで分析することで、会議内容を即時に記録・整理するエージェントを開発できます。

対応している通信方式

P2P での publish / subscribe にのみ対応しています。SFUについては、ご要望に応じて検討予定です。

対応環境

以下の環境で動作することを確認しています。

  • OS: Linux(Ubuntu 24.04), macOS, Windows
  • Python: 3.10以上

対応コーデック

以下のコーデックについて、動作することを確認しています。

  • 映像の受信
    • H264
    • VP8
  • 音声の受信
    • Opus

ライブラリの仕様

SkyWay Python SDK を利用する上で理解する必要のある基本的な仕様について説明します。

Room

通話を行うグループの単位であり、共通の Room に参加したエンドユーザー同士で通話を行います。 Room に参加しているエンドユーザーのことを Member と呼びます。

Stream

Room 上で送受信できるメディアのことを Stream といいます。以下の 3 種類の Stream を利用できます。

  • AudioStream
    • エンドユーザーのマイク音声など
    • Python SDKでは 受信のみ対応 しています
  • VideoStream
    • エンドユーザーのカメラ映像や画面共有映像など
    • Python SDKでは 受信のみ対応 しています
  • DataStream
    • 文字列やバイナリデータなどの任意のデータ
    • Python SDKでは 送信のみ対応 しています

publish

Member が Stream を Room に公開することを publish といいます。

Stream を publish すると Room 上に Stream に対応する Publication というリソースが作成されます。

subscribe

Member が Room 上の Publication を受信することを subscribe といいます。

subscribe をすると Room 上に Subscription というリソースが作成されます。

Publication を subscribe した Member は Subscription を通じて Stream にアクセスし映像や音声を受信できます。

SkyWay Auth Token

SkyWay Auth Token は、SkyWay を利用するために必要な JWT(JSON Web Token)形式のトークンです。

エンドユーザーごとに権限を細かく設定することができ、例えば Room ごとの入室を特定のエンドユーザーに制限する、といったことができます。

不正な権限での操作を防ぐために、シークレットキーは機密情報として管理する必要があります。

本番環境用のアプリケーションでは、エンドユーザーにはSkyWay Auth Token のみを払い出し、シークレットキーはアプリケーションサーバー側で管理することを強く推奨します。

SkyWay Auth Token の詳細については、SkyWay Auth Token のドキュメントを参照してください。

SDKのインストール方法

pipコマンドを用いて、PyPIからインストールできます。

pip install skyway-room