SHOWROOM株式会社の映像配信遅延が業界最速レベルに縮まったので嬉しいという話

概要

現在僕はSHOWROOM株式会社というところでxRのクライアントエンジニアをしています。 が、SHOWROOM株式会社はライブ配信サービスを行っています。

今回の記事は、このライブ配信サービスの方でかなり面白い取り組みが行われて、世に出たので面白さをみんなに布教したいと思って書きます。

prtimes.jp

ライブ配信サービスの話

SHOWROOMは国内ライブ映像の配信サービスとしては古株で、確か6年くらいの歴史があります。

その後pixivさん(pixiv Sketch)やCyberZさん(OPENREC.tv )や、LINEさん(LINE LIVE)など、色々な会社さんがライブ配信サービスを生み出して、国内の市場は活気づいています。

配信者と視聴者間でコメントやギフティングでリアルタイムコミュニケーションを取る感じの仕組みです。

SHOWROOMの技術的負債

先ほど説明した通りに、結構古いサービスなんです。なのでまあアプリのUIを見ると歴史的な感じがあったりします。みんなが大好きな技術的負債です。

歴史があるので、エンジニアとして配信サービスのSHOWROOM見ると「なんか運用フェーズ入っているしアプリの見た目もイマドキじゃないしなあ…」みたいな点はあります。それはそう…

SHOWROOM 最近の取り組み

そんなわけで、最近は技術的負債をなんとかしつつ、新しいことにチャレンジしていきたいようね、という話がありました。xR部門がモリモリ人を集めてオモシロプロジェクトが複数走ったりしているのも、そういう経緯です。

新しい事にチャレンジという一環で、SHOWROOMの超低遅延配信化が行われました。

先に結果を書くと、配信者の映像が視聴者の端末に表示されるまでに掛かる時間が、 10秒くらいから最小0.5秒未満 になりました。

低遅延だと何が嬉しいか

僕はVTuberおたくなのでYouTube Liveをよく見ますが、配信者に人気の配信だとコメントが届くまでに10秒以上時間がかかってます。そうすると配信者が10秒前に話していた内容にコメントすることになります。タイミングが微妙です…会話がかみ合わない感があります。

この遅延は安定して多数の視聴者が映像を見るには必要悪で、現在の 普通の技術スタックでライブ配信サービスを作ると、大体遅延が10秒くらい になります。

なんで映像を届けるのに10秒も掛かるの?

映像配信を皆様のお手元に届けるまでには

配信者のカメラ映像→H264エンコードRTMPストリーム→映像配信サーバがRTMPストリームを受取る→映像配信サーバがコマ切れのHLS形式ファイルにトランスコード→CDNにHLSファイルを配置→視聴者がCDN経由でHLSファイルを取得→映像バッファとしてビデオプレーヤーに取り込む→視聴者の端末で絵が見える!!!

という流れがあります。めっちゃ大変…

特に視聴者の手元で映像がプツプツするとまずいのでHLSファイルの取得は余裕をもって何秒か先まで取ってくる必要があったりします。

例えば1:1で接続、とか少人数相手だと上に書いたような大掛かりな仕組みが不要になって、2秒以内に映像を届けることもできます。DiscordさんとかSkypeさんとかですね!

今回の超低遅延配信実装のやべえところ

  • ↑に書いためちゃくちゃ面倒くさい流れのサーバ側をゴリゴリ自前で根性実装した結果、最小0.5秒以内で映像が届きます。
  • この遅延の少なさは、国内最速レベルです。(OPENREC.tvの超低遅延配信も同じくらいだったはず)

技術的にどうやってるの?という事が気になった方はこちらのスライド参照ください。

www.slideshare.net

超低遅延配信が実現すると何が起きるか

映像の遅延が少ないとコミュニケーションが早くなります。打てば響くようになります。

VTuberのおたく的に言うと、コメントして読んでもらえるまでが2秒以内になったりします。身近に感じますね。

//ZIZAIさんのIRIAMはもっと過激で、映像を送らずにモーションライブ方式、独自プロトコルを利用することで遅延が0.1秒以内です。音速より速いかも。やべえ…

note.com

余談

SHOWROOM株式会社は、技術的におもしろおかしい事を奨励する風土があります。

xR含め、エンジニア陣も頑張ってます。興味がある方、一度遊びに来てくれませんか~!!!