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.dev30.tar.gz (6.6 MB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.13 Windows x86-64

sora_sdk-2024.4.0.dev30-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.dev30-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.dev30-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.dev30-cp312-cp312-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.12 Windows x86-64

sora_sdk-2024.4.0.dev30-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.dev30-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.dev30-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.dev30-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.dev30-cp311-cp311-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.11 Windows x86-64

sora_sdk-2024.4.0.dev30-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.dev30-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.dev30-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.dev30-cp310-cp310-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.10 Windows x86-64

sora_sdk-2024.4.0.dev30-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.dev30-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.dev30-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.dev30.tar.gz.

File metadata

  • Download URL: sora_sdk-2024.4.0.dev30.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.dev30.tar.gz
Algorithm Hash digest
SHA256 650a0caae8e63f39afa56f711c805b3548599c600da3a6eb5bef9014563d1fdb
MD5 46d6f310bad29b89ee875457beb6a335
BLAKE2b-256 ee48c22295a0f16456bd7e78d05e8e73665f31ed52f2ccb97c70110685e5cc52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev30-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c135a5434ba15c09d61f9e0f6377268df5910eac2e29b38aefc6bb0982fd7bcb
MD5 43c48c19943b6a826d6ce785b6dd5bfc
BLAKE2b-256 1a31855fa544a8f971ffe9fe0a3511ddd1c4463d6f64928e2c538860c1933430

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev30-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8c870d65a9c4ec5c0b79707a6f4f722f38c4e2f6d7a8d5049b9029f8fcb522ad
MD5 990ab437f6ea517559a1fcd17f64490a
BLAKE2b-256 39c8d33a9929bd007a7bf073273081440621ef95f143cbcd9c7acdde2dd004dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev30-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3145d07324fa0e8724c90e4f42eab2239b4b2185378bd03e1ca7a673dce97ca0
MD5 a1fe8c93d5849dd958f10a6d5e754df2
BLAKE2b-256 52358e4afd96cba5c6c81023e4f0b85c940c33832b6b774f000e897523d21538

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev30-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 9cde3cc94079a8a869e100c27c22b4db3a96619993b6ea2fd8851006c5d3d5a3
MD5 ccb838bb68ce7caeff30e6c2931f1bac
BLAKE2b-256 255a032cef821154446ded9e8d31f367271371d87af82a02a45fe9b5586cabe6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev30-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 864df64cb2a593c559be2855e9eedc6579cd01b792656fae86341abbf5ddc7aa
MD5 fa4237474630ab21b3bf06758b052c6b
BLAKE2b-256 2d90ae23d3280033c3138bf959128ca207d19a3bbf8ec69f9b689fdf6f93ac1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev30-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39db291eecc60878c4b2948eb28a382462fbcd79fa83aa64a45767b3dfec94bf
MD5 5f3e4c92dda506434f0681fe967eeaba
BLAKE2b-256 6d6a09706dab9ba320e74931ef0386d55f0204961ecbc3d261cf3f50a7f4177b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev30-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b33604f1259fd86298d6d85ecf0918f65fd8b49d6899f1f1e7c4eed76f1f66d9
MD5 6cb2a9a0783b3aa7cfe8e94f8b8fc0e0
BLAKE2b-256 67253479710a64f099359005e5f6a0c50c0bca89215b9080237a3d5629960127

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev30-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d0966f8a67d9bbd3bd71b417147448edbf04727a32e4e7e1d73667830baa5685
MD5 c6acebbe138b46ea93d48c67ab4c13d3
BLAKE2b-256 9d408a5d54ed55fc29369e6ebd0f6c5f76417ddc5b571e52cc6b1c0e3d245b49

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev30-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 879ab047210389c3ce1d3c086cda8f5655b492762efece7095c9bdb83f2f4a23
MD5 772a203109e7c70560ff09f970519ace
BLAKE2b-256 62ed7708ec0d3b06475231e5bdb206b056eb1414fe7b23a97db352d39e7cf306

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev30-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 818c3652a827f789df07919848c35a016137b573f40a097f12df9b494bc38407
MD5 50d13ed4d38cc849be3062c15f39b08d
BLAKE2b-256 89ae2421259344065329897a39671f403db76afccf78d70bf06bb4e90b641274

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev30-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 90ea55a5fb55a3a0b4e024ab1d807b0b2e50500db56681f157df9fa1fc686930
MD5 8f5df3d80e5ca1e0805107a16832eff7
BLAKE2b-256 aea5e6a47d7a61b596a43b987aba61bc8e9a10162f59ff83ea03766781b6a8dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev30-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a5b407daa7cbfabbf53d6fa098d5a4ab0c8d245110ac0c4560afb20d62985ccc
MD5 e5540c4c4b6d5ddf213e21f8821cbb68
BLAKE2b-256 12d6f423b29914a175be0e13c1f7f995cd272db0eb2e1eb89e929584661d5928

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev30-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 7f5f39cf582d55813693c75aa02bc39acd576f77b8384a419985bf15cc4ef732
MD5 dd327a245567c089183b9e15cc315f30
BLAKE2b-256 de143470ae266fa01f864aa88cdfe93ed75fb3565d2e900b96713e0d5bfb4eb4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev30-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 dc769394812d7d9689b924d9978717a36fd7a2bf0ea7167b39c509d04ea1bd24
MD5 21d9917a085d7bfaa0226fbd6c825d07
BLAKE2b-256 4b8df5cacf8be00b63b1dc2e44edb9fc04ec1862c5a3df411efb78db6162eedd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev30-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0d1f5c89e0300cc0a41221bb2890f360367e751d586f83105e46abde4b7c7119
MD5 681c5119ddbd3c57480b89c35e8c3376
BLAKE2b-256 4a5c08e3c4a1647b9c7a2c9ced9ca1bda5f29b2c58b5cd97dc7a36a814d3a90b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev30-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 74c7aadd9484afb85dc1a88d22a218f8e39ced6fe5dffa5f5cfd0bd6fb7f172b
MD5 80c26eea538d74161beb66b33661c5d3
BLAKE2b-256 2c38db7aefdf5869009a5f6000fddfc2427e6cca15a5995211d19227df1f64c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev30-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 59cc4f03399806607a440405310219f999af4808046afbb25945e68c1ebd3718
MD5 9edee141ac6929e450e625e636d2b462
BLAKE2b-256 eb4471c364c6304211d13cf34ef7166db6ed788539458a9c2c0e6834f112fe97

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