Releases: shiguredo/sora-python-sdk
Releases · shiguredo/sora-python-sdk
2023.2.0
2023.1.2.dev0
Update README.md
2023.1.2
2023.1.1
2023.1.0
- [UPDATE]
create_video_source()
とset_enabled()
の引数に名前をつける(キーワード引数で呼べるようにする) - [UPDATE] C++ SDK のバージョンを 2023.7.0 に上げる
- [UPDATE] 映像コーデックパラメータを指定可能にする
Sora.create_connection()
の引数に以下を追加:video_vp9_params
video_av1_params
video_h264_params
- @sile
- [FIX] 転送フィルターのルールの "operator" フィールドが誤って "op" になっていたのを修正する
- [UPDATE] nanobind の最小バージョンを 1.4.0 にする
- [UPDATE] sora_client に "Sora Python SDK {PYTHON_SDK_VERSION}" を設定する
- 今までは C++ SDK のデフォルト値が使用されていた
- PYTHON_SDK_VERSION の部分には pyproject.toml の project.version に記載の値が使用される
- @sile
- [FIX] 0 を途中で含むデータを送受信すると途中で途切れる問題を修正
- [ADD] libwebrtc のログを有効にするための
enable_libwebrtc_log()
関数を追加するsora_sdk.enable_libwebrtc_log(sora_sdk.SoraLoggingSeverity.INFO)
といった感じで使用する- ログレベル (severity) は libwebrtc 準拠で
VERBOSE
,INFO
,WARNIGN
,ERROR
,NONE
の五段階 - @sile
- [CHANGE] デフォルトでは libwebrtc のログは出さないようにする
- [CHANGE] audio および video パラメータが None を受け取れるようにする
- 今までは
bool
だったのを他のパラメータに合わせてopitonal<bool>
に変更 - @sile
- 今までは
- [ADD] C++ SDK が提供して Python SDK が未提供だったシグナリングパラメータを追加する
- 以下のパラメータを追加する:
- bundle_id
- signaling_notify_metadata
- video_bit_rate
- audio_bit_rate
- simulcast
- spotlight
- spotlight_nubmer
- simulcast_rid
- spotlight_focus_rid
- spotlight_unfocus_rid
- forwarding_filter
- data_channel_signaling_timeout
- disconnect_wait_timeout
- websocket_close_timeout
- websocket_connection_timeout
- audio_codec_lyra_bitrate
- audio_codec_lyra_usedtx
- check_lyra_version
- audio_streaming_language_code
- insecure
- client_cert
- client_key
- proxy_url
- proxy_username
- proxy_password
- proxy_agent
- いずれも未指定の場合には C++ SDK のデフォルト値が採用される
- @sile
- 以下のパラメータを追加する:
- [UPDATE] boost のバージョンを 1.82.0 に更新する
- [UPDATE] libwebrtc のバージョンを m114.5735.2.0 に更新する
- [UPDATE] Sora C++ SDK のバージョンを 2023.6.0 に更新する
- [UPDATE]
Sora.connect()
メソッドにバリデーションを追加する- 以下のケースでは例外を送出するようにする:
connect()
呼び出し後に、同じインスタンスで再度connect()
を呼び出した場合disconnect()
呼び出し後に、同じインスタンスでconnect()
を呼び出した場合
- @sile
- 以下のケースでは例外を送出するようにする:
- [UPDATE] SIGSEGV などの異常終了を発生しにくくする
- 合わせてサンプルコードの整理(e.g., シグナルハンドラを使わなくする)も行っている
- @sile
- [CHANGE] メッセージング系のサンプルでは音声および映像を無効にする
messaging_{sendrecv,sendonly,recvonly}.py
ではSora.create_connectoin(audio=False, video=False, ...)
を指定する- @sile
- [ADD] Python SDK では常にマルチストリームを有効にする
- デフォルト値を使うのではなく
sora::SoraSignalingConfig::multistream
フィールドに明示的にtrue
を指定する - @sile
- デフォルト値を使うのではなく
- [ADD] Sora.create_connection() メソッドに音声・映像コーデックを指定するための引数を追加する
audio_codec_type
およびvideo_codec_type
引数- デフォルトは未指定
- @sile
- [ADD] Sora.create_connection() メソッドに音声・映像の有効無効を指定するための引数を追加する
audio
およびvideo
引数- デフォルトはどちらも
true
- [UPDATE] Sora::ConvertDataChannels() の実装をリファクタリング
- [ADD] データチャネルを使ったサンプルを追加する
- 以下の三つを追加:
- test/messaging_readonly.py
- test/messaging_sendonly.py
- test/messaging_sendrecv.py
- @sile
- 以下の三つを追加:
- [CHANGE]
SoraConnection.on_message()
コールバックの第二引数の方をstr
からbytes
に変更する- 文字列以外の任意のバイト列が送受信可能なため
- @sile
- [ADD]
SoraConnection
クラスにsend_data_channel(label: str, data: bytes)
メソッドを追加する- データチャネル経由でメッセージを送信するためのメソッド
- 使用するためには
Sora.create_connection()
で以下のオプションを指定する必要がある:data_channel_signaling=True
data_channels=[{"label": ..., "direction": ..., ...}, ...]
- なお
create_connection()
の後、SoraConnection.on_data_channel(label: str)
コールバックが呼び出されるまでは、該当ラベルに対するメッセージ送信は行えないので注意が必要 - @sile
- [ADD]
Sora.create_connection()
メソッドにデータチャネル関連の引数を追加する- 追加したのは以下の引数:
data_channels
data_channel_signaling
ignore_disconnect_websocket
- @sile
- 追加したのは以下の引数:
- [ADD] PyPI に登録する GitHub Actions を追加する
- [ADD] rye を使ってビルドとパッケージングが出来るようにする
- [ADD] nanobind を利用して Sora C++ SDK ベースの Python SDK を追加する