専用ツール

Sora では、専用のツールを Apache License 2.0 のオープンソースとして公開しています

負荷試験ツール : WebRTC Load Testing Tool Zakuro

Zakuro は CUI ベースの Sora 専用負荷試験ツールです。WebRTC で負荷をかけることはとても難しく、実際のブラウザをたくさん用意しても、帯域の問題がネックとなります。そのため、これまでは Sora を運用するサーバーのサイジングが難しく、ある程度余裕のあるスペックを用意していただくしかありませんでした。その問題を解決するために開発した負荷試験ツールが Zakuro です。

Zakuro は簡単に利用でき、サーバーで利用することを前提としているため、クラウド上で Sora に対して負荷をかけることが可能です。また、ビットレートや解像度など細かい設定も可能なため、実際のサービスで想定している負荷に限りなく近い負荷がかけられるようになります。

製品の利用や詳細については GitHub を合わせてご確認ください

録音・録画合成ツール : Recording Composition Tool Hisui

Hisui は CUI ベースの Sora 専用録音・録画ファイル合成ツールです。Sora では録音・録画したファイルは接続ごとにバラバラで出力されます。それらを、録音・録画のレポートファイルを基に一つの音声・映像に合成するのが Hisui です。合成は FFmpeg を利用しても実現できますが、FFmpeg は高機能な分、手軽に利用することが難しく、少しでも複雑なことをやろうとすると多くの経験と知識が必要です。

一方で、Hisui は Sora の録音・録画ファイルを合成するために開発した専用のツールで、基本的には設定無しで録音・録画ファイルを合成することができます。また、合成後のファイルをブラウザで見られるようにしており、Safari のような再生できるファイルに制約が多いブラウザでも利用できます。

製品の利用や詳細については GitHub を合わせてご確認ください

統計コレクター : WebRTC Stats Collector Kohaku

Kohaku は Sora 専用の統計コレクターです。WebRTC クライアントや Sora から得られる情報をため込み、解析することで、「つながらない」「映像が見られない」「音声が聞こえない」といった問題の原因を特定、解決しやすくするために提供しています。
Kohaku は OSS として公開されている TimescaleDB および Grafana と組み合わせて利用します。

WebRTC クライアントは、あらかじめ仕様として決められているクライアント統計情報を吐き出しますが、ブラウザによってその情報の内容が少しずづ異なります。また、WebRTC サーバーである Sora では、接続しているクライアントごとに「どのくらいパケットを受信/送信したか」「どのくらい再送要求を送ったか」などの情報を保持します。
Kohaku はこれらの WebRTC クライアントや Sora の情報を、Sora のウェブフックを利用して受けとり、解析がしやすい形に整理した上で「TimescaleDB」に投入します。
その後、データ可視化のためのツール「Grafana」と連携し、様々な条件でデータを出力することにより、「つながらない」などの問題が起きた箇所を特定するためのグラフが作成できます。

製品の利用や詳細については GitHub を合わせてご確認ください

音声解析用ゲートウェイ : Audio Streaming Gateway Suzu

Suzu は Sora 専用の音声解析用ゲートウェイです。Sora から送られてくる音声ストリーミングを音声解析サービスに転送し、音声解析サービスからの解析結果を Sora に送ります。
Sora は Suzu から送られてきた解析結果を、プッシュ API を経由してリアルタイムにクライアントへ通知します。

Suzu と Amazon TranscribeGoogle Cloud Speech-to-Text といったサービスと連携することで、リアルタイムな文字起こしを実現できます。

製品の利用や詳細については GitHub を合わせてご確認ください

Sora Exporter

Sora Exporter は Sora の API を OpenMetrics 形式に変換するエクスポーターです。Prometheus 互換であれば利用でき、Sora の統計情報を取得できるようになります。Sora のクラウド版である Sora Cloud で実際に利用しています。

製品の利用や詳細については GitHub を合わせてご確認ください

Sora Archive Uploader

Sora Archive Uploader は Sora が出力する録画関連ファイルを Amaozn S3 や、S3 互換のオブジェクトストレージにアップロードするツールです。Sora のクラウド版である Sora Cloud で実際に利用している機能をツールとして切り出して公開しています。

製品の利用や詳細については GitHub を合わせてご確認ください