# Sora Python SDK 概要

Sora Python SDK は [株式会社時雨堂](https://shiguredo.jp) の [WebRTC SFU Sora](https://sora.shiguredo.jp) の Python 向けクライアントフレームワークです。

## 特徴

Sora Python SDK は [Sora C++ SDK](https://github.com/shiguredo/sora-cpp-sdk) をラップした Python 向けのライブラリです。
そのため、 Sora C++ SDK がサポートする機能のほとんどを利用する事ができます。

Sora C++ SDK が libwebrtc を利用している事もあり、ブラウザで利用する WebRTC と同じ機能が利用できます。

### ハードウェアアクセラレーター

時雨堂が独自に様々なハードウェアアクセラレーターに対応することで、CPU 負荷を抑えて高画質な映像配信を行う事ができます。

- [Apple macOS Video Toolbox](https://developer.apple.com/documentation/videotoolbox)- H.264 / H.265
  - VP9 / AV1 のデコードには対応していません
- [NVIDIA Video Codec](https://developer.nvidia.com/video-codec-sdk)- VP8 / VP9 / H.264 / H.265
  - VP8 / VP9 はデコードのみの対応です
- [Intel VPL](https://github.com/intel/libvpl) (Intel Media SDK の後継)- VP9 / AV1 / H.264 / H.265
- [AMD AMF](https://github.com/GPUOpen-LibrariesAndSDKs/AMF)- VP8 / VP9 /AV1 / H.264 / H.265
  - AV1 のデコードは Ubuntu x86_64 のみ対応です
  - VP8 / VP9 はデコードのみの対応です

### ソフトウェアコーデック

libwebrtc に含まれている VP8 / VP9 / AV1 に対応しています。

また、 OpenH264 を利用する事でハードウェアアクセラレーターが利用できない環境でも H.264 を利用する事ができます。

OpenH264 は Ubuntu x86_64 と macOS arm64 環境で利用できます。

> **注釈**
>
> OpenH264 は Baseline Profile のみに対応しています

### NVIDIA Jetson JetPack SDK 対応

NVIDIA Jetson JetPack SDK で利用できる wheel ファイルを提供しています。

[NVIDIA Jetson](https://developer.nvidia.com/embedded-computing)

- Ubuntu 22.04 arm64- NVIDIA Jetson JetPack 6 に対応
  - Python 3.10 のみ対応

詳細は [NVIDIA Jetson JetPack SDK](jetson_jetpack.html) をご確認ください。

## ソースコード



## サンプルソースコード

 の examples ディレクトリ

## 動作環境

### 対応 Python バージョン

- Python 3.14
- Python 3.13
- Python 3.12
- Python 3.11

### 対応プラットフォーム

- 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 6)- PyPI 経由でのインストールには対応していません
- macOS Tahoe 26 arm64
- macOS Sequoia 15 arm64
- macOS Ventura 14 arm64
- Windows 11 x86_64
- Windows Server 2025 x86_64

### 対応 Sora

[リリースノート](release.html) をご確認ください

### 対応 OpenH264

OpenH264 のバージョンは 2.6.0 をサポートします。

## 対応 Python サポート方針

リリースのタイミングで、直近の 3 バージョンをサポートします。

これは Scientific Python の [SPEC 0](https://scientific-python.org/specs/spec-0000/) を参考にしてます。

例えば 2024 年 12 月にリリースした場合は、2024 年 10 月に Python 3.13 がリリースされているため、
Python 3.11, 3.12, 3.13 をサポートします。

### 古い Python バージョンのサポートについて

サポート終了後も優先実装にて対応が可能ですので、 
Sora サポートまでお問い合わせください。

## 対応プラットフォームサポート方針

### Windows サポート方針

最新の 1 バージョンのみをサポートします。

- Windows 11- Windows 12 リリース後、12 ヶ月以内に通常サポート終了します
- Windows Server 2022- Windows Server 2025 リリース後、12 ヶ月以内に通常サポート終了します

### macOS サポート方針

最新の 2 バージョンのみをサポートします。

- macOS 15- macOS 17 リリース後、12 ヶ月以内に通常サポート終了します
- macOS 14- macOS 16 リリース後、12 ヶ月以内に通常サポート終了します

### Ubuntu LTS サポート方針

最新の 2 バージョンのみをサポートします。

- Ubuntu 24.04 LTS- Ubuntu 28.04 リリース後、12 ヶ月以内に通常サポート終了します
- Ubuntu 22.04 LTS- Ubuntu 26.04 リリース後、12 ヶ月以内に通常サポート終了します

### NVIDIA Jetson JetPack SDK サポート方針

最新の 1 バージョンのみをサポートします。

- Jetson JetPack SDK 6- Jetson JetPack SDK 7 リリース後、12 ヶ月以内に通常サポート終了します

### 古い OS バージョンのサポートについて

サポート終了後も優先実装にて対応が可能ですので、 
Sora サポートまでお問い合わせください。

## 問い合わせについて

Sora Python SDK の質問などについては Discord の `#sora-sdk-faq` チャンネルにお願いします。
ただし、 Sora のライセンス契約の有無に関わらず、応答時間と問題の解決を保証しませんのでご了承ください。



またビルドやパッケージングに関する質問に対しては、コミュニティ管理者は回答は行いません。
