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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.13 Windows x86-64

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

File metadata

  • Download URL: sora_sdk-2024.4.0.dev31.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.dev31.tar.gz
Algorithm Hash digest
SHA256 23848b3b5f4fce0b7e7e613b65c6d7db6459ec2c0a30675e632e6dfbf560df23
MD5 73851aa2e2d6356bbcd6c9d00e9a7da7
BLAKE2b-256 848deaf9077de269ff4ea7d1e34a63370fe2ec2e3d2a4eff40eef9f0206795be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev31-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 051783e4814c3a9f5720dd88b619d83e7d2cff4a1fe8db51c2094228cfdf3eec
MD5 f6216bf558e7b7a634b8b8d0cf9cb245
BLAKE2b-256 f325d72f8ce9e10fe50547ca4fc0bac8ef2173c3f847cc37bf4861204cc6d5c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev31-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bbd397d44a9510a54db273c09fdbf17cdf2660513805ec0ba420785c6ca29b2b
MD5 6e73806467db8fc1a40222e40eb2e1c0
BLAKE2b-256 032e4237b8c8fabae3531c9d78a0172124b0d468e8f989b96706a5fdb99215e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev31-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3462f9fd774eaea2fa3b533f1b54fa3e62212b7fe5b58abe07e244ed4e6d751b
MD5 27059e6b4045692e821bf02f59d30db0
BLAKE2b-256 0d5d856ddab399455621e6cde3516bc48d393c8e12ad39b1f2c2b967a03ea75e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev31-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 985ba184a9265ff3eceac0b26dd91baf6abd6075fe08c9ba65f652bbbe6677b0
MD5 a5f15d6221d1d6ea0dbd9a033b462c93
BLAKE2b-256 f96089cbc2598ded89c3eb79878d1269abb2e83e6c144babdded2a25c8ca269f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev31-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5b6431618174b4c364e5250014273d391bad905faa59e6119860b00acc8ca68e
MD5 ed343c76f44d90e373b33e879f918d04
BLAKE2b-256 417be41314d0c154a974b3026265fa6989792a678d8a22e009ddfa33b68a9e56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev31-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5c0440f1d7ba1c489877dce59f1346cc3ec1b8be080691144ee5655ca160c511
MD5 194551e459c3c2c00a09f2b19841c705
BLAKE2b-256 32d01b92f5d4639cd264905471bf510af9a2119ade8697fcaf72d9a25a0240bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev31-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 14c79cd5ad18f59ba715f8204df6b668534e18d776342e4e59c5e054ecf1ae0c
MD5 bcf2229fc1bbd54b3bd6f27a66d03fd7
BLAKE2b-256 3b6bea8f88a1e6a65b4bbcdd7cc2f88e4dcf1700461e18d7f5764b7702431184

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev31-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0439491bc87c9cb1c21307c508b1a979bbbaf8ac9e2ef1f8f4d9606181600b44
MD5 6d767f6508b059339a89d763a0d89d70
BLAKE2b-256 5d1a13fa9fcff57726c0f87abb6cab2e7de0edd243c1b4aae28566df60327a11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev31-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 b893826659c34dfa0d87de07c56a01b43e3463aabf62df1d90725bc3f01ad9ce
MD5 8aad826d005610641524e53e4318be14
BLAKE2b-256 346d6f1cab1c84ddf717de43a8ddb7e694eddcf3f27a3128fba7eb5004c36873

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev31-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f57ee4bec13fd9dfd52310e80c8f0faeda8283c4d64de1537d650de96c5e2d7c
MD5 b2d3dbda65a1a522cfd50327588217dd
BLAKE2b-256 98356cbc0a09a80586703bd9d5d7b537f1d9e6cefb54fceb29a6d94ee16ff138

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev31-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c5d1fb0ab1749ecb23fb548561ce98e361d7bca1223cf30b64fa89cef29457bc
MD5 43bcd92be627400ae86b0cf5e869aeeb
BLAKE2b-256 8d23a1956f6e586a9353c366688025689e0f09607d3bfc4a50f8750ed38389ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev31-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b4cd2bb862c88602e6ef6c0e908168c355fbb2a406f61e99dec51b9bcd6db8f7
MD5 a7744c93eb46fc492c3fabfea9255bd8
BLAKE2b-256 144d5e1755b8f0e0e72225dc45ad7de062242c78647f7294d1dff9c9403f53f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev31-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 668db9d3ebcd1c77a349ad939a88a2012f5b2fb237742c8277d45abec449756a
MD5 c53b45d3ace575373407b97c1e28da59
BLAKE2b-256 d64498b653e8dc8c2ff7d44d1b6c0a39a87db053d41d090b6582bff9faedf9fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev31-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 87d18db066eb976fbf2041841d728cd544e2cc093e2f9395e9499c66933d4e8c
MD5 71b2108d8a5aa709c788e277c35c66f2
BLAKE2b-256 31f69d965f2acd12515be45591d5f7701286eaba09f7df60cccb82f385a5877a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev31-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 44183e5ccc86dcae0c48e6a6c4eb108e87b7f49b174a9479f7fb750b9b109eb0
MD5 fe2f3270406307024890e129c4b6d4ec
BLAKE2b-256 8b2bf1cf5413d3401a0be8e31a8bc5cbb98ae2f9851dbf8ceea793e4446b3219

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev31-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 96983dfc2e2bbf0309f1f65db6298b43bbba3090b16a5237080678228c26dccd
MD5 8a66b8563e2d1a77bef345b2691e1be1
BLAKE2b-256 73eefe8b107d756b7a68468eb48f90de820a756b1b6822484de43db1d32c3613

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev31-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 ba4945119e1b16943458480be8fbcb7c2834d7f88ffdf4ce067084d75417eaf1
MD5 1d0f6006e85bb0964ee53d98ee9bfc0e
BLAKE2b-256 7007acd110dda73bd5d8699e79a9748fd95379ad3090a2ba19568fdff6106f62

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