専用ツール

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 統計解析ソリューション : WebRTC Stats Analyzer Kohaku

Kohaku は、WebRTC クライアントから送られる統計情報を収集・解析し、ブラウザ上で可視化するソリューションです。WebRTC クライアントから得られる情報を収集・解析することで、「つながらない」 「音声が聞こえない」 「映像が見られない」 といった問題の原因を特定し、スムーズな解決を支援します。

Kohaku は、複数のオープンソースソフトウェアを組み合わせて構成されたソリューションです。
  • Sora は、WebRTC クライアントから受け取った統計情報をログとして出力します
  • Sora が出力したログのアップロードには Fluent Bit を使用し、S3 または S3 互換オブジェクトストレージ (以下 「オブジェクトストレージ」 ) に保存します
  • 統計情報の集計には DuckDB を使用し、オブジェクトストレージに保存されたログは Ingester (Python 製のツール) によって定期的に DuckDB に取り込まれます
  • ログの可視化には Grafana を使用し、さまざまな条件でデータを出力・分析することで、問題の特定や解析を支援します

WebRTC クライアントの統計情報は膨大になりますが、ログの保存先にオブジェクトストレージを利用することでスケーラビリティの課題を解決しています。
また、お客様のサービス開発時には、Sora と 同一のサーバーですぐに Kohaku を動かせるように、Docker Compose を提供しています。

製品の利用や詳細については 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 を合わせてご確認ください