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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

File metadata

  • Download URL: sora_sdk-2024.4.0.dev3.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.dev3.tar.gz
Algorithm Hash digest
SHA256 fe07d2493d0213085f63e4863c5749016e9b8ed6d20e47705cd5ce857a224de0
MD5 056d1a44234dba88869362fbf79d548b
BLAKE2b-256 8c8cf4e798af77b0ee9bd020bbaae7798f12c33fb055a0436294875647c183b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2d206e64ddc564299144592ea6510adb31d2fd7f857ad49903bca3d69e5cc45a
MD5 e89f3d67639bdc88a4611310474c635c
BLAKE2b-256 65a2ce136ed5c81a7f3748e8c3e4c66b9471875ead0dc95ecc54c502ccec8fc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b14beb2b30b6858ac3d539cdad7312232affb67b77004844f5fe2d90ab3154a2
MD5 db2abebbd3c29b595ec1ce91f1579a87
BLAKE2b-256 2599f57ae35c1a927944634fd132e628418849621412a14c05dd3620bb69cb42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev3-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 405166dde2776e9d9007e102401fde07d36001e15fb1e806048c0997dcb4a742
MD5 0b62f587879fa80fc275d9488be8fb0e
BLAKE2b-256 be5c2e93f0809e6b59ded23bbe64554e97a3e67bbb141cdab3c8f3d5f2aa9be0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev3-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 c2b012f1cc51daea0458623f9714958953bf4c9f3df38952bfeb3a4b1228527c
MD5 b20eecb5035a048e0fd6e62a6e5951b2
BLAKE2b-256 efbbee77d2d75344a9bc97655c02aa1da94963b3435973cd226c0bbc5d2aa18b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f8fef3e74b506e115e90894f61707be7df1a478d8521156cbd0b2629b447b961
MD5 522e0c97cd20cfbd671058f962fddf40
BLAKE2b-256 08a9f51f7c5206b637bddfe56be741b20dc182959e64f0e10eb7a11e86f14a06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f484d76fe6d924cd3e0acc108d8f9a630826f71a73ea69be576a05c8fa3382b5
MD5 543ff235b059646b5a2afb83e4b3920b
BLAKE2b-256 7ee05343ae0e7612a68e269eaa0a611d8e6bd2c7793c1573e36a0b463be177af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev3-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ae62b730172cb78a754536031ee32668786b65f54fb8c3dba113f24ea81b9049
MD5 6bbb1d070a23c268a900c583020d20df
BLAKE2b-256 c402af2e442e565fae42dcf44ccecdaabae10c3b313beaef1512162e11cdb664

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev3-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 68d8a5a2860e123ff8a92a1be9e6a5520033e64cacc120af6ddf7d1d910cac1e
MD5 e000c0d4edd3eb28363863743c900a9b
BLAKE2b-256 9aec1dc49e67dd5d33c5193744a79e47b41366de33b9f94df71d121bd306dd8b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c82a66f16acdb5ad7c8d80f8867b8ac7d053c594693f42849aafbf7dd3d1b3ea
MD5 8f488312ba9abc871f6c9bc30e451370
BLAKE2b-256 3772635ba1d8f53f1de32352e5ccbc77d95fc9cf48999a26349fb1a5c3a9a75c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 850539d2d05f279000e08ed008ad487e92abb62f0fefc5701c1eb3007e21bcc8
MD5 e40fc1cd9d26721a7a1e7b363184a415
BLAKE2b-256 8843cae003f265925009b2aef324bed3ab6411087c7cdd127d2f50cbd598aa95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev3-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ec8fd60473c5e4c9fb73e387e6cbb9d40fc5fb553c220a0b837e3d51033a45aa
MD5 36d60b895b22877ee6da95d54a9afdfd
BLAKE2b-256 e7a050a753b7faf81ff9fd23555559fdbb7b7cbe1b5af71f4536ae7a678b23d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev3-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 9409828cc9f491fb0e5a09d3ed3ca58f92ee89b6ded5440f0602532bf7ec7d60
MD5 75c56648b5cfc33cba4908e7dabfed15
BLAKE2b-256 20f7595eac25ee51fa92af8d72f5c971758d4926e0a5b9eb08358aa315b63a45

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