技術者集団から規模を拡大。映像技術を中心とした幅広いサービスを展開するブイキューブ

株式会社ブイキューブ

藤本 諭志

株式会社ブイキューブ

リーダー

2007年ブイキューブ入社。自社開発サービスであるV-CUBE セミナーの開発に携わる。現在はAgoraのプロダクト担当SEをしている。スキル:Docker/AWS/Linux/DB/Ruby/PHP/JavaScript

これまでのご経歴と現在の職務内容を教えてください。

私は15年前にプログラマとしてブイキューブに入社し、10年ほど自社サービス「V-CUBEセミナー」開発に従事しました。その後、2016年に立ち上げた仙台の開発拠点の管理者を務め、システムエンジニアとしてオンプレミスサーバーの導入案件などを担当するようになりました。ちょうどその頃、今日のテーマとなるAgora SDKの取り扱いが開始されまして、私と池田(プロダクトマーケティングマネージャー)を中心に小さなチームを編成し、Agora SDKの技術サポートなどに携わるようになりました。現在はAgoraの認知度向上のための業務を中心に活動しています。

ブイキューブは自社製品開発やAgoraなどサービス群の技術サポート、配信事業など幅広い事業を行っている印象がありますが、改めて会社全体の概要について教えてください。

もともとは代表の間下が慶應義塾大学時代に始めたベンチャー企業です。最初はWeb制作業務を行っていましたが、その後はネット上に手書き入力できる「寄せ書き色紙」の技術を開発したり、カレンダー機能の開発をして社員同士で活用したり、アイデア技術者集団として仕事をしていました。

映像技術を用いたSaaSという文脈では、アメリカ子会社とのコミュニケーションが難しいという問題に直面した際、自分たちでFlashベースのWeb会議システムを開発した経緯があります。当時は今と違って簡単に使えるビデオ通話システムが少なかったため「自分たちで作ろう」となりまして、それ以来映像・音声技術に知見のある開発会社としてテレワーク推進に向けたサービス展開や海外製品の取り扱いを始めました。最近では、オフィスビルや駅などに設置されている個室ブース「テレキューブ(※)」の展開も行っています。
※TELECUBE(テレキューブ)は、株式会社ブイキューブの登録商標です。

ということは、最初から自社開発中心の完全なエンジニア会社だったんですね。

その通りです。現在は配信サービスにも力を入れており、白金高輪と大阪梅田に設けた大規模配信スタジオではミスのできない株主総会や採用系イベントなどの配信サポート業務なども行っています。このほかにも、メタバース領域における3D配信にも注力しています。

WebRTCとHLSの配信方式の良い所取り。低遅延と100万人規模の配信を両立するAgora

まずは、Agora SDKの機能概要を教えてください。

Agoraは映像と音声を送受信できるPaaSになります。以前はWebRTCやHLSが主流でしたが、AgoraであればWebRTCのように低遅延でビデオ通話が可能かつHLSのように大人数に対して映像と音声を送信できます。あくまで送受信のコア部分のみの提供になるので、UIなどは各企業が自由に開発しているという形です。

映像音声の送受信という意味合いでは類似サービスも少なからず存在しますが、Agora SDKならではの強みを教えてください。

第一に、低遅延であることが挙げられます。世界中のデータセンターをひとつのネットワークとみなす特殊なデザインの仮想広域リアルタイムネットワーク(SD-RTN™)を採用し、すべてのEdgeServer間で平均76msの低遅延伝送が可能です。日本国内のエンドユーザー間では80ms-200ms程度。電話が250ms程度ですので、映像と音声を含めてこの数値は非常に速いのではないかと思います。

さらに、低遅延でありながら100万人まで配信可能という点も特徴です。低遅延と大規模配信、まさにWebRTCとHLSの配信方式の良い所取りをしているというのが1番の強みになります。

アカウントごとに視聴数、配信数が制限されるサービスが一般的な中において、Agora SDKでは1配信100万人が可能というのは驚きです。

また、インターネット通信の上ではパケットロスが発生する場合がありますが、Agoraにはパケットを補うような独自技術があります。イメージとしては、「あいうえお」と発言し、「あ う お」しか届かなかった場合、その間を補完するような技術です。この手のサービスは、仮に映像が途切れたとしても音声だけは途切れないようにしないといけません。ユーザーにとってストレスのない環境を作るための仕組みが全体的に良く出来ていると思います。

1対大多数というのは、具体的にどういったユースケースが該当するのでしょうか。

国内ではエンタメ系の配信です。ファンサービスの一環で、アーティストがメッセージを発信するなどが多いと思います。海外では教育系のオンラインセミナーで、10万人規模の集客があったという事例もありました。

また、オンライン握手会のように1対1の通話を延々と繰り返すような仕組みや、「講師側からは全員の画面が見えているけど参加者同士は見えない」といったエクササイズ系のサービスなど、一般的なビデオ通話サービスでは難しい運用が求められる場合にもAgoraが用いられています。

汎用的なビデオ通話システムを使うのではなく、必要な機能や運用に併せて独自開発を行った方が良い場面も多いということですね。他にも使用事例があれば教えてください。

面白いのはオンラインクレーンゲームでしょうか。画面越しにクレーンゲームを遊ぶ場合は、低遅延で映像を送受信する必要があります。動かす、止めるという操作は目で見て判断するので、ここに遅延があると成立しません。他にも、倉庫を貸している会社で、内装を遠隔地からVRで確認できるサービスにも用いられています。Agora Unity SDKを用いてOculus用アプリとして開発し、360度映像を確認できるという内容で、ユーザーが音声で指示を出すことで現地にいるスタッフがカメラ位置を移動してくれます。本当にさまざまなユースケースがありますが、重要なのは低遅延であること。その上で大規模配信にも耐え得るということを知っていただけると嬉しいです。

Agora Unity SDKの強みは「開発のスムーズさ」

Agora SDKの強みが理解できたところで、開発者目線で見たときのメリットを教えてください。

Unity開発においては、Unity版のSDKを提供している点が強みです。わざわざ自分でラッピングしてUnityで動かすような仕組みを作らなくても、SDKと一緒に提供されているサンプルコードを用いるだけですぐに開発をスタートできます。一言で言うなら、クイックに実装できる点が最も大きなメリットになります。

実装に悩んだ時に参照できるドキュメントなども、しっかり整備されているのでしょうか?

Agoraはその辺りがすごく真面目で、開発者が片手間でドキュメントを書いているのではなく、ドキュメントの専門チームが存在します。今のところは英語のみになっていますが、すっきりまとまった読みやすいドキュメントが用意されております。

ドキュメントも大切ですが、エンジニアにとってはサンプルコードも重要だと思います。AgoraのGithubにはユースケースに合わせたサンプルが数多く用意されていて、「今あなたがやりたい実装はこれですよ」というピンポイントなものが見つかることもあります。また、ブイキューブとしてもニーズの多いサンプルを自分たちで作成して、Qiitaなどで公開しています。こちらはもちろん日本語情報です。

余談ですが、私自身がAgoraを初めて触った時は、学習から実装まで1日程度でビデオ通話を動かすことはできました。当時はWeb向けのSDKを試しましたが、Unityであっても単純な1対1のビデオ通話なら数行のコードで充分です。それなりに経験のあるプログラマーであれば、サンプルなどをいじりながら、すぐに覚えることが出来るだろうと思っています。

サンプルコードの充実は嬉しい点ですね。実際にAgora SDKとUnityで開発された事例はありますか?

顔出しなしのアバター配信が可能な『トピア』(株式会社アンビリアル) は、Agora Unity SDKを用いて開発されています。トピアはVTuber向けの配信サービスで、中でも「配信者同士でカラオケルームに入り、マイクを渡し合って歌う」というカラオケ機能が特徴になります。もともとは音声の送信部分のエンジンをお探しでしたが、現在はAgora Unity SDKに含まれているモーションデータの送信機能も含めて総合的に使用していただいています。カラオケを聴いてみんなで盛り上がるためには、音声遅延があってはいけません。低遅延かつ複数に配信可能なAgora Unity SDKがマッチした事例だと考えています。



その他、開発者の目線で役に立つ機能などがあればご紹介ください。

「サービスをリリースしてバグもない状態だったのに、エンドユーザーの環境のせいで正常動作しない」といったトラブルを経験したことがある方も多いと思います。それはシステムのせいではなく、エンドユーザーの通信速度だったり、RAMなど端末依存の問題だったり、いろいろなケースがあり得ます。こういった場合、WebRTCだと調査のしようがありません。

一方、AgoraではEdgeServerとエンドユーザーの間の通信も解析が可能です。「システム側には問題がなく、ネットワークの問題です」などのエビデンスを出すことができます。これは運営的にもかなり嬉しいと思います。エンタープライズ向けや有償サービス系だと厳しく原因が追求されることもありますが、解析ツールさえあれば問題がクリアになります。

確かに、原因不明のトラブルは責任問題に繋がる可能性もあります。ここがクリアにできるのは安心感がありますね。他にも、Unity開発の場合はクロスプラットフォーム対応もポイントになりそうです。

そうですね。クロスプラットフォームに向けた映像音声系のSDKは限られるので、Agora 一択で選ばれるプロジェクトも少なくありません。ゲーム以外でも、例えば「AndroidとiOSに対応し、さらにWebも絡む」という複雑な要件のアプリ開発をしている方は、ぜひAgora Unity SDKを使って欲しいと思います。あとはシンプルに、今使っている音声通話系のアセットで不満や疑問に感じるところがあれば、一度は試して欲しいと思っています。

Agora Unity SDKはUnityアセットストアから無料で落とせますし、10,000分の通信までは料金が発生しないので、試すだけなら今すぐお手元で実装できます。そのままサービスインする場合は契約が必要ですが、まずは気軽に機能・性能を試してみていただきたいです。

SYNC来場者に向けて

SYNC2022では、どういった展示を行いますか?

講演の間などに3パターンのCMを放送させていただく予定です。それぞれ、AgoraのオフィシャルCMとAgoraの紹介動画、そしてセミナーの紹介動画になっています。Agoraの認知度はまだまだ高くないのが現状だと思っていますが、弊社としても技術者向けのAgoraスタートアップセミナーなどを定期的に開催するなどの努力を続けています。また、可能であれば皆さまへのアンケートも取りたいと思っておりますので、そちらもご協力いただければ幸いです。

最後に、参加者へ向けたメッセージをお願いいたします。

この時代のソフトウェア開発においては、Agoraのような「エンジニアの助けとなるツール」がたくさん存在します。フルスクラッチでの開発はスピードが犠牲になりますし、その後の保守運用を含めて考えると割に合わなくなりつつあると考えています。Unityアセットストアにあるような素晴らしいアセットも含めて、餅は餅屋の感覚で任せたほうがいい結果に結びつく場合も多いはずです。その中でも「音声と映像のリアルタイム通信」においては、ぜひともAgora Unity SDKを選んでいただければ嬉しいです。