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 統計情報の取得が可能
  • 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

サンプル集

examples を参照してください。

sora_sdk パッケージの追加

pip

pip install sora_sdk

uv

uv

uv add sora_sdk
uv sync

NVIDIA Jetson 向けパッケージ

PyPI 経由ではインストールできません。 パッケージバイナリを配布しておりますので、そちらをご利用ください。

システム条件

  • WebRTC SFU Sora 2023.2.0 以降
  • Python 3.10 以上

対応プラットフォーム

  • Windows 11 x86_64
  • Windows Server 2022 x86_64
  • macOS Ventura 14 arm64
  • macOS Sonoma 13 arm64
  • Ubuntu 24.04 LTS x86_64
  • Ubuntu 22.04 LTS x86_64
  • Ubuntu 22.04 LTS arm64 (NVIDIA Jetson JetPack SDK 6)
    • PyPI からではなくパッケージファイルを利用してください

優先実装

優先実装とは Sora のライセンスを契約頂いているお客様向けに Sora Python SDK の実装予定機能を有償にて前倒しで実装することです。

詳細は Discord やメールなどでお気軽にお問い合わせください

優先実装が可能な機能一覧

詳細は 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.

このリポジトリに含まれる shiguremaru.png ファイルのライセンスは CC BY-NC-ND 4.0 です。

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

Uploaded Source

Built Distributions

sora_sdk-2024.4.0.dev1-cp312-cp312-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

File metadata

  • Download URL: sora_sdk-2024.4.0.dev1.tar.gz
  • Upload date:
  • Size: 6.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for sora_sdk-2024.4.0.dev1.tar.gz
Algorithm Hash digest
SHA256 126703a79efcc78d46002901174e96560c3c547614052c34654ec2de670a827f
MD5 aaeea17f5429a95219c554db163429f2
BLAKE2b-256 875ab1dcdc01e4a0a9c0db6286ea9f5dfc883580aaa0735329d6ecff7c1f170b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f5926c2b6077262e1ce5a8c18955ec0bc2fdfb510197047091f6e1425dd7b57e
MD5 284fc61c95e47c84121a83c22413dcec
BLAKE2b-256 f611ab0a20f32f17631d629cfdf4fc64f6ef9b9261c430f2c5cfcd2ca4bb0402

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 343a72929ce6981f3d3c27c22d60120bfddcad0e85a83ac9c4d5e8b25fd4f949
MD5 7cef95bf6868e16b2a8d3436bfa4e677
BLAKE2b-256 df17ef457dc23a60d4dd637cb15d6c98a3e72036d42d6267231b87bd4eb80499

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev1-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 eaeeb1d72575c6fe35913209df25a6bc27bfdd85425de84c8876e6c0f35079f1
MD5 5f5dc26e53565f8b191148ec549d64f8
BLAKE2b-256 ee34e89a461e91cb85be44b59eb43896a734763622714f1f4ea0263c82cd01f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev1-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 6d9f8b30413e0faac1e0b308cb09dab42dcefbda0d87f9e170a7afe9394c3443
MD5 198712bb536294e3ffe59d103cbf44e6
BLAKE2b-256 6a61e41e0bafd2c31f021bbbe83e36db9dd9dc9cd9348bbe5b16ea2f596ce861

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 98ea3aeda2652e3b1a7dbc0c6038879ec5ac2f5997091816366a434dfd8c6479
MD5 76e5e2ba4482e8e537631c11e6722103
BLAKE2b-256 2e9f639d78d4a1f23ec3cbaa6bcbbe450c9584f7140719f541a4888982a99843

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1bf684ff4cce92fac717c04c7623071443183b332dd99672f58af2e1bbaa5174
MD5 9ae8e508c1fe6e2f22c5f38799f64018
BLAKE2b-256 59f0652b90d52fd66b5ca42bcd66f0194794d3f9eea7534564216ed43b34fea4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev1-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 44c0e8b920c198d69d0c278d626fe98f9ba15dabc77934c6e4ce1b274b21f901
MD5 57e3fa142da79b73a99119dbfbf9e663
BLAKE2b-256 dc856269a49ea060b92a0227a65a9044ef267c2df104c1dc33d045b6656bfcf9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev1-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 5044302f52174d8aa6efb3ad70d913cdcaaa2ec522de623c65bb484f776f6625
MD5 5e2236e9bc6c9a256b10016db7dea0f7
BLAKE2b-256 aef2709aa52b439ec776471fcf71b0d7bd5f19fbcfafa8b9ba7bdf35ac5d5acb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ae3876a7f13b986c1539f1fe411ee2d77536641fb29c09508e95268eb0017388
MD5 0ac026f21013875fec1ba598db870fbd
BLAKE2b-256 114140b23498aa8386808c1b43632618b932f9517a6a212c55905d671c2d1929

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 48839a36e4bd07e7b8d9bc4d433df949b46f92bbfa1057c72fe29314af208d5f
MD5 d0f2f7a01422ffc89c678c1934fa8448
BLAKE2b-256 0dee137172b8df1a8a4c66336e69bfd20720ad028a365377fd1077aa006dd3d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev1-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 91de7e4648913b4d1e498d1c201d8bd98dd39c52e7a9732fadf073c0cbd50995
MD5 515c33a40b297a7acbc054991708d9c8
BLAKE2b-256 5abefd0b6b693b21f76df01c16df6ea7b3e0af6440d6a1b3c6f5cb016389ee68

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev1-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 f8de4051d9dfa1d07d9b846b2cf10affbc20452e132c3fef36e3d6e333819745
MD5 f5088d21e19b16b9362a972237265b83
BLAKE2b-256 b225fe6c7b8fe1cc8e7c83aff8e572fbf987ce098810a66de30f953fb5d1ca83

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