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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.13 Windows x86-64

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

File metadata

  • Download URL: sora_sdk-2024.4.0.dev22.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.dev22.tar.gz
Algorithm Hash digest
SHA256 a94c1e8a2e847bc829d7f4d82a46dda42bd90392f7c92e4cbfdb1a0a5c5f4620
MD5 6bb866a48c597f727f6cf7f5c469df9f
BLAKE2b-256 3188f6a138794c276c67a37beac6c2405cbe2237c0e7394fdc49708a42d2a6be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev22-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c52087b3c64818eff1f0d26f35661625b805308503a8fc04f469b687faa56898
MD5 5af329a56377f7207f25b1ee8b5081ae
BLAKE2b-256 2abac690b8974cd52b373dcd328aaed999e56b3bc5bb7158451b42d5c1b54d1b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev22-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 42a4162535f95ecb0c3af97bdaacf9635843535ef27439336d0c5c3700c88f88
MD5 d02906db39e913543e537aef163a6087
BLAKE2b-256 269d8a0e0403f29e7e4e2c4db23facdd7a89a92742193e03c28989414ec068b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev22-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 c9e0b9b1a3cde26f7ef8746454560e576a30154ed13ae417258993aa71b877f1
MD5 eda61a9d2efccd61a19c37ef85373fa1
BLAKE2b-256 d5418ad85460e7a1b328231059e80a81725166c2e9ad47a5880e18b49be68d7d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev22-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 c2cfd49a53d94101e333173b2d9b2a5ba7531153eb709c274be71e8cfe2c715d
MD5 82bf9efb80df0176770d468f8dc7269b
BLAKE2b-256 344e84c5070a5536753aad0ef7c0d200401f0b5c3c366c03bce957a25e42a072

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev22-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d03e07c7054f008f925af239174339f0175408705f495a4f476257fa7c0e6963
MD5 a44ad5d220253e7320ecc9a137a9d03f
BLAKE2b-256 9b8b4d6e4374ce74b464ea265da39e638f765039a8ae3ce15788b61918acdc0b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev22-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 44639bc925c38dd597cca4d11589d58ab4d0051f88e85fdb109218e8144c5291
MD5 6784a2af6d2ace179baef10645c74e5c
BLAKE2b-256 03e32dad4cbca1d785fd9c503fc616f9670807418068f5dfb0049f9c691e4274

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev22-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7443258c9496140dbf7c760b125584b1eea5f927415b478ecd9374cc1118496b
MD5 aab1af1430151d043517f10de53faf72
BLAKE2b-256 d83c5f39398df5f9bab6113d15a1d27ddbc5aad8068790f5e4106cad31d1bcd3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev22-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f11be4dd66968858e242f876322ccaf5e0f40df47f7d4effff4799a8dc17437e
MD5 e68b4691c8f3cb2bd58f8aa483fee4db
BLAKE2b-256 fb2c4a298658f78d40eb6810a7517532f34418057e0f09fa2c61f8ef035736b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev22-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 7dcf6b60017b657f9d5cea1fabe945dc3951cefcd9595c7c9fe917a14cf7c4bf
MD5 905a574a209fc63eca1757c07ea6ffe2
BLAKE2b-256 a4650dad61d5588f5474ff53cc3e5fa061df843a5c65122daa17f671905f0232

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev22-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b7a695056a8da2675f4a0ae9f1f353638d943a37f47d0c6bc17c9aa943d9ec02
MD5 54a68d238304b3d4823bfc5628998a35
BLAKE2b-256 48c10643b1da116fb831d3c8e2efc15c9087b04a038775d11dfb7923354b6200

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev22-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dccfd0cf52b4ecea0bca87e707b8f11a72c99bd482db77b49f7946f15fb4cd96
MD5 c7f8b1df0f233246206b0ac74dbf2692
BLAKE2b-256 2d041b7cf95a0b504f2075a008a13b323131c9519f214e65672be888ea6e8dd5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev22-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 875d2808aac0b570fa7aa62cc851b0e7807cffcc16e03f8e9cbd37e5569d64fc
MD5 4062771e51b0bdfa23bb23e188bef851
BLAKE2b-256 86cd45999514bb37a5c37c5a0666bdb88bdd0cb676917585e9d570e592e5ae48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev22-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 628ea139c767589abaf33b3ba6f22fa22d2b735c81f0a8b8a63cb756d81a889a
MD5 197e82678b56af3e18e52b1ce38f506a
BLAKE2b-256 36cf628fdf9471facfe3480779377874f473f36c98dfad38a63aabeae4e029b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev22-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c8e6f6e805589e356f5634e12ca2d975f927ef8643e592bc43dd8e2f92eb099a
MD5 5808e6977b3bfba65655aa7adac88f50
BLAKE2b-256 2f23f821732dd3fa105d6cc25d6baab9ee9dab12b28e664774b92fbaf9f49a0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev22-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e8f897f10b65f99fff7fc919ae34000b3298fe565b73e02bd76ab159f88f8c06
MD5 11b0c5a33f7a085ba26bce9dfaf2aa95
BLAKE2b-256 a6ac17511d4a55f8065cda1311d3362010970f0fe2ec372ca8618ec84ead53f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev22-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 52a5d55415ed349e2310af4224065cca9aa914d19abbc22f6448aea97d3965ad
MD5 2f2ea7eb57029cced5cb0a8ae28dbdaf
BLAKE2b-256 b2d8cacfef513c8c64a6c59101a959c06b294fd3cf8bf7515d29c642e2019303

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev22-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 a058d9f4b4528a1849c956953b63edf9caacd89627580e2d7095a5489c681e68
MD5 8871af847505d6ecd72c5987dc6574e5
BLAKE2b-256 88f85fd7bb4a045f9e6266e005288db54ea305c048343b5adea68cb8519abdc6

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