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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.13 Windows x86-64

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

File metadata

  • Download URL: sora_sdk-2024.4.0.dev26.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.dev26.tar.gz
Algorithm Hash digest
SHA256 5250ca3aad411316c4474f65f0f638abacd81df223568d92c7a64637d6a248ed
MD5 e5b0fb20c0d484948bd65ca94e7348a0
BLAKE2b-256 40200fccf7f6c22a2fe68a9e3a8d3a04104ef70077ee061d7847629d4f76300d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev26-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a02517a6d47a278bf069f7a7a91d9692be5f5254441144dd8a4b3bb5e6ef96e0
MD5 34669fc4851522a085d89c51ae9dc357
BLAKE2b-256 a278704dc92b0e10baed13f8410a1eb25057f169b470d5e5c0e0412ab754121c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev26-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 abc10f17ac28ba0279e2d5742d8ac268862452a6d98c011e9d67cff24260c545
MD5 fd322382667b1a621c6b5062c11859dd
BLAKE2b-256 91294399d2a4e8c76b60b355d62f2a4db522b9c3c53a5e93d0309f249175feab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev26-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b120287c65a04da56aa39d5d55d6fdb0ef9dcf60d89b383baad565040f98560c
MD5 7908d00290e59658ef73988d0e0e2ea2
BLAKE2b-256 0f91a3699988370e50c04bc65cfcac6fdbe1e470d95c079bdc33ef7066efaead

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev26-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 7ed9f7dfa50fab7bc0b761b6b3f6e6cd0576ba2e484c1310f6b93aa2930c7f3e
MD5 3306b1d5f7586575fa8151ce0299d78d
BLAKE2b-256 420f83c689d7b483cfb8100a362548a940e250deb02a0ca3d231b8f75bd5f64f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev26-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 22926c4a7c66c512d29ec2524d708dc0cf2777b69088992fafc271dbcde13e42
MD5 3d5f4c9fb5035fd8916b1e2b4bab091c
BLAKE2b-256 ba9f2ec1df2e451b289fd745bcbeec3b8d30272106e0ad5f65f373b06923c696

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev26-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0e07871d3a4186d254f841548a52140f430fdd5e797db8530f7fc611297e1290
MD5 2aa54632b2927867a75600576fd43539
BLAKE2b-256 9d1e34b599a2acbd308c6152a29b320d8516cf96190ba1754a0713ca5283a043

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev26-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 07e2e43bfeab461952bf703b513e2fb7ee7e13064eb80179d0b9af880aa050cb
MD5 6b32465129da4c987b6c87e7a8735cbe
BLAKE2b-256 a3e1fabb97b386e6f305c94ebbb56a1dcf5001e7f2fbd3a692d0525136d4e9b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev26-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 cc50fb0229f413b7e680aade9466c8a807401445e3f6f7884a8d2689026b54fd
MD5 18ff7f29174787843ff1f9e8997b5670
BLAKE2b-256 cbe9913901f6c0dee30ffba62b1dca00ff81fa5477bb7accbe07f7827c012840

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev26-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 21f0c81eec096ae0ad6e4802caff92ab5b4a646c4f8ae9c45822302f7f70f16c
MD5 e678870064aa390e1b1118c8753cc1a7
BLAKE2b-256 ba27b101e026dd4d6e9df4eaeed73aa10b3a33a1117e42c6f2f17977e9d38ab1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev26-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f9901a66d86598bb5627432b3b330048fe05ef1dc0b32b14340955c933e55ca5
MD5 417b3405d0f57a8726b1c5ab29505429
BLAKE2b-256 168fc86bc25953e66b8f876a4bbe9a7752e258022ddd3246517b4fa18a20f434

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev26-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 09b596ae40b4f7607c7c7f4a3545bc77ea9a0366ec453ad5376cc095aa647eb8
MD5 74f5cc6cea1e7d196aa52a6d84c7c02a
BLAKE2b-256 1bd43040471be9eae6d58bb86022ba388ea4058fdc441dbf284b7e2334c34385

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev26-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 20ce9992bbd9e3af84e759aace1ee91aa58fe74c3fa6dad7218dca5e5e0c9f3f
MD5 b80d471fe4dc101961786d4ff72a76b8
BLAKE2b-256 55e123543ba2c6de52a27619c7f2d4bf68c960b0fe929802ed5d5dd122bc81ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev26-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 605d6b973735018dacd4b11a41ea2cbb5d475d255dce09b781f2ff7d579b320e
MD5 2480164a4b24437a93b800254ca4dc9f
BLAKE2b-256 24dc47b6333f93ed5cec80156f2d4ea54cbb4aa96803b64877dde02b0b7f977e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev26-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6f9fa1bd9407bd1268d147744347dc5f415bf9a992e9491da84d695afeffa43a
MD5 e827e53ec9ea1fd4525b067619f59ddf
BLAKE2b-256 b6cfa8058e81ba055363ed86b15339b581edffbda39b579e9c45f2a356d43fca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev26-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 94d3aa5f2304edb68ee31971fff110a6e10e50977b61d15f4b397cbc2da5c744
MD5 7a369e5477d186f804b74ea09db1c3d5
BLAKE2b-256 d5948ae1007da9f7f289a6d64a44cd56cde137bb2d8fa025e4f11334124e877f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev26-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 375b52fa73da3ed3f65b81ffb539643d30b62feb743ededbc2ace6ea2837f16b
MD5 80df5c31955916e3beea5220369ef361
BLAKE2b-256 0a1318500f7051e595df77ac1f296124b2c7b898720677723be300da89e375f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev26-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 4c7d1127f6cc78aabd368f8ff39041e79e06991333f494f817b8692e71a872ee
MD5 3a0449bc199fbd8bf698e84521e1838a
BLAKE2b-256 ca248a9892d995c9f818b5b80966cbddb003f6cae0c1e0f9f553f036d8a1d194

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