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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.13 Windows x86-64

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

File metadata

  • Download URL: sora_sdk-2024.4.0.dev21.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.dev21.tar.gz
Algorithm Hash digest
SHA256 5abf030a81a03e74046b7ac670dd88aed4472c1668a3f0d43642f2940e5a6eb0
MD5 3b50ce5cc3b98b0926142d39bf5681a3
BLAKE2b-256 8bdd286e596c84346b0af29c640f5f5d3bebb1c77593f4f3b82213a0b7d9d40c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev21-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 625c4896209469c6b95c4d1f754adc489b41388718eb2b12935c345e8f40e83e
MD5 0d09eb901829cbe8abfe32418de3876c
BLAKE2b-256 25e927ad69a2efcae8be965110fe64420c6d81db238133e2c39b365a37f32c9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev21-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 044ad820a1e9d80c967040febcd16c26844634acce5050c0f4ee81b03be52ac7
MD5 6b76b98b3af441dc2be48bd484c012a1
BLAKE2b-256 26eeebe019324c6acfbd8ba1b721429dd31880ff6008c6b29e32f320814c6f3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev21-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3f4f294020de1504ce95a79605c2533bc5cefa69172f548ed5c5d49379e1ad9d
MD5 318769dd7db18bb61e7b7dd41f152738
BLAKE2b-256 6eff6d06067b97a4620f541deceaeb728189614ce94e054eaf4ebe37e4ce5012

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev21-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 6fa664a0b563e01fee62413743588a1e372f67b0fd0912d9f8ad0a70e02531d7
MD5 f65cfbe9feabeea92ebbd5927233f251
BLAKE2b-256 f0214af7cd5242f33a4e6586b47a423ecfc30a15edbafa8841cafed16f85668a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev21-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2fce12b7c522b37bd8780496d6732c3cc02418b2ea1e975b5a08cc82f3106027
MD5 f0860d1c67bc9fe54d136d2db3782f0f
BLAKE2b-256 570b2eb206f0afb55ddd6dfa5740688ea9976eea9d70e4f058386e68d134fe05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev21-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ebbc4c02bf01000e7ff59c07a7c88a1992f9b53393b369367355b461d697ba80
MD5 6f44b63f75d939423e4615a42a4a9699
BLAKE2b-256 abee85919b612f3a4f0a4a3868471aab4d9aaae7e7c3453ff2f2626d62d216f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev21-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b51102aac883b215cd0a82cf856d7721589f8849fc2fda7e2535cf0182c14ca3
MD5 18c8ecd52450331419cc8dd06741824a
BLAKE2b-256 f8892de5ebc281f6f47a10d5a6fca3a638e5e0a7910ebf4de64b8aac32c30d92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev21-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f904654e0eb75e6544b1004d8d55e3a0a9c0baa34f14bce9d1887b86980977a9
MD5 f0b6bb4937e6d71f79af3cc9696d7c98
BLAKE2b-256 63d4836ecdcfd4d6b68de6beddb71283ea44f44d4fab92e917adbb4f5448c435

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev21-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 34b1eeb5fd515ba0316a8edf73f6ca8a2798eea1129d5ccb67b027deeccc1baa
MD5 4e0cb1ab905ed1d14b98227f6f7bfe30
BLAKE2b-256 f221aa27cec5ddb1f5feba29455d55fead9f6b3308f7b5db9174773f547ea00c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev21-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c0bc4db9a07b5653f4a46f0ebe60003caf733ba3e7b208ef9a1f1645a6b0b8c7
MD5 1143691523a017cd8bb3e3923a98772e
BLAKE2b-256 bcda8297fa1f6669ecc87eb8d77f6f822fad521d1bfb8df8a135757cfa1d1df4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev21-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f1da41be6222df9f950bed2706f2232c9a555f8b4bbf733ffc30489b09e234e
MD5 610b63c4bd44d25c47d9f0c69f417a6b
BLAKE2b-256 7f806fa3fa9e110223f67628e43b6d7dfee5b0cef481660a972ee8fbe50e655c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev21-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 c577bc30a5fec5d6985f7516cffba16f3dccd051be608924ef1aeefb0b5cd22c
MD5 757da4ed95afd61f6478a5970d3f14c9
BLAKE2b-256 0696e27c1dc02fcb89257e8a0ad66506ea96872a82835cace32c0f8336897507

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev21-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 196342135e7b0a018b70cd473c957563aa3e77cd33a69b1fc73027724fe7120e
MD5 84029ac76693cf6f6ceec0463509a862
BLAKE2b-256 8248dcc14450446166f8a3946da174bb4eb7446d33c455db9046f55c6011775d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev21-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 295e005e6c393c91f023f2cee8d8f11fa0c73e7e3772c891f8b049d59f2cabcb
MD5 99c486163f9d30e554bf67ffb3c6103f
BLAKE2b-256 185c6bdfbe2154ca4602bbf66ba228e182947bd54d90b61a720da1e04b4b8e6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 057206c5673fb260985631056b4add693487c66d05b96986313a00a8f69ea9ec
MD5 1769a66a7bcc579e395c5f82a654b80e
BLAKE2b-256 eefba9d2cb587858eebef41d6db9e168b32e3d197caf08624c842e25ed120a2e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev21-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 74bc7b4c470d4c3cdfe7cbcc3d6a9e50fe1579e36ef6d654e70a0e9f607746a7
MD5 3b593ba4f6a87f13615e31ed678c1bc9
BLAKE2b-256 97db6f3aeb253b317a28f0c30656031396b6385180961bac06527dadea3fc12b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev21-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 f888c6068c763814baa0b9d2d6b8a7644bb328d5cc8ec123f444f26a273c61f3
MD5 481b1634122d1f7bade2f2f666f9cc19
BLAKE2b-256 691919f3b8a5fe90cb5a682eae7cb3bc42f847658b008b7b23e9438895c59cbd

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