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

shiguredo/sora-python-sdk-examples

sora_sdk パッケージの追加

uv

uv

uv add sora_sdk
uv sync

pip

pip install sora_sdk

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.

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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 Windows x86-64

sora_sdk-2024.4.0.dev7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

File metadata

  • Download URL: sora_sdk-2024.4.0.dev7.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.dev7.tar.gz
Algorithm Hash digest
SHA256 d495e9e96d78c47ed75c9e105c249cb59ff4564e1a974bf0099b77d1780a1627
MD5 9d069f4ff04e5caf32a989767bc11c14
BLAKE2b-256 0842e5a3ba936034b6c71890785449b105f7bc9e4653738fc8a12f493685e53e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c647ac490fe1e01f0cf2f53fd5a296d306d8002bf5d55bdcffeb42c42f61e1e0
MD5 9bbd82d32e94b19af7baa5acf2610143
BLAKE2b-256 ad749c7a3bd0b5fc63a4c08e1c96b15e1c5606b39badd237b7162a3b4bb83381

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 348eb03727dfc3b17f0dbbb75168cead5c37baae1fca68ce14256d400a8f0219
MD5 0e0346e6df7ce978164839a792923605
BLAKE2b-256 feca1a26acc4f382837be1511a7d5112955d3a26d2fc0a1b6c0d3464ad691794

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev7-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0b183172c1202b920d9ac05f9f2d1f58626d81c7b746a2d66ce578949ad39fbb
MD5 f2daeaa1ff03d52584140db148a2ac10
BLAKE2b-256 ff2e1a844b6174c06f2e6309d92bc61782e340d97b19fc5ae80f9faf385bb67d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev7-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 93329248213cfd5cf12c512127255b5f7ca03b335325010175a1c40a47b43bd2
MD5 5dcdb10dbe4eec94d10133b8a78cdf15
BLAKE2b-256 3bc59aa9e90410177d666977010e2801b1df70665871a97626ee0ea2e470c950

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f793de32a3fb5283a999d18695a24876b1d7e300353fd8b3ae259eec8b9c6082
MD5 db771c0e8bae3aeca1a7fd05be51ab93
BLAKE2b-256 3c07e9c5c3bfcd6c6cb0aea3f7f7d603d87520fbfcb4ae35a58e7002649e179e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e0965af1a6d2c43753a5e2e8b395b86dfd65da82bc3bf645dcd1de332b90cee7
MD5 3b169c0ec8fea87cd8d5dd1da459e754
BLAKE2b-256 8ffa66f67a260e0dd93fa9d8ecb4bee3b4fa9de69ea4421a037614fba01cf143

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev7-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5a2b6227787f5c5826fd7208c61cbef223639c593ee3a7ebbf1b8cff78bc2d68
MD5 7d8f2410d224c97bc6b293d90827fe22
BLAKE2b-256 595369557eae8ec9e6b70612bcaba53ae7515fa7cd1e2e044caab45b2db71575

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev7-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 bcdebab614bc9d8b7bea9aeee8bfcf39e2bec33e31dab944820b9215a4892483
MD5 e6ce9256e04291d4f958bff54e5f0cea
BLAKE2b-256 f4480ab73ac087769eaf68bed39661ba63ea2d2c3bf060f8430a3063130948a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6a077f6dcacdc2b1e43e0645b0a3b0fc22e64f9d97be0681bad51ba5f93ae4c2
MD5 332ecc26ce37575e810ecee18bbd836d
BLAKE2b-256 e0b77844753555656dbab4b1708517bbfd8e5fe5832f1e4d5d64ecbd54132c98

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f6a625370ac68a98515070e4d936c004682776d26d84a4ff2837c23af2067264
MD5 4c7eb20420f5385935dc7c3eae609b4c
BLAKE2b-256 55e9d30a560b1eee8e0e318c621995c941f8e2656086c255c44607b56b300794

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev7-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b8f3ce5b761fcd43d098a145cb768c5583a1d8dcba5ca2d397920554b28e2254
MD5 b64b2989e847670219c9e1d7851064df
BLAKE2b-256 00816aee8e97d97b17b8bbeef264daf7f84330e337e6d1c1b5b3439678065440

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev7-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 55b831db30217a21b65292874e7cc9065c751cc1b3608c7bef9f691bdb25879e
MD5 9dc4fb11962aa43af310ec1d2b6a0559
BLAKE2b-256 e017286a2daeed703f281bb253435a42d4aadeebac58d2150afa19b17a5a294f

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