https://github.com/kadoshita/skyway-python-client
[Unofficial] SkyWayに接続するためのPythonのクライアント
https://github.com/kadoshita/skyway-python-client
python skyway webrtc
Last synced: 12 months ago
JSON representation
[Unofficial] SkyWayに接続するためのPythonのクライアント
- Host: GitHub
- URL: https://github.com/kadoshita/skyway-python-client
- Owner: kadoshita
- License: mit
- Created: 2023-06-30T11:27:16.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2025-06-04T11:34:34.000Z (about 1 year ago)
- Last Synced: 2025-06-10T02:48:06.345Z (about 1 year ago)
- Topics: python, skyway, webrtc
- Language: Python
- Homepage:
- Size: 413 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# skyway-python-client
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の取得・更新
## 利用方法
### セットアップ
```shell
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を記述する
```
### Subscriber側
1. Webアプリケーションの起動
```shell
cd skyway-python-client/public
cp ../.env .
npm install
npm start
```
2. Channelの作成
1. [http://localhost:1234/](http://localhost:1234/)にアクセスする
2. Startボタンをクリックする
3. Create Channelボタンをクリックする
4. Join Channelボタンをクリックする
5. Channel IDをコピーする
3. Publisher側の実行
4. SFU BotからのPublicationのSubscribe
1. コンソールに出力されたSFU BotからのPublicationのIDをコピーする
2. 「Publication ID:」のテキストボックスにPublicationのIDをペーストする
3. Subscribe Mediaボタンをクリックする
### Publisher側
```shell
$ 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