去年末に公開した WebRTC SFU Sora のクラウド版である Sora Cloud で、複数の録画ファイルを合成して一つのファイルを生成するサービスを提供する準備を進めています。
なぜ録画合成サービスを提供しようとしているのか書いていきます。
録画合成が必要な理由
SFU (Selective Forwarding Unit) は「それぞれのクライアントから送られてくる映像を転送する」という仕組みです。SFU は MCU と違って映像を合成しないため、CPU 使用率を減らすことができ、多くのユーザーに配信することができます。
一方で、音声や映像を SFU で録画した場合、全ての録画ファイルは「クライアント単位」で保存されます。そのため、SFU を使った際に録画ファイルをまとめるには「合成する」作業が必要になります。
これは Google Meet や Zoom といったメジャーな会議システムでも同じです。Google Meet はサーバーで録画、Zoom はホストでの録画、またはサーバーでの録画に対応していますが、全て合成処理を行っています。
録画合成の難しさ
ただ、録画合成はそんなに単純ではありません。Google Meet や Zoom のようなサービスであれば、いくつかのテンプレートを用意しておき、それを利用すれば良いです。
Google Meet ではタイル配置の録画合成ファイルを出力すれば良いですが、 ミーティングや会議以外にも使われる SFU のパッケージやクラウドとなれば話は別です。
遠隔授業、遠隔診療、重機の遠隔操作、オンラインクレーンゲーム。リアルタイム通信の用途は様々です。つまりそれぞれのサービスに適した「自由にレイアウトが指定できる仕組み」が必要です。
そこで時雨堂ではこの合成処理のために Hisui という録画合成ツールを OSS として提供しています。
Hisui では、カラムベースのシンプルなレイアウトだけでなく、レイアウトを自由に指定できる仕組みを提供しています。Hisui のレイアウト機能は Twilio が提供する Recording Compotision API とほぼ互換の仕組みで提供しています。
Hisui クラウド版の提供
Sora のクラウド版である Sora Cloud では録画機能を提供しています。録画機能があるのであれば、録画合成機能も欲しくなるはずです。
今回、最初に提供する仕組みとしては「録画合成」を「後から好きなタイミングでできる」というものです。将来的には指定したチャネルや自動で録画合成を行うまでいければと思っています。
ユーザーは録画合成 API を叩くだけで気軽に利用できます。年内には録画合成エディターの提供までできればと思います。
文字起こし機能の提供
さらに OpenAI が提供している Whisper という文字起こし機能を利用して、録画合成+文字起こしをする仕組みを提供する予定です。
実際には whisper.cpp という CPU 処理に特化した Whisper を利用する予定です。
料金
気になる?料金ですが、「合成」は合成後の生成ファイル 1 分につき 2 円で提供する予定です。「文字起こし」については合成後の生成ファイル 1 分につき 3 円の予定です。つまり、録画合成したファイルの時間が 60 分の場合で文字起こしをする場合は、 120 + 180 円で 300 円かかります。少し高いなとは思っているので今後できる限り安くして、多くの人に使ってもらいたいと考えています。
アルファ版
2023 年 4 月中にはアルファ版を無料で利用できるように準備を進めています。