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 経由ではインストールできません。 パッケージバイナリを配布しておりますので、そちらをご利用ください。

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

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

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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

File metadata

  • Download URL: sora_sdk-2024.4.0.dev11.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.dev11.tar.gz
Algorithm Hash digest
SHA256 11f99ef2d3ee85a641324056d6f230d5ab5093b1439a4f9bd76a3e4155e14993
MD5 787208c0a2b51f99587858d7913c306d
BLAKE2b-256 41172033537b70fc3b505da57aac7b9170e81e640ab26c9ceb0735acf4399732

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 40cd7b549f5ee9fd797cd97a378a71ae5cf46b052584a1defd760a5722dbbfb0
MD5 e81feb62ff30fe48ec4d3fee95aebeda
BLAKE2b-256 8290481775362b260f8bf2a3d7592a5a6462180583e3fd62883e74047405fe78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 85ce66eb6b0d9b07120a9115018e5d3bbba0948e41436e993a5c3781bdd246ed
MD5 84f2dc9af3b969a4a91c473ef84271e5
BLAKE2b-256 01839cd8100773b72987d43bc8151651dbb5a52dfceb47257fa5cdf6e2b2ac30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d738fbce8f1481d9cebc662c17a22a50c236e3a41ad58534f03f4c78c85c4c65
MD5 34dcc4dc4be4e043282d4480b5fd9c13
BLAKE2b-256 a6d7327faab8f79d07b0561e12fb957b807632a365ca9243f2155afbc7329316

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev11-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 c5f513700063165e3556e5354af25ddb6cdf77ffd42958a53a91d06ffcacc890
MD5 eb53c4c16ba32809d302d5d48214eb93
BLAKE2b-256 b57c499174e670f4903c3e198c6af7303ad8aae3fa9f4b0024d02a110961b124

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev11-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 3d1b2037f76c8a321d22cf06c5fc4e3a18ea048ab07fdfcdcdec67fbc05d251b
MD5 0166ba3a75930a99e50ef2277b38f40d
BLAKE2b-256 6cd86223d930dc8ef841b7b6868754f1fccc00befb937aa9b3868dd28bd8d4d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev11-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ddbf4ee07fa9be560dd999d5d962f666cf5345412816450a548aa9d135f256ff
MD5 b91a69405fdf156b603940d7b4cc7bfb
BLAKE2b-256 be154a5a72f04588381ad0a7da7bdfd79548c9179e25ec2110341bc77a74f9fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 728e685334c55ecc429d05aaa44b80d5bf605c4e9059e79dae15ea418a432339
MD5 05b5995a9b8675cb1d3d939842149f37
BLAKE2b-256 99cd34b618f01f36544957babe63908833a829ceb2bada8d213858604ba3e797

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev11-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 bb66b759323155d8e58443cf87c741a516933be7bcda9d2eabe35eb78767bdd5
MD5 5346743be479d13e0df4d1efb1ce2076
BLAKE2b-256 bc66e761b64164c2cf6cceef46a57a6f60aca13c7c47561a5e8a5c8a06467175

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev11-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 332820e270dc18e69dd5e2f5d433726b6e8c14e09c1553fbba4d9c356945d29a
MD5 29fe027484013d0168ea289128f9588a
BLAKE2b-256 bef84928698afa0900f86f5926ea573ce1ab689ec817a443969be40c56212375

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev11-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fcae01ff3e44e1cb1d0422c6a8bdb005126556333acab200951040293b9cc3da
MD5 bb97241ee7965f942681b68ab227a9b2
BLAKE2b-256 5ff08829a8898f9cc6e1f03696b2d3c533b2efef03311df0c8ebbaa035a84df9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e087ae5174238b974012698e8d72d322b41878d027395a379503743331d72e09
MD5 41cefc3b25a158acf3c2d1df2d5abfa7
BLAKE2b-256 b54e85569b220d1615070b6428c3650c62f2451bd0cf0a93aa77f2bbe467944c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev11-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 324f8682953be79152b384988093ff6703e77641612423e87a174931ea121422
MD5 db04b436a6944df9d13a4154e06353aa
BLAKE2b-256 e7235fb5ac1d711049ae4fc3a579a3bc6cdb5b671b098b1fba21d8840a4cae73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev11-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 171a840424d2fd31af560fc30de75c738fbb85db89115531437d27d6a52b441e
MD5 51c98b144ff6e18a6c2090ece7491b88
BLAKE2b-256 7e4274e4b4c8fe2c346938ba8cd45f322c308919812441566fc803162441734e

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