ボクココ

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

WebRTC における通信不具合の検証

ども、@kimhom です。

以下のイベントで LT してきたので、今回はスライドとともに補足していく。

atnd.org

WebRTC チェックサイト

まず利用環境で WebRTC が使えるかどうかというそもそもを確認するには、実際に WebRTC に繋いでみる。弊社で実際に Twilio WebRTC に繋いでみるチェックツールを提供している。

Twilio Client 動作チェック

上記は Twilio Client の WebRTC に最適化されているので、一般的な WebRTC チェックツールは WebRTC 本家が提供しているのを使うのがセオリーになるだろう。

WebRTC Troubleshooter

このサイトの注意点として、上記サイトでわかるのは「全く通話できないか、そうでないか」の分類になるということ。音質の不具合などを上記のようなサイトで発見することは難しい。んで、実際に WebRTC で起こるのは、「通話できるけど品質が悪い」という問題なのだ。

そもそも問題を起きないような環境にする

ほとんどはネットワークかヘッドセットのどちらかなので、ヘッドセットに関しては良いものを必ず使っていただけるような環境を用意するのは重要だと思う。最近では接続しているデバイス名を JavaScript で取ってこれたりもするので、そこで検証したりもできる。 推奨ヘッドセットを用意するだけでは実際に使ってくれるわけではないので、そこをどう徹底するのかを考えていきたいところ。 ちなみに自分はゼンハイザーのヘッドセットを使っている。コンパクトでクールな感じで気に入っている。

http://www.senncom.jp/cco/sc30usbctrl/www.senncom.jp

ネットワークはほんとどうしようもないので、実際に日々の運用でネットワークに負荷をかけないようにするとか、同時接続を減らすとか細かい努力が必要。そもそも貧弱すぎるネットワークの場合は、どうしても他のネットワークにしてくださいとしか言えないのが辛いところではある。

Speedtest の Download で 10Mbps 以上出ていることが望ましい。それ以下だと自分のサービスでは音質が劣化するケースが多発している。

beta.speedtest.net

感想

他の発表者の方のレベルは前評判通りとても高かった。実験として使ってみたレベルではあるんだけども、それでも WebRTC の未来を感じることができた。

自分の発表では運用するときの辛いことを言ったけど、それでも WebRTC の魅力は多い。今後ネットワーク環境はもっと良くなるし、音質もどんどん改善されていく。さらにその先の応用事例もたくさんある。今の WebRTC の課題も、時間とともに改善されていく。

自分は Twilio で提供している WebRTC を今後も使っていくので、今後も知見がたまればここや会社ブログで発信していきたい。