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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.13 Windows x86-64

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

File metadata

  • Download URL: sora_sdk-2024.4.0.dev24.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.dev24.tar.gz
Algorithm Hash digest
SHA256 43bfad9ef9ad586c92d775699f2baac12674e00c356197760f9a511dadccbe02
MD5 2a28930bfdf62a1cfe126ed2a54f8bb5
BLAKE2b-256 8a580b93ddfab30b17371f1fcf0a7f92cb9ea3bc2b6dfe04ce5651ea6ec7c111

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev24-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e47acef7d79e73d85e16abdd0f37d768b6ae31e6dd456ce898d432964a2c2d3f
MD5 cd984138da4f6fdc4b61612df8289f0d
BLAKE2b-256 8d4b6fe646815957bfb5c5a242702d1f6d18fa46c19c7083cc842f966fa65cb3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev24-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 382dc78539b94bcfc621adbee452c85f3b836704e01c4eb4de528d175ec85897
MD5 b9130c4560e5cbc131ee7011aee4224b
BLAKE2b-256 06697bf21e117ad139d9158b48c8fe641152f3557ae58541a68fc4c8e6a6d913

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev24-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 57c0e2dae46a5eb8acb625086db8d8300c1080072fd1a1edec100c321d284d71
MD5 63020994080cc696e1fb3397339212ed
BLAKE2b-256 f7b56a8e654cc23a01fdc0066b819f80f0abf40de7415cf8f419b1affb58c0c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev24-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 3d8406a954f56057037573f34fb3c596a1bd9dfdd23870f1431eb0c5a11fab7f
MD5 8c56ef24120176a0dd3240e99378b2b5
BLAKE2b-256 c19947925355ca121a8ab75dd831387be04fd182e756c2f9c0009e41cf4f6bea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev24-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 023d531b365b5a5afc37cf3e4f0864d3ffe6b9f80f53828f4a63f06f1c53b1df
MD5 f164f39b43ecacc394f52cb930079fdb
BLAKE2b-256 4bc304fde237350c3cc68b8ac18cdad31fc348a766f904348f802307c09fb4b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev24-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3dd8272a233b9f269d487383d5f632c81523527205b4265b7b9ce99f226531b0
MD5 6b86946cb3121fcdb72dd797611695a3
BLAKE2b-256 075b33420cdf3da1ff44892dc34094e0b0eb28c786bcfb451527262c166d8ea9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev24-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 773be3621f5fb3c9261cc2910d98fe4233132afc74dbac1ef65133ef66c1d50e
MD5 67e972a8e1cefd97d9b2fd927f40da1a
BLAKE2b-256 c014c671469598f85254f0c29cb9d08e554225c6255b341c419f7caa47dab778

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev24-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 32f0af970ba04caf7393fda89c522772279df70d20f52364e53085c2b639ab2d
MD5 47cc33df38a5f26fc7fe673730763112
BLAKE2b-256 c3942b0dc94965873909d43e8e052c1358828c56e4ee1aee9d2b78c3deac7910

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev24-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 2ee14e0e886bae671fa786089edfc89ca25a73b85032f9ad06f872849b067b45
MD5 88857f9d8add15f3d887d0ba8b751160
BLAKE2b-256 00e5da16d265dcd0cad1b7903df07f92ab217bdf27287dbbf47b102fc2280636

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev24-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2116f37fea5ead9b8e075da96b04ae6f5cb2f55a6edde2b8024532fb3fa4be8b
MD5 ceff1dbad087fe8f3b664f00fe66331f
BLAKE2b-256 a11a85ff64aa856210311d3329360babc17e2de8140329db32e3f7a8266d1802

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev24-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6b7fec2c5b22cf4ecd71e75e4c39b124271882e2bb4e2f16acb49099efb4283d
MD5 a515df37441852475939077e7d4f4015
BLAKE2b-256 82e72316cd6bc501a5ad14fc595293c86be0107f66a22fe143995b683b8985d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev24-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 861ac8f4380544719ab2694ba2a8e8c24c78c50fda7fdbf17d59884515c85f00
MD5 077ec7188c3ac3ce618654cf4bd11881
BLAKE2b-256 b808bbba4f240cdeae0b74dcd030fd5694b0d0dcad49e232f1ec4dcf2d84cba7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev24-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 da10ecd62da0edb55e84272303803eec3a36a2175995ef9aec6c986195fdd415
MD5 bc08b3c1250a7e4dd0c99d93542573c8
BLAKE2b-256 632d0eb29b0948e45f88027b14cdaf694327db0b34d6f89b995a004bd5389b9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev24-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9f11f157a4b39fba3f01c5e2d134d478c340c6437141d24cf2a0c257875eafde
MD5 656d8d221444f483e5ac35bb9a6b6374
BLAKE2b-256 37fab7c44854529d0e238094433e678b44c764902232d71f1307c9ae7b23afd5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev24-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ffbb4e3b96c2909890c8510b6efe2b5d9159509b370052ec3bef92d1ae13c9b5
MD5 f6fba05c145f2723b5f563af73302b16
BLAKE2b-256 60717c6cd7bcca19deabbb0945152b838552b9448e4ee86ef413b6b8af8d6eab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev24-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1960b16a08a7e4011dfe6cb2c0118becb49fbb496d57f13fc0e8cc2cfd8dd9c5
MD5 55ca95f9efda4d5a3f5d8ebd4e384cf7
BLAKE2b-256 54cf84b2b080413403dfd4cb6a2d5227ca2ee8099a0c8d3a740879fb499f27e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev24-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 dc969e09aa7c41b587d37abab55228d42840e673485d7c9223def7ef0472898d
MD5 02ff8329fe0376477decae4504d8b3a0
BLAKE2b-256 723fd28ab72ec168787338efabb9ffd72717fe51b27ab916f04cc4f35401ccf7

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