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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.13 Windows x86-64

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

File metadata

  • Download URL: sora_sdk-2024.4.0.dev33.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.dev33.tar.gz
Algorithm Hash digest
SHA256 25d9b6df5f92c141d2f97f411b090eb04bc8bb3d52b8b1641aaf83dba4ca08b8
MD5 85218e1f3fcf8a42e9a50e0cabc4952a
BLAKE2b-256 6fa1e0b152808228670d891a86ce501764d8503b3ff215224ff91ccd5483a389

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev33-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ce61acf587d47714e4100e7a4ad2505b0658a747ed51b5d5ac8760edfc723cec
MD5 b0f4a1a794580c9ba3b12bba7d6fbfb1
BLAKE2b-256 39b3bd30dd9c3452bd1f74b6c88b14004782a27970c99ebb596ea06d11fc7371

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev33-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b5a0830d9e3c6577d35cdfc0f064e3e805d9bd6571e6b9d48f527e8ec94dd5d6
MD5 acb5ca9427bd432e4b22689234a389b6
BLAKE2b-256 552fd7898e4b021ff7f5f9d77c305553e7000c6fc7b4f89b55565d40d2832618

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev33-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 206375725f76da616aed8ac163de5f2d9d4404a57948eb018401c3a5496d8ffc
MD5 8ca791b6d8f08d291639e2111e10dcdf
BLAKE2b-256 4711fb4310c69817154332abf4176e940028df2e58f889771858435bdd249dde

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev33-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 b6cd91ec993a91f1632eccb71dd189d5e693200e5ab039ad58eea13e04bf3a65
MD5 b83167809132c1466e4be8ce2ce62ec8
BLAKE2b-256 8bdd10ef6cbe7313ebc1128b0a5f1b900a74396d97ca748bb2e378f644d603fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev33-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9ad2c7de52027533d40adc36d19a5027140cdbfac0849760d6156c341415a79b
MD5 9bef3cf55495af8b1959ce49a4586be7
BLAKE2b-256 12b35574ed528d1cadbf39b21022f7b9d414c70b121b38ca4900cfc29cd27565

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev33-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 47d31291be2a4e353ec195f2ef1962e4d5ee7998dfbf9f9b1995b64885ad3241
MD5 089094a15d4633f21d6ea9cb7df14219
BLAKE2b-256 181327960e09e69745c0053542411cf4bf987eb5e8701462ea138ae38158f26f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev33-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2e3c468f830464b410d916800193e56288ce0d7e676164334d59fc5b44c53cf8
MD5 73e5ac4e354725488840bdaccbec977b
BLAKE2b-256 b9d795e7146c298d1cf26f3c9a846c03a75cafc4dabd59ea6096eac9730af737

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev33-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f138eaadbeb35b4858ad277e281a0e2d85e86043af11dd19037cca76d479c8e1
MD5 7ca36039a7785d69b434f87f28100df0
BLAKE2b-256 2f7e5bc618cb2c90efc440fa96041caab254f581c019f008f965b06789894d6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev33-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 98ba7a4d0edb6e3fb3a1ea814498436aad31b2d081dd6381b5f05b8c45412332
MD5 632a98bbf40ea958b6d111751057d767
BLAKE2b-256 4f5644a26d30c8dac38f8bcb156ba1e764cb2e440da3c547c39418ed806e32de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev33-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 450486054808df5af3200d312b073b75cf0708e6caff53b98a863d6d7e02ec6e
MD5 323422b3644fc8d4dee71078dd1ca522
BLAKE2b-256 cc75790f7c822a47d6f269a67d99c210d310de9df91388d4f7c514b547043957

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev33-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1a96c43c129c7da8a4b813fdfb39af84044bc026cc053c246b462ed7e3feda56
MD5 338ac459609ff34be6f025248e893b18
BLAKE2b-256 064b2ba21d4ab964fe813c53c95c6174e52fd720a5444e68078f9c8885d0618e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev33-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 c7c1708fb4725a4f5761d838bf9dc52458f2aee911f2af1a8338653a9f21fb37
MD5 e4c3d35a078fbe427c7e4ce9aa3d585c
BLAKE2b-256 61f5d23c7eb7eb0673be0e640cf155dda20192b5b466de42b8d94da1fc84c777

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev33-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 913a2d818e3000124f8372ba0875ed110f4506f0bfe99068412c280808df5e1d
MD5 ba531507ca1f304fccd512e78a002dd8
BLAKE2b-256 7451ef6b63225dea4c288f2a330f967be4cfc15caf5c2fc31e3560d39983b225

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev33-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1dcc54594b534a6ca3645dc1afc9ea185f762fe9b287dbf8e11b026868a90070
MD5 371820b000812e472482281f8ffa25b3
BLAKE2b-256 80d208b84c76d91a5def9261dcfc2ca044e466d852d16473fc720b3df0205078

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev33-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 98efdfe1600dbaee42d4e855df12a16ca7a4aba44d65c1de9135802eab118e14
MD5 718a4bba15419f7667920c5195ef5053
BLAKE2b-256 5725454d3208007668536b3e67bb4dcab65a228c203a32bb804c279ea5fafc2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev33-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 c97fbfed5249d5889627c9c1e64184fef3bd97f69e425b8be5c46ec1c50ac469
MD5 c6e674c6926e362fa893622eaec6411f
BLAKE2b-256 b892de2a1cb1680d035219ce05658394f388a583c2b70578491c181847640956

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev33-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 0ebd7a06314d7c7aa9cb7686536ab24f9eadf4a3d52334a454d886307dd899b0
MD5 63d7592289a3ed62bae982dc53403c3c
BLAKE2b-256 9ad4255b8c37ad99a13ea0491a3a2920517f59479d7efbcfdd76e7451b40a28a

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