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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.13 Windows x86-64

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

File metadata

  • Download URL: sora_sdk-2024.4.0.dev35.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.dev35.tar.gz
Algorithm Hash digest
SHA256 587ce4db63c67065e5688937c7c6ab1be92eec434e3446361b0d162618bd463d
MD5 db6ed0b6e912555dae6313c461a37432
BLAKE2b-256 cd4bc8ba33ba6d8c49e777f96ae574d439a9d8ae185205ee6ceaf34eb1d2518d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev35-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6282e8994ed02e1e536bcb5e072eaf8a10ba2d61bab8caff563336b4f9834f83
MD5 60fd0a450ca7b8306a9c55811def1d4a
BLAKE2b-256 cb9eb3c5ff1871cfa8105b8f3603ad107adb66f26e4ed7937442efbbdb9eeb14

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev35-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dda0ef0bf0f031ca3b4a739455c9b6b188e432dd92b31d6be258f628083b7b45
MD5 4dc4aec505c97eebe48c293a922046b4
BLAKE2b-256 628cd6796e00609dd50bffb53fac6a80d9847fff46874b95b38f9858ed57c6d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev35-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f8ce770f248d9d9457cab1ad540fe80f05823627577e413adbe3d23dffb0dc8f
MD5 5f5a151fcc9836e66e268a2170c51002
BLAKE2b-256 46bf0c0fc75885dc636b814471e5b7f6023af4a4d7a7e830b714ee879d2d92fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev35-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 612ad7e6217c9bb361b14045381f37764b267cb6f1d384b57f939a195e9e441b
MD5 78d7810eb888db41f8969f2d8d0a5517
BLAKE2b-256 9965a7931e9cdaa9f90133c6ee704fceaaf3f7af0bb1c0d2cb8fac2959420a42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev35-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 11aa9f5b52526db721814e2a06faedf4ceafe7aa741b317a9ef1dc5844f0d4d4
MD5 24d1b2a2eee459566884e3a6009fa549
BLAKE2b-256 8221869a2b5ca90fff296be42cbef87659fcdbd449668b64bf742594d4273945

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev35-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6a5d0faa1e116418441c8de4bc1b9572cece741995ca63977626c2d949baed73
MD5 8d10f9ab7c93e2df5c8c3c64f1d8fa09
BLAKE2b-256 0e198baaba1252d893686a6aa96590d18ed66d18162a1b062646c27940efc76e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev35-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 10aad15692c6551a8563657ad34bcaa378d00cc4b42b0c5aa5cf6d0874bf8ad9
MD5 97d93904e8342565915c2f9910ad6ac6
BLAKE2b-256 29d5e668acfd93193313641cef856491554f2cfb3e3fc4656acf094c4c9bb2b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev35-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 84d6b56597a089539b6f83172a4be56574d60d5c218ca7a7f3dda54121cbb227
MD5 bc28b1a291bb84712c4199f85f1dcaf9
BLAKE2b-256 b8d52ce693069ac1151ad94c987a22f545c7e6e79e65d2d1176531fe7c02b488

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev35-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 1cd7152f253872fb1e317263d04613db7b7d272d0ab2bde4545bf1b346600d2d
MD5 dc5b783fcea9965733d2297b2a0edc75
BLAKE2b-256 0743bc3fc50d8c118f28bf1d89896f60cc28f953ed32f999cc9256c4060b63e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev35-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6d5daaf02c725176be85b3539a38056aab71f053e5291f029b688ce8f66ce487
MD5 a150d83795b1b4635a62922e7d59468b
BLAKE2b-256 3042b9f99c509533e102b8023861a33332a9accec9ae1bd8fa6c97a433ebfe02

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev35-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 840a2c4fbdfe0768dfb57d1f784baaa018a0e75b4d597b7ce9d1dd7f0e66d2fc
MD5 9e5051513e88b6f788dad7bc9d7110c5
BLAKE2b-256 0e2f7944f3e92d31e3715534c16ed0a0c576c467a359841d10c0489be1aff499

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev35-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 df0974deea523f8a2bcd1865bf82d838435e020ab3a28153f94a341b0fbeb45b
MD5 3d07566fe3fab4e65108f6ccd031a545
BLAKE2b-256 961ebdd8adab0d0db358dc1261cafadc2edf547f4f63522d3fbe8f44de59133a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev35-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 083bde09daeff142e972c28e07b06fdb68234ad622bd96a6a8422f3bdc3dee74
MD5 91f49a85e6f65da0501ba1649d2d80fa
BLAKE2b-256 3b30485a503e6d755ae28ae6a90b181e70526853be9da614b5c5b47c9ace6bfc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev35-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1243aa1900d8e1051efe408683e5b5aeaeb3d4a96d51dec8f0ee36b5d2d2ab44
MD5 91cb4aa4b8812331f7b5a658e6cc35cf
BLAKE2b-256 a5fb81e9afa9333f02a3bd6b50cab483f772589cab8e8a6a305e6170f33c661d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev35-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9aaf3713745894dfd5645ed8d6dd6b7548677bed292f7c464763dca9de68bf0b
MD5 31fd9b810060114b27db698b903d6a91
BLAKE2b-256 8af062cc4bec711676ebd0e2f2be6318e1681c42a2ab20862990583a4709b79a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev35-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f6df8f3f2527e5abafb546afe7274f07640ed979a7550163de29ae24f2528fa5
MD5 64cc26988c2a2ffe48cd1caa5a055821
BLAKE2b-256 2786dbc313cabeea6376c4ef59e2709e322dd8e6a987336ae0f02ff66cf4bb3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev35-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 3220783a3bfcba2a7d7b800ab5aa625e918a8130124349871934dcf9d3d590b2
MD5 6f1d13298ee90db01c2b22c5cfa450b3
BLAKE2b-256 7a90cedd305dbcf9d157ee951c68efd3a5bf294ae32b896f3e33d856d6a0c177

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