ボクココ

個人開発に関するテックブログ

ビデオ通話における Web サービス毎の通話品質に関して

ども、@kimihom です。

f:id:cevid_cpp:20200419185816j:plain

最近、またガッツリ WebRTC に関しての調査と実装をしている。近頃ではビデオ通話の背景画像を面白おかしくすることが注目されがちだけど、ビデオ通話サービスを提供する側で最も大切なことは、引き続き「ビデオ通話の品質」であることは間違いない。

ビデオ通話の品質の良いサービスと、そうでないサービスの違いがなぜ起こってくるのか、簡単に説明してみる。

一番手軽な 少人数通話 P2P

WebRTC で最も簡単に ビデオ通話を実現させる方法として、P2P による パソコンとパソコンをインターネット経由で直接つなげる方法がある。この方法は、最も手軽にビデオ通話の機能を実現できるし、サーバーの負担がほとんどかからない魅力がある。だから WebRTC 初心者のほとんどは、この P2P によるビデオ通話を実現している。

しかし、この P2P 接続によるビデオ通話のクオリティは、完全に両者のネットワーククオリティに依存する。Aさんは PCの高画質で通話し、Bさんは弱いネット環境で通話している場合、Bさんは A さんの高画質動画を受け取りきれずに音や映像が途切れるといったことが発生しうる。

  • Aブラウザ <-> インターネット <-> Bブラウザ

現状、一部のネット環境ではスマホよりも遅いケースが多くある。WebRTC(ブラウザ) によるビデオ通話が一般的になるにつれて、インターネット品質にこだわりのある先駆者だけでなく、一般ユーザーがビデオ通話をするようになると、途端に P2P のインターネット速度によるビデオ通話問題が顕著になってくる。

間にサーバーを挟む (SFU)

では、どうすればこの品質が解決できるのかというと、少人数だとしても間にサーバーを挟むことで、音や映像を受け取る側に最適な音質・画質を配るという方法 (SFU) をとる。Aブラウザは最終的に サーバー側と映像や音のやりとりをすることになる。

  • Aブラウザ <-> インターネット <-> サーバー
  • サーバー <-> インターネット <-> Bブラウザ

この間にサーバーを挟むことによって、P2P で課題となっていた インターネット環境による問題を最小化できる。Aさんがどんなに高画質で送ってきたとしても、Bさんには最小限の画質で提供してあげることで、映像が止まることを防ぐことができるわけだ。また、P2P だと最大でも4~5接続での通話までしか実現できないけど、SFU であればその制限も解除できる。巷で 20人以上のビデオ通話を実現しているほとんどは、この SFU で間にサーバーを介していることになる。

今まで、この SFU 技術を使ったサービスは、大人数へ向けて "配信" することに注力されていた。 BtoC におけるライブ配信サービスなどが挙げられる。少人数向けなら P2P でいいじゃんと思われていた傾向が強い。純粋に大人数が視聴するサービスの方が、稼ぎやすいといった理由もあるだろう。その反面、少人数通話でそれぞれに最適な通話を実現する目的で SFU を使っている企業が少ない。だからこそ、今まさに WebRTC のなかで一部の企業がビデオ通話の市場を独占している。

この SFU サーバーを扱う技術が難しく、非常に負荷のかかる処理が必要となってくるため、SFU サーバーを自前で用意できる企業は限られてくるのだ。

現状の流れとして、自前で SFU を実装できる技術を持つ企業が最初に SFU を使ったサービスをリリースしてきている。そして、その後にプラットフォームとして配信できる技術が一般化され、その技術を使って実装したサービスが出てくる。一見、「自前で実装できるレベルの企業」が一番すごいと思われがちではある。しかし、彼らは自前で SFU の実装を改善し続けながら、そのさきの WebRTC によるビデオ通話の見た目部分まで全て自社で改善しなければならなくなるため、改善スピードが遅くなるケースが多い。後者のプラットフォームとして配信技術を扱う企業は、そのプラットフォームの配信技術だけを改善し続ければ良いので、改善スピードを上げることができる。そして、ゆくゆくはそのプラットフォーム技術を使ってビデオ通話を実現している企業が、ビデオ通話の使いやすさの部分に注力し、より良いサービスを提供するようになる。今はそのフェーズに差し掛かっていると考えている。

終わりに

今、まさに少人数ビデオ通話における快適な品質の実現に向けて、多くの企業がこの分野に挑戦していることだろう。時代のニーズも急激に増えてきている現代で、いかに技術を選定し、サービスとして顧客に提供できるか。一般ユーザーの視点として 「通話品質」という圧倒的な比較対象があるため、力を入れなきゃいけない部分は明らかだ。

その分野の先端を追い続けられている身として、これからもサービス開発に力を入れていく次第だ。