Skip to main content

WebRTC SFU Sora Python SDK

Project description

Sora Python SDK

PyPI image License Actions status

Sora Python SDK は WebRTC SFU Sora の Python クライアントアプリケーションを開発するためのライブラリです。Sora C++ SDK をベースにしています。

About Shiguredo's open source software

We will not respond to PRs or issues that have not been discussed on Discord. Also, Discord is only available in Japanese.

Please read https://github.com/shiguredo/oss/blob/master/README.en.md before use.

時雨堂のオープンソースソフトウェアについて

利用前に https://github.com/shiguredo/oss をお読みください。

Sora Python SDK について

様々なプラットフォームに対応しすぐに使い始められる WebRTC SFU Sora 向けの Python SDK です。

音声や映像デバイスの処理を SDK から独立させているため、様々なライブラリを利用する事ができます。

特徴

  • Sora C++ SDK ベース
  • WebRTC 部分の機能は libwebrtc を採用
  • Windows / macOS / Linux (Ubuntu) プラットフォームに対応
  • WebRTC 統計情報 の取得が可能
  • WebRTC Encoded Transform に対応
  • Intel / Apple / NVIDIA のハードウェアデコーダー/エンコーダーに対応
  • OpenH264 を利用した H.264 のソフトウェアエンコーダー/デコーダーに対応
  • 音声デバイス処理に sounddevice などが利用できる
  • 映像デバイス処理に opencv-python などが利用できる
  • 音声認識などの入力に受信した音声を利用できる
  • 物体検出などの入力に受信した映像を利用できる
  • uv add sora_sdkpip install sora_sdk でインストール可能
  • NVIDIA Jetson JetPack SDK に対応

利用イメージ

  • データチャンネルを利用して Python において映像、音声を解析した結果を Sora 経由で配信する
  • Text to Speech の音声を Sora 経由で配信する
  • 映像入力に対して Pillow などで加工した映像を Sora を経由で配信する
  • A チャンネルの参加者からの映像と音声を B チャンネルに対して加工した上で Sora 経由で配信する

ドキュメント

Sora Python SDK

サンプル集

shiguredo/sora-python-sdk-examples

sora_sdk パッケージの追加

uv

uv

uv add sora_sdk

pip

pip install sora_sdk

NVIDIA Jetson 向けパッケージ

PyPI 経由ではインストールできません。 パッケージバイナリを配布しておりますので、そちらをご利用ください。

https://github.com/shiguredo/sora-python-sdk/releases/tag/2024.3.0-jetson-jetpack-6.0.0.0

システム条件

  • WebRTC SFU Sora 2023.2.0 以降
  • Python 3.10 以上

対応プラットフォーム

  • Windows 11 x86_64
  • Windows Server 2022 x86_64
  • macOS Sequoia 15 arm64
  • macOS Ventura 14 arm64
  • macOS Sonoma 13 arm64
  • Ubuntu 24.04 LTS x86_64
  • Ubuntu 24.04 LTS arm64
  • Ubuntu 22.04 LTS x86_64
  • Ubuntu 22.04 LTS arm64 (NVIDIA Jetson JetPack SDK 6)
    • PyPI からではなくパッケージファイルを利用してください

優先実装

優先実装とは Sora のライセンスを契約頂いているお客様向けに Sora Python SDK の実装予定機能を有償にて前倒しで実装することです。

詳細は Discord やメールなどでお気軽にお問い合わせください

優先実装が可能な機能一覧

  • Windows 11 arm64
  • Ubuntu 24.04 arm64
  • Ubuntu 22.04 arm64
  • Ubuntu 20.04 arm64 (NVIDIA Jetson JetPack SDK 5)
  • AMD Video Core Next (VCN) 対応
    • VP9 / AV1 / H.264 / H.265
  • Python 3.9 以前への対応

サポートについて

Discord

  • サポートしません
  • アドバイスします
  • フィードバック歓迎します

最新の状況などは Discord で共有しています。質問や相談も Discord でのみ受け付けています。

https://discord.gg/shiguredo

バグ報告

Discord へお願いします。

ライセンス

Apache License 2.0

Copyright 2023-2024, tnoho (Original Author)
Copyright 2023-2024, Wandbox LLC (Original Author)
Copyright 2023-2024, Shiguredo Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

OpenH264

https://www.openh264.org/BINARY_LICENSE.txt

"OpenH264 Video Codec provided by Cisco Systems, Inc."

H.264 (AVC) と H.265 (HEVC) のライセンスについて

時雨堂が提供する libwebrtc のビルド済みバイナリには H.264 と H.265 のコーデックは含まれていません

H.264

H.264 対応は Via LA Licensing (旧 MPEG-LA) に連絡を取り、ロイヤリティの対象にならないことを確認しています。

時雨堂がエンドユーザーの PC /デバイスに既に存在する AVC / H.264 エンコーダー/デコーダーに依存する製品を提供する場合は、 ソフトウェア製品は AVC ライセンスの対象外となり、ロイヤリティの対象にもなりません。

H.265

H.265 対応は以下の二つの団体に連絡を取り、H.265 ハードウェアアクセラレーターのみを利用し、 H.265 が利用可能なバイナリを配布する事は、ライセンスが不要であることを確認しています。

また、H.265 のハードウェアアクセラレーターのみを利用した H.265 対応の SDK を OSS で公開し、 ビルド済みバイナリを配布する事は、ライセンスが不要であることも確認しています。

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sora_sdk-2024.4.0.dev17.tar.gz (6.6 MB view details)

Uploaded Source

Built Distributions

sora_sdk-2024.4.0.dev17-cp313-cp313-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.13 Windows x86-64

sora_sdk-2024.4.0.dev17-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

sora_sdk-2024.4.0.dev17-cp313-cp313-macosx_14_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.13 macOS 14.0+ ARM64

sora_sdk-2024.4.0.dev17-cp313-cp313-macosx_13_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.13 macOS 13.0+ ARM64

sora_sdk-2024.4.0.dev17-cp312-cp312-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.12 Windows x86-64

sora_sdk-2024.4.0.dev17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

sora_sdk-2024.4.0.dev17-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.1 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

sora_sdk-2024.4.0.dev17-cp312-cp312-macosx_14_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.12 macOS 14.0+ ARM64

sora_sdk-2024.4.0.dev17-cp312-cp312-macosx_13_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.12 macOS 13.0+ ARM64

sora_sdk-2024.4.0.dev17-cp311-cp311-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.11 Windows x86-64

sora_sdk-2024.4.0.dev17-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

sora_sdk-2024.4.0.dev17-cp311-cp311-macosx_14_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.11 macOS 14.0+ ARM64

sora_sdk-2024.4.0.dev17-cp311-cp311-macosx_13_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.11 macOS 13.0+ ARM64

sora_sdk-2024.4.0.dev17-cp310-cp310-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.10 Windows x86-64

sora_sdk-2024.4.0.dev17-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

sora_sdk-2024.4.0.dev17-cp310-cp310-macosx_14_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.10 macOS 14.0+ ARM64

sora_sdk-2024.4.0.dev17-cp310-cp310-macosx_13_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.10 macOS 13.0+ ARM64

File details

Details for the file sora_sdk-2024.4.0.dev17.tar.gz.

File metadata

  • Download URL: sora_sdk-2024.4.0.dev17.tar.gz
  • Upload date:
  • Size: 6.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for sora_sdk-2024.4.0.dev17.tar.gz
Algorithm Hash digest
SHA256 70f1856db4a9d37d9ac80548eda77b688a1abd9097c358af40325a6303a1b674
MD5 b58ae9e1967d754813bb53498342b088
BLAKE2b-256 18cd3ecf1205bf824fd0ef6e3327aba83a79ffbca935ca0c932ed8376bbf35c7

See more details on using hashes here.

File details

Details for the file sora_sdk-2024.4.0.dev17-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev17-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1b5d89db79946fbf4dc4784d49090525a94e39d44efcfd220381426ebdc8f8e2
MD5 b97dfb4c5264ffcdc4bfe1141ea14e6d
BLAKE2b-256 69fb55a7567db51560185fbb83c728e7876ee6d58eaf0eda0d43337b50fd2d9c

See more details on using hashes here.

File details

Details for the file sora_sdk-2024.4.0.dev17-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev17-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6a804e06c53c7fd3178f94029f1cd41b1c6e6650ea19e035210920520f7bac92
MD5 cbd5625f052c10315b80b5b45f209baf
BLAKE2b-256 7acc8fd61b9cc5636e9e239aa37d4815f900ccc4226ac4aebd99a010e75899d1

See more details on using hashes here.

File details

Details for the file sora_sdk-2024.4.0.dev17-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev17-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 090fc13b84c91354e2199ad74761f777278b2ba16887f770a617e5bf72b350de
MD5 1d262d5f2712e7c2f778f4974febfc69
BLAKE2b-256 3b47d5507f490195f02d3d0de41c229d0ecd9728b0bf3b6295d16a604d19169d

See more details on using hashes here.

File details

Details for the file sora_sdk-2024.4.0.dev17-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev17-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 c35aca7abe49559adc6796f2ed565d84b908510c573ea0e222de97aad9cd6921
MD5 0ec80b24dfe90c35f02f83f8fb6f1cfe
BLAKE2b-256 ad53fe057df72cb9e5f0f3fb303431e7a5eb92c1daa1dae868c056dbc288db22

See more details on using hashes here.

File details

Details for the file sora_sdk-2024.4.0.dev17-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev17-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3b24e023c12da65e5c7dc4b99dc31137623d286bf7e036653bb4711519967d1b
MD5 09e3abd9352ca3d37901edac0880055f
BLAKE2b-256 c3570fdf02c1128b0d6f569952345a55a45bab30d9d6c88c211a0cb55b94639d

See more details on using hashes here.

File details

Details for the file sora_sdk-2024.4.0.dev17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f0045543769b374ac83f3a512e983166d770b992cda8c5216bdb4942cd3c4bb9
MD5 99b7bc5678c7a5f9adef8d12d8f29cac
BLAKE2b-256 852c01013920e06d85dd9e682d1173470cb530f4c67473968508982c27758ce6

See more details on using hashes here.

File details

Details for the file sora_sdk-2024.4.0.dev17-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev17-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8bc8d5d47dfa59fb016d57fea581f5acf182098c45b93c08c9fae018deafd3f1
MD5 d88e8fff9b3b892777c75be735c37c82
BLAKE2b-256 3c34d6f2035a1e2a474acaddcb3ef7f8d6e347689f832b79eeeddf4f0a59eb96

See more details on using hashes here.

File details

Details for the file sora_sdk-2024.4.0.dev17-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev17-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 060c1ca3ee55051e5fd5ddbf5fb411cc9f318e99feda2452a3749f34d37a1681
MD5 71cb9748ff7bdfbdeb8440fa1e711f18
BLAKE2b-256 90dc2440f0b947baf8770fcf8b3618fcbfad73c3be204b45a2bc89278fc76008

See more details on using hashes here.

File details

Details for the file sora_sdk-2024.4.0.dev17-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev17-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 389f5c6905ebb2e7d6d7d8b06cf7793adc8fe6e931eeb6a6fe12512b9debb05f
MD5 194edb04a820648c3717de3110610653
BLAKE2b-256 428e44f62e53552a379f29cce771ce1b01c591577b601db0f60ba0802cb2e1fb

See more details on using hashes here.

File details

Details for the file sora_sdk-2024.4.0.dev17-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev17-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f54ac4992399b07234a64c2e4540c3b371051a8f10f9802d9dab82d98d088abb
MD5 4fcea4e12b99926bd4ac2036e2c40bb4
BLAKE2b-256 2ca7677fd0b7449759878843ee59446ef0080ef46401c1e53daad59897cabf8f

See more details on using hashes here.

File details

Details for the file sora_sdk-2024.4.0.dev17-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev17-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b6abd210ee544a2e79c53b626aeee6da58630ca0537253dfbef88c574349c5ca
MD5 be0d3526c5a378e7746a40c7f55bcba4
BLAKE2b-256 155b72764b018b996822f1d0d27c7713dfb70abe7bfa4b9394591863c0022f56

See more details on using hashes here.

File details

Details for the file sora_sdk-2024.4.0.dev17-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev17-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ac3cf30251f942f113d7c6741c1c4d0b3b904411212d43ed7d3396571ff9f9e1
MD5 f4dc977e47dac22ff4fcbd5bc96cb1cd
BLAKE2b-256 be6828f8649c1d8aaa4b9ce0c57bb82e8106c69ed9efeefd2f93b654680aa596

See more details on using hashes here.

File details

Details for the file sora_sdk-2024.4.0.dev17-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev17-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 80d101afd9a6fb32fb06d6ef939b493733f05be81aab637dd216d936c53827b0
MD5 d02d1743f918a8300fe8ae072ea62644
BLAKE2b-256 b568657e5048aed80869fcb5e0ec24ce8322b4dd194382927fca488365a2c354

See more details on using hashes here.

File details

Details for the file sora_sdk-2024.4.0.dev17-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev17-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8f3e69205f877d7830d199e2308405ce5659e5ed2940bd2eab5b542610213d43
MD5 3650664d8396b705a47bbe3da1d570d4
BLAKE2b-256 519224fe79b999a54ed80b97a565def5cac67ed4f2b2db3f61f76e6ebdf1fb42

See more details on using hashes here.

File details

Details for the file sora_sdk-2024.4.0.dev17-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev17-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f354e4fda1921f1cbfc95545fb5344926a3b33f88ec5d833dba7b650fdd82db
MD5 ac5e0f8123b96bfb9db3a1a2196c7aa4
BLAKE2b-256 53b8d0e9906bbb80c1ab0eb4e205bc7c9316c3d32ff97401acb37d6f5e2dd673

See more details on using hashes here.

File details

Details for the file sora_sdk-2024.4.0.dev17-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev17-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7dcd4037ad550e2af25753e1be52fb92634cb64ff2695820a32ee05c9e9888ba
MD5 6db2168d388ae9dd7cd2768d4219c775
BLAKE2b-256 e09a913ee979ece4fd41f75d0604c0a9f010dc202f5d7d36a632224ac491555a

See more details on using hashes here.

File details

Details for the file sora_sdk-2024.4.0.dev17-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev17-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 d7c1c004fcebc266c04d4ac3f9304017da8fad9a156f4a84d30a36049dabab87
MD5 1387a9a25ac328de42b43bb293b258ec
BLAKE2b-256 6efd8803690279d5e71fcf27e7569e3fb00c872e35bf4e323bd82a94c7212b3b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page