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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.13 Windows x86-64

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

File metadata

  • Download URL: sora_sdk-2024.4.0.dev32.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.dev32.tar.gz
Algorithm Hash digest
SHA256 fca4bb1ba73dc4f0d54fe0a10409742b735c24697a90176b518c1bb770780605
MD5 17462b0ff485e42c90669129321af6d4
BLAKE2b-256 90134220e11519b8b9198c1d135f1a2c8cbc78d2f20cfc7629e3e213e8c89a4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev32-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 32325b091965999e2b0f89732c4d0ebfc308d9af032385f62fd7c4c2bd69194a
MD5 d358ad97ea3896919fd51bd05b9aab26
BLAKE2b-256 53549242bebcdf85947d0cb59935f0d873aca8b3e3df52e08f5c2faf80c0edc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev32-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 41572e134e4c4f7b31b591405137999da3fc5ed5c6c143700d1bd281694e1db3
MD5 5797b81d004f1745304c088fb1b6fce1
BLAKE2b-256 13738f77e5048c5372bd6f964bfd4432ec3896f09e8848d345af15b8089fa942

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev32-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2fed4ebe0c87288ebc09d938894ccfe6ce96678c1d8b52af38c2c3c46a169781
MD5 f8388a61b7a0ab1ddb110dfe7ac10d89
BLAKE2b-256 4b69491b89ca9092ffde45f7ac5ff3e8bc667e9674256b40a0a0f925ae209133

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev32-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 41397bab6ecc4e6d32e5fc11e70fc2632dfc7691626a6c1380958ed44e1787f3
MD5 d41c4963236066ff079e45375d58db0d
BLAKE2b-256 6dd98e183192afc79e82b8c5b38d550cad4c5b3aabac0152cffaf8c6bd6be505

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev32-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b9d04cbf02e05df51fdc9494b398361fb85bb6162b21d9188eb1e4918591ce46
MD5 cbffd92bfc44961b78bd64fba37a2f35
BLAKE2b-256 c9ab4a0599461585201288cbb5ca3d29ed84195e5b961205f485142563c3ed9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev32-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5eb701c756f15c8a69a2659735beba95d40dd9e6f856aa0a78d9de892af3c0a2
MD5 8b68c74fe0db2bc63117184207d6158a
BLAKE2b-256 a1da9920b57572c5bfdc94a2aa3d156d522fd4d43ec8d16c1489a468fb1018f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev32-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e23ffa99e271d1efeb5c681cac1f1812fb1942b7f704c47b1b1f792425332ed2
MD5 e35c8070104d3e6092210f270c3ac5e1
BLAKE2b-256 7e69e67150cf8c0c64663e7721a329ebd077a645056bf3d9d52d04266f9b183d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev32-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1322bf6d41e439982d3439fdcfea3459d72cdf87dbc4c2e9feb40259b71dfa35
MD5 35f6038705e1336a8573e27bfec81754
BLAKE2b-256 f892502b0ab52402adeb351208ebfac652317653ff2e6048f0f52b817d2459a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev32-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 e8df68a4cbf7dbda8ae729f8ebec93fd2862331103addd0a7c7f519d4d4d6cf5
MD5 750415ba9a3b6747493eee793cabf71f
BLAKE2b-256 8f989d6b2072f6bbe603323ee5da24a6e42242214cbbcd0ef9e4d1afdbe50f32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev32-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a4473fe598272258afae2b592f8384d94b32af6b4f4259bc8ad80e50bcc1da15
MD5 159986ede451732635ef9970243735f7
BLAKE2b-256 aa2d0e77c2f2099b8cf440294d8d55965f97f188cd1244db6c0413c159040a8b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev32-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 88e892be8f50cd3647a0c5cc3c64f4658bb9554d719e8ee5eaa7f78415a00d3e
MD5 e9b70bf593617b9f526f80f20e2277a4
BLAKE2b-256 d951addd2ba948eed67d7095c2b0b561d44b5a4d32a0e849a19c8d6cb7b5659b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev32-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 79b06f465b010218238060bbc8ec5e2b000ff71b48c72b4ffe6b326a9d3ae9bc
MD5 454ecef227bb89324ab0d67746dd693b
BLAKE2b-256 d4793efb4df3b1396a107575047b8fb29c5400cd3d468a924e77405e69bab8c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev32-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 76fcbf3854f1cb6b86f0c2c84e5ea49d8125e887e2dbd3f1a9b58942a1af6d8c
MD5 4c2e9f4ebd1e2551de0ecb779364d031
BLAKE2b-256 e9f6e25e5eeacac9156e406782b7af304b061eb08113e424d6c64c110b8a232c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev32-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8f858556fea1764ba7d49683942bfd2d5eb90642a0caa67313f502aebc0bebda
MD5 cf229c148bde51e72964367b7e735db9
BLAKE2b-256 c38eb028307e7fe8df7d3ee7ccaa971743e08d4a32951a1ef9a81028813c8d0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev32-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 83c78729c5870c46a0e43182344b0f9394ce47863ae77798a85aca2b171e4d06
MD5 9404bdcb01afd41d0de72679c63619a1
BLAKE2b-256 0de70d6c70fe6aaf7294cf251b623fa0f3efa9a25e69438844e7616acd5aaecd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev32-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a943981b9a75b7a78bf6a08fbad7ba35b792f7fc37096e3f791cce851b9d7f48
MD5 d498e22bd557c309ba90f6e9a58bb7f3
BLAKE2b-256 dc7f332dcdb4755e7ff07334c33e4e0b31307a550f1d8f1646cd944918339a23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev32-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 62f1f90a9f31c075d84796195fc64ae7aae164ac96caa34512737b271f987806
MD5 57deca0bc6fcad2a5a29544539788557
BLAKE2b-256 6acf9e600f1a556e1189b91f79443cd2034ef2e28c533e58ce292897a70de0b4

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