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 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 やメールなどでお気軽にお問い合わせください

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

詳細は 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.dev9.tar.gz (6.6 MB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

File metadata

  • Download URL: sora_sdk-2024.4.0.dev9.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.dev9.tar.gz
Algorithm Hash digest
SHA256 fda172a2e5c411af24acd8e6c11de5a17e7f0aab7709ff80c0353d0eff672343
MD5 c5f5cc8e75f011fe0aedab7d83c393c1
BLAKE2b-256 ade02285d248d27a3fb5f527b5ae339fe22eddc1c4d83e6093894bc0ad24a0cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c1ab3f5bb43628da09ddb9853d3ba689c51be5cc6ff0e96ef680e4cf31e0c669
MD5 0df53a6e382173b52c5ac5728357e696
BLAKE2b-256 c7ffb8774bc955301bed1ce7eeb4646be64629b0af93855df69029164a501e5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 12300e8415b1d56208ec914bb1f164cb5ae433e1bceda4d06011be15a8e70cbc
MD5 2b19e1e4cf35d47e0267c20ce56f6455
BLAKE2b-256 8c73afabd24420afe83d022c11e3b1c741c586ec75ee7c2d19a580c09d7c9896

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b922907748c693b7ab4f19d3a8305365fa4c51d6b5c9a7b3010a18aff813f476
MD5 575b2f5f2da204cc3df3388e7f468f46
BLAKE2b-256 a151c552277ef99c1693f75c061a5d678f71deb6f50a23bd94abaf08012c708e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev9-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 725b7944dcdf0135c8c16da02bea32821c19f4108e5a765224ae1140e95261fc
MD5 d09ea22015ff641a031da6853f475a58
BLAKE2b-256 ba38472d73511dc0d9e781e6c705540c1f286f63362b452214936ba1b5ae519d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev9-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 b060a9d93db88c15ec784bd37693b9c659c4a0c854285a8c174e565e885f6c01
MD5 5a242b1184caec6580aea47e86f27cb7
BLAKE2b-256 651c427dfe4318103a2b485c4446769e214ff2732c1ac36cf9a7e795f964c6d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 eb3f27ccb8ddc8af29c114f0a1b286d1674a4f43324684b6074a5adf471a0a08
MD5 3caee01b6bce1ad67f404849f29cf7e6
BLAKE2b-256 54bb0386413cde442d8bf0480ceb57ec41bcbea4bbd5e88726ada3f13c764d71

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ef7a9318b201487b890c27f46c32ab5477a71a013b51188be2019ba2fcb1174c
MD5 60f031d2d5d4f28bc06cddf77d9313cd
BLAKE2b-256 d373498e5fa63328a441b9922f66de56db9c3fad2747403944748d39a670c1c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev9-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 79943b919f041f37ee756617dcae19976cdf1a78407d6aa59177c947efd6ebc9
MD5 8bbe603a20e28babff3dead91a88d0ca
BLAKE2b-256 d464d4afafa2d9a22ef1a0c5daa6d29823b062ca4f466cbc8b175f7529afcd36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev9-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 486c48faa751c4d0026324e10807afeab546ff7a91ee7f8a0010871f85d3d3f8
MD5 70a07fd8da1b1dc32a815ed227e1993c
BLAKE2b-256 2f6ae46baaa90a625ba32effb6cb500e2c283ece7264288688b3605480eaddc4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 221c3e97fe400efda0cc97f11229b037cd71f925e5ac959b0c03b7325148287c
MD5 a8f2c3c606492febae753c3579753f18
BLAKE2b-256 5f31fec5042ffa1a5903f11f270e49df52d075493b09e6c9fdbe0d766578aab8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8251d09ed71e07e491d87b9015a4be233fe12acbb73c71dcf5fc6f010ac7c95e
MD5 5bcae6a657b653d3fae3e0b5a2dbd4b6
BLAKE2b-256 02889e6b324497bb088755cd67a8e761e0ab0c5d70b1600117e21a9e1f4e8ca5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev9-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5db6a7705782cd2af70c72704fa6ebf4b1487b6fb00e417c1a3951ba17de1481
MD5 98e1a7160b0d8415e2516fc7f759486a
BLAKE2b-256 e3666783f88a85532b3d213a9837b82e8a6abb21ec030cfcf782f0597e915db0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev9-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 012027a673c80b48cc1c16df7e426aceafaf77050a5c6676626317f579649dc9
MD5 08e2c728883f6dfc0a45cc858b1411aa
BLAKE2b-256 d7a6b7513910bebb051779aca82c2bcd62f5387164c0ff8763557ce1df4de5a2

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