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 Sonoma 14 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
  • macOS Ventura 13 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.dev20.tar.gz (6.6 MB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.13 Windows x86-64

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

sora_sdk-2024.4.0.dev20-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.dev20-cp310-cp310-macosx_14_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.10 macOS 14.0+ ARM64

File details

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

File metadata

  • Download URL: sora_sdk-2024.4.0.dev20.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.dev20.tar.gz
Algorithm Hash digest
SHA256 499ccc8ba1e72d92d0da28db4baf7e51aa367e0aba2d86bbddff0f6f9d24ad8c
MD5 da69a1f6e87c638d2cede87b4d9fd260
BLAKE2b-256 cd84c044b08e3dfa7a13d8e9b5d5d682230b3d2321f7bf402067f274a56e3e19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev20-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ffabc2f0d16b1cce49b241c808eafa483938327c2adf20656ef60bf294e4c085
MD5 83a41bd2de205baab644dc9ae42ff193
BLAKE2b-256 e1699675f7cbc3711be3f118f4bf0fbbdaa993bca4289e0cedb039537e4cc406

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev20-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e14beb5119cb29e65507eef7c4eb8c549858d66b361a2274b47e5925dc9967e7
MD5 8860024be1919ed551856c486b2ce5ac
BLAKE2b-256 6f2eb3cf2d88ae1b5ed3e8bbeeaac2c6f3838a058628719572493ce0740bbe98

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev20-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 8be1f256220506b525c8c1d8daab2f6eacb01fa817e851254613914b6f1563f9
MD5 bf119b280fc527e9524dd6bd2857e228
BLAKE2b-256 83c410ac0899e1ccc8cba1e0130d1d60718bb98cf826b5a8ba5dbc9b6e61130e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev20-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e8aaf9904e0b14bf8aabc36eebe7a9c2904a19ee564ce6971797f34919e77064
MD5 20dca0ae31cbd442ddd0072ec5563f3c
BLAKE2b-256 a9961588b2f4864e4a4afa0f5783237b05e4b58c8d97855f64ab2b6757abfe43

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev20-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5fc64041070f107a232fa343ca8b2924d9b61f422759d6ca07b3f2a1bbff5a93
MD5 985c22b12c6e3ad3cfd0c95b232029f7
BLAKE2b-256 45cca5be73015434424f31969053dc59d8d351547205c59406ce72e5cbaf10bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev20-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6e8ec221d0f21fa18da727232777033c8b45ce0c6ad82a1d293fedd684084331
MD5 13e53a2114014a3ea559e501c3e0f895
BLAKE2b-256 375600bcf781aba3e0459acbf1ee1f91159784aca505443acc132f2682e55cd1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev20-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 dfa1abb5ce5838073ad7aa935c43d4a540bb0aaf8a02063842f5865230dc7872
MD5 74305780b31ece6bdeeb72e3cd2bb6a6
BLAKE2b-256 6929055981389f9208b5ad7a5f90b124c3f598f90484ede84754c7c08aa06269

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev20-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8b8a5f5f6bde4d06e340f7c934b80c118760ac6b2cafa7ed387aedef6a9893f0
MD5 7ec312b0d8f865881f7f39360db0ac90
BLAKE2b-256 2cba1acddbe786958e777084532860977f7d07d7ffcccc0524d4c5f4f3b2f217

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev20-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 746c7b2abb7cdf3110faf9256e007369d87ef7f9d207b9ff9e6d74d66bc04545
MD5 73809d806eb8f7408862dd3126e976a3
BLAKE2b-256 e143e69158b7af4fdf236d3d0f4b439ce50a631b6c19b97d7a620384b8d46e06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev20-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4d9b51bcb09938c883012bdf460573991c84eb50be5e22383e3589de472af43b
MD5 0d89076eaf28e8f16ff9498da50a79d3
BLAKE2b-256 2282e3ea2fc535c157453142c9aab649ac824615e2f8fac5e8e54c2d8e80d89e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev20-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6baaa42a00ce8827bdcff4dac390777dc61a8d27deefd181ea7b8a4b55fdf2b5
MD5 9f244fb94e11d0f8c2fe64394727dee7
BLAKE2b-256 5d97245a360925338cf86d78070b2771a623140b9e5171fa842b4269249de48d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5e0039ee20704df7350a510e0db481193c4ec5b2dc2109c0ab768e700fa3cbe0
MD5 81d3e9e4b28647ae59a1f4b962ad1b4d
BLAKE2b-256 0d623b1ec74b2f84f7d2d7af8d6c995f7bb7c148fbcda5937782048145c6d8ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev20-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d347e6ababeb46bc7eb1068377cd4a5fe7e1de7433aa769764cbc5071574df90
MD5 c15f8464d375d23797e09030cda94cb9
BLAKE2b-256 c75e1e74f692b91761a3b70f2bad6009af4d8d19f8083cd93a8f1b119eaf4b0d

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