SkyWayに接続するためのPythonのクライアント
これはSkyWayのSDKとは無関係の非公式の実装です。 動作は保証しておらず、SkyWayの仕様変更により動かなくなる可能性があります。 また、コードや動作についての質問などはSkyWayのサポートへの連絡は行わず、本リポジトリのissueに投稿してください。
- Channelへのjoin
- SFU Botの作成
- VideoStreamのPublicationのSFU BotによるForwarding
- P2PでのVideoStream、AudioStream、DataStreamのPublish / Subscribe
- SFU経由でのAudioStreamのPublish / Subscribe
- SFU経由でのVideoStreamのSubscribe
- PublicationのReplaceStream
- Streamのenable / disable
- Simulcast
- GetStats
- STUN / TURNの利用
- 再接続処理
- エラーハンドリング
- SkyWay Auth Tokenの更新
- Metadataの取得・更新
git clone git@github.com:kadoshita/skyway-python-client.git
cd skyway-python-client
uv venv .venv
source bin/activate
uv sync
cp .env.example .env
vi .env # SKYWAY_APP_IDとSKYWAY_SECRET_KEYを記述する
- Webアプリケーションの起動
cd skyway-python-client/public
cp ../.env .
npm install
npm start
- Channelの作成
- http://localhost:1234/にアクセスする
- Startボタンをクリックする
- Create Channelボタンをクリックする
- Join Channelボタンをクリックする
- Channel IDをコピーする
- Publisher側の実行
- SFU BotからのPublicationのSubscribe
- コンソールに出力されたSFU BotからのPublicationのIDをコピーする
- 「Publication ID:」のテキストボックスにPublicationのIDをペーストする
- Subscribe Mediaボタンをクリックする
$ uv run src/main.py
channel_id: # Subscriber側で作成したChannel IDをペーストし、Enterを押す
- macOS Sonoma 14.6.1
- Python 3.10.2
- uv 0.5.26
- Node.js v20.10.0