チュートリアル¶
概要¶
Sora Cloud は WebRTC SFU Sora のクラウド版です。
用語¶
- 組織 (Org)
Sora Cloud を契約する法人または団体に割り当てられる Sora Cloud を利用する際の単位です
- メンバー
組織の中でアカウントを登録する個人です
- アカウント
メンバーのメールアドレス 1 つに対して 1 つのアカウントが作成されます
1 つの組織で最大 5 つのアカウントが登録できます
- API キー
Sora に接続する際に利用する JWT を作成するために必要なキーです
- プロジェクト (Project)
複数の異なるサービスや検証環境など、利用状況を分けて管理する際の単位です
1 つの組織で最大 5 つのプロジェクトを作成できます
- プロジェクト ID
Sora に接続する際に利用するプロジェクト単位のユニークな ID です
- HTTP クライアント
curl などの CLI から利用可能なツールです
このドキュメントでは API を実行する例で HTTP クライアントの curl を利用しています
また、 curl の JSON レスポンスを整形するために、コマンドラインツール jq を利用しています
- Sora 開発ツール
Sora Cloud を利用する準備をする¶
プロジェクトを作成する¶
管理コンソールから Projects タブをクリックし、 Create project ボタンを押し、プロジェクトを作成してください。
プロジェクト名に好きな文字列を入力してください。ここでは HamHamHam としています。
Sora へ接続する¶
前提¶
ブラウザは最新のブラウザを利用してください。 Chrome や Edge をおすすめします。
Sora 開発ツールを使った動作確認¶
プロジェクトの ... をクリックして Create Access Token をクリックしてください。
チャネル名に好きな文字列を入力してください。ここでは sora-devtools としています。
文字列を入力したら Create Access Token をクリックしてください。
Sora DevTools の URL をクリップボードにコピーしたら、ブラウザに貼り付けてください。
あとは、connect を押すことで接続されます。もう一つタブを開いて同じように connect を押してください。 それぞれの音声や映像が配信されたら成功です。
同時接続数を確認する¶
3 つの接続を維持したまま Sora Cloud の API で今どのくらいの同時接続数があるか確認してみます。
API キーはプロジェクトから ... をクリックして Edit Project をクリックしてください。
Security の API キー (Primary API Key) からクリップボードにコピーして利用してください。
$ curl -sS \
-X POST \
https://api.sora-cloud.shiguredo.app/orgs/get-total-live-concurrent-connections \
-H "Authorization: Bearer <API-KEY>" \
| jq .
3
Sora Cloud で利用できる様々な API は Sora Cloud API にありますのでご確認ください。
Sora の API を利用する¶
$ curl -sS \
-X POST \
https://api.sora-cloud.shiguredo.app/sora-api \
-H "Authorization: Bearer <API-KEY>" \
-H "x-sora-target: Sora_20201013.ListChannelConnections" \
--json '{"channel_id":"sora-cloud@25PO5TGFD26VB62G7C7DFAAYGA4J3CJN"}' \
| jq .
[
{
"audio": {
"codec_type": "OPUS"
},
"bundle_id": "TP8RRG5SN54DD7VBMHZDB0SJW0",
"channel_id": "sora-cloud@25PO5TGFD26VB62G7C7DFAAYGA4J3CJN",
"client_id": "TP8RRG5SN54DD7VBMHZDB0SJW0",
"connection_id": "TP8RRG5SN54DD7VBMHZDB0SJW0",
"created_time": 1652944257911575,
"created_timestamp": "2022-05-19T07:10:57.911575Z",
"event_metadata": "REDACTED",
"multistream": true,
"role": "sendrecv",
"session_id": "47Q2QVK9DD7DHCZ8W37NPJNADM",
"simulcast": false,
"spotlight": false,
"video": {
"bit_rate": 500,
"codec_type": "VP9"
}
},
{
"audio": {
"codec_type": "OPUS"
},
"bundle_id": "MHJ8PB68MD2FFB188AR8VT0S2M",
"channel_id": "sora-cloud@25PO5TGFD26VB62G7C7DFAAYGA4J3CJN",
"client_id": "MHJ8PB68MD2FFB188AR8VT0S2M",
"connection_id": "MHJ8PB68MD2FFB188AR8VT0S2M",
"created_time": 1652944261045734,
"created_timestamp": "2022-05-19T07:11:01.045734Z",
"event_metadata": "REDACTED",
"multistream": true,
"role": "sendrecv",
"session_id": "47Q2QVK9DD7DHCZ8W37NPJNADM",
"simulcast": false,
"spotlight": false,
"video": {
"bit_rate": 500,
"codec_type": "VP9"
}
}
]
アプリケーション連携¶
Sora のドキュメントにアプリケーション連携チュートリアルがありますので、こちらをご確認ください。
https://sora-doc.shiguredo.jp/APP_INTEGRATE_TUTORIAL
ウェブフック署名¶
Sora Cloud のウェブフックには署名が付与されています。 署名をチェックすることで Sora Cloud からのリクエストであることを確認することができます。
署名 をご確認ください。