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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.13 Windows x86-64

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

File metadata

  • Download URL: sora_sdk-2024.4.0.dev34.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.dev34.tar.gz
Algorithm Hash digest
SHA256 1dd51bf551e6bafff56ec4dc0f7b7931bfd1b072d3b559a99b1fe700e6f3efee
MD5 a3484104236f391c9761d5287015fa16
BLAKE2b-256 7f7e467ae014ac09578032e753ca8996c9727358daa2c8d975d4be2935d1d0bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev34-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ac5debe57e3f89fe3b2274a11887d9df4ada456c0d8e0074d1d862c4b18a223d
MD5 a3917c17c06c67d26b763e073066e76b
BLAKE2b-256 cc1a7a00e5fb95c08f45af35e7684603013f662d821af496ab6f78ef6b6fc4a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev34-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9d59937c7945b078fbf31d31801e6e775e48d1bbd3a3e59cba79db8891158bef
MD5 16e3c105ca0c26ec65e6bb7c37a24f8c
BLAKE2b-256 38fd51fa287f90c1feb1db9dfe5ac06f6d4bdcf360bf814b8e0d8e1696418378

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev34-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 40e85f798b1a170abe1b74a0d923b020b58e6b3d067526a1821c6844716882e2
MD5 cdd4a0e65c6022290a3820df5cb77654
BLAKE2b-256 8e21bc6d3369b2108de2a5c55069d1f917273cf2bdf1f645808ee8e0a5dcfbb3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev34-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 169c9c466c0112d7590f448435288e7801ed971662e5b152575279058aea985b
MD5 6901e260dbcca98a2e059a2a974cff91
BLAKE2b-256 f01ee7454705ea68bf61650ed682cc622213231373dc88b668cb2d04f11cd5d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev34-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 037cc9e7d8c1b803df1e298266ec34658e9360375441ac78938b50152b5f4c02
MD5 44fbb9db6decb12934de190a566faec5
BLAKE2b-256 40ed91187b61dbecdd4a80ffb5ada8ffffda19401364cad49b2b6f9b6a16ec7e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev34-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6ed9c6baa51cfbedd7383a4206977ba11925aef85321f6b61ab16c0ca0d9da19
MD5 c7fee63d520fb512402d25123347e69f
BLAKE2b-256 ce0351529e686cda80cec3ba2289203137005dea78d9849c4993b5cd15bb0d53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev34-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 55afa5a3a225f60bbcc754d2a0dbc8c4d3616b9788172d68997930d89beecee5
MD5 2f94ca5b88d7d41d103037a0624f850f
BLAKE2b-256 8e37b50f5480efdb67f4f14fdf5f0df9a33dc30f04c37c13db7f1416e3c93c8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev34-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7c3a3a616a79f3af0e58b8ba685ffe0f88f6278c895a1ffc1104764323042eaa
MD5 20e7a5a5c9bd9b878dafa4f7e2166d00
BLAKE2b-256 d1fdfbf27ff76344d8250582e4d1a9abbff561ed91eaa4abdb638e120c72dd6d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev34-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 82242874316768e80ed96880e9fddd8b751fcc24524b717c347acc9b0fa65b39
MD5 8454b71d04eae0210b89e3216bdcee4b
BLAKE2b-256 326b19ac0f6e0cd47557ec2e9ec43119e4dcc7cf23acc07e0bed9f2ef88b01f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev34-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fad78576564ae3e8be2fd5b221a5a09d4e0a5a66fa07a615d8fc420f9e797076
MD5 9763af6220b58330d270510b912cb5f1
BLAKE2b-256 d33a7cbc68d191e4d8955ddbe7e9dac478710751c0a59743ab82decedea83496

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev34-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 47be86efc38fe3709eb6275e376b54c85239112b38eaf93923201ee3fb391c01
MD5 37a614ab29ade9c4808177c0cee12ffd
BLAKE2b-256 14c2cafb15976051de4dc429d8113a8e954520962146d246353d86e017409b7e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev34-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0a74d595fb386d2301c25e5241f47f70ae7474f010ff22700f5b4c25b70cd315
MD5 480c5a34fb262cd0b4b7054d5257d1c7
BLAKE2b-256 13ae005aea2b450d6654c7f15302d7f6cfa258e19309929da042a593c235b187

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev34-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 5b00af4da741f9e0fbb4e0336f1987638177c0a84b36b4719ed7dfac0aabb5aa
MD5 a3d36755c1335e4013f624e01366733f
BLAKE2b-256 da81e3586c8b55bc2056c0fea85c27fe03fdf92c8e9958d3ffeada3f7ca4e89b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev34-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 696e5653ef8473629b35cd365c8ecdbf9cf4270a5a2d2f80e5f7a638e2fa1e15
MD5 a10561ac3411c47e3a8feac3da0ea19d
BLAKE2b-256 1fd6ba099a8b95dc430bc823827b66ade143331a8b5d5310cc7dce7edca9e9b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev34-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af42e4af661065bfdc4dfa43f7e4537784252fa082d2db60c990df42581ded5b
MD5 c956da09370c7fc1832fa483ff43965b
BLAKE2b-256 65d1685c9b31439f6df9ac60da247f9a549adedb7ec46894fa85efbc312991c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev34-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 28bea94020eb2219950e6325d224c3a9e02b76d9e7f409002b785ac85469f122
MD5 0482f6c8a32200af64908aefba237de2
BLAKE2b-256 872b9d75050ee13a882606174d37a51599a54483ff41f49aaed82612be5e77bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sora_sdk-2024.4.0.dev34-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 3575f869e188255378af1747381fcd9e635b254dd0e56dad0fdc9836cfcd093c
MD5 62dc25e46bec5913ec6d7cfa25bcebef
BLAKE2b-256 620bb5ddc73537f4b35ff37d1eae4338889ce62f7f364e3fc922f5ddd2cce79a

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