Twilioブログ

WebRTCとは?リモートワークに役立つブラウザ技術を詳しく解説

2020年以降、リモートワークやテレワークが一般化したことで、ビデオ通話を繋いでおこなうWeb会議・テレビ会議が一気に普及しました。はじめこそ戸惑ったものの、今ではすっかり画面越しの打ち合わせに慣れた……という方も多いでしょう。

ところでみなさんは、そのようなオンライン会議に使用されているツールの多くが「WebRTC」と呼ばれる技術によって実現していることをご存じでしょうか?

本記事では「WebRTC」がどのような技術なのか、また私たちの生活にどのように活用されているのかを解説し、利用することで得られるメリット・デメリットをご紹介します。

目次

WebRTCとは?

WebRTCは「Web Real-Time Communication」の略称で、音声やビデオ、データなどをWebブラウザ間でリアルタイムにやり取りするための通信規格のことを指します。

開発の背景

WebRTCの基盤は1999年頃、スウェーデンで設立されたGlobal IP Solutionsという会社で初めて開発されました。

それまでのWeb会議システムは、利用するためにクリアしなければならない条件が多く存在していました。ユーザーが専用のアプリケーションを導入する必要があったり、使用可能なデバイスに制限があったりと、非常に不便なものだったのです。

しかしWebRTCの誕生により、専用のソフトウェアやアプリケーション、プラグインを必要としない、リアルタイムなコミュニケーション手段が可能となりました。無料で利用できるWebブラウザがあれば、ほとんどの端末から世界中の人と簡単につながれるようになったというわけです。

WebRTCを構成する主なAPI

WebRTCはGoogleによってオープン規格として公開されており、ブラウザを使ってリアルタイムにコミュニケーションをおこなうためのAPIの仕様が定められています。

このため開発者はAPIを使うことで、手軽にWebRTCの機能を利用できます。WebRTCはブラウザ間の通信を制御するためにたくさんのAPIから構成されていますが、その中でも主要なものが以下の3つです。

API

概要

getUserMedia

ユーザーが使用するカメラやマイクなど、入力デバイスに対するアクセスを許可させる

RTCPeerConnection

ブラウザ間でやり取りされるビデオや音声の制御をする

RTCDataChannel

ファイル転送など、ビデオや音声以外のデータ通信を制御する

これらのAPIを組み合わせて利用することで、特別なソフトウェアなどを利用せずにコミュニケーションをおこなえます。

WebRTCに対応するブラウザ

WebRTCは、対応しているブラウザさえあれば誰でも使うことができます。

Webブラウザが最新のWeb技術に対応しているかを調査・公開しているCanIuseによると、パソコンやスマートフォンなどで利用できる10種類以上のブラウザがWebRTCに対応していることがわかります。(2021年10月時点)

主なWebRTC対応ブラウザ (バージョン)

PC

  • Microsoft Edge (12以上)
  • Safari (11以上)
  • Google Chrome (28以上)
  • Mozilla Firefox (22以上)

Android

  • Google Chrome (28以上)
  • Mozilla Firefox (24以上)

iOS

  • MobileSafari (iOS 11以上)

WebRTCの仕組み

WebRTCはP2P(Peer To Peer)と呼ばれる技術を用いて、Webブラウザ同士がダイレクトにデータの送受信をおこなっています。従来のWeb会議システムの仕組みとは異なり、Webサーバーを介さずに通信できるため、リアルタイム性の高いスムーズなコミュニケーションを実現できます。

ただしP2Pを使った通信は、各端末が他のすべての端末と通信をおこなうため、複数のWebブラウザをつなぐと通信量が大きくなります。端末への負荷も増えるため、P2P方式で通信する場合には一度に接続できる端末数に限りが出てきます。

大人数での会議など多くの端末を繋ぐ場合は、P2P方式ではなく、サーバーを活用してデータを送受信するクライアントサーバー方式が採用されています。

WebRTCでできること

ビデオや音声の制御によるリアルタイム通信ができるWebRTCは、私たちの生活でどのように活用されているのでしょうか。WebRTCの活用例について、代表的なものを3つ紹介します。

ビデオ会議

WebRTCのもっとも代表的な活用例として、ビデオ会議があげられます。

P2Pの技術を使うことで、回線が不安定な状況でも接続が途切れにくく、遅延も発生しにくいという特徴が活かされています。またWebRTCはパソコンだけでなく、スマートフォンやタブレットなどでも利用可能です。

デバイスを選ばず、異なるOS間でもコミュニケーションがおこなえるという点から、急増するリモートワークのコミュニケーション手段にも適していると言えます。

ライブストリーミング配信

WebRTCの「遅延が起きにくい」「リアルタイム性が高い」という特徴は、スポーツ中継などのライブストリーミング配信でも活用されています。

たとえば東京2020オリンピック・パラリンピックでは、NHKのインターネット配信にWebRTCの技術が活用されていました。「テレビのようにCPUやメモリーに制限がある端末でも視聴可能にする」技術の開発に、低遅延で端末に伝送できるWebRTCが役立てられたのです。

参考:「研究年報 2018」NHK技研(2019/03)

動画や画像の認識処理

WebRTCの技術を活用すると、動画や音声をリアルタイムに認識できるようになります。Web会議中によく見られる「背景ぼかし」や「バーチャル背景」も、認識した動画を加工して配信することで実現しています

またリアルタイムな動画や画像の認識処理は、他のサービスと組み合わせることでより活用の場が広がるだろうと期待されています。

代表的な組み合わせの例

  • AIサービス: 音声認証、リアルタイムな自動翻訳
  • ストレージサービス: ライブストリーミングの録音・録画機能の提供

WebRTCの使い方

ビデオ通話を例にして、WebRTCの使い方について紹介します。

ビデオ通話をおこなうために、利用者はまずWebブラウザでクライアント機能を持つWebページに接続します。その後3つのステップを経て、ビデオ通話が開始されます。

1.「getUserMedia」を利用したカメラやマイクの利用許可

ユーザーに対し、ブラウザからカメラやマイクを利用してデータを送信するための許可を求めます。

2.シグナリング

P2P通信をおこなうため、IPアドレスやポート番号などの情報をクライアント間で交換します。そのための「シグナリングサーバー」がWebRTCには欠かせません。

3.「RTCPeerConnection」を利用したストリーミング通信

クライアント同士の接続が完了したら、クライアント間でストリーミング通信が開始されます。

このようにWebRTCでは、複数のAPIを組み合わせてクライアント間での直接通信を実現しています。

WebRTCを利用するメリット

webrtc-merit-demerit

ここまで、WebRTCの概要について解説し、活用事例や実装方法について紹介しました。それでは、WebRTCを使うことでどのようなメリットが得られるのでしょうか。

メリット①:機材購入が不要

従来のWeb会議システムでは、利用するために専用の機材を購入する必要があり、そのコストや手間から導入をためらう企業も少なくありませんでした。

しかしWebRTCを導入するのに、新たに機材を購入する必要はありません。普段の業務で使用する端末・インターネット環境さえあれば利用できます。

導入時のコストや手間が抑えられることは大きな魅力と言えるでしょう。

メリット②:アプリケーションのインストールが不要

WebRTCは、主要なブラウザであるGoogle ChromeやFirefox、Safari、Microsoft Edgeなどで問題なく動作します

対応するWebブラウザさえあれば利用可能で、アプリケーションをインストールする必要がありません。不慣れなアプリケーションを設定する手間がないことも、ユーザーにとってはメリットといえるでしょう。

メリット③:通信が軽い

コンピューター間の通信では多くの場合、TCPプロトコルを用いた通信がおこなわれます。

TCPはクライアントとサーバー間のデータ通信において、「通信相手の状況やデータの到達を逐一確認して、細かな制御をおこなう」プロトコルです。信頼性が高い分、データの到着に遅延が発生したり通信不能になったりしやすいデメリットがあります。

一方、WebRTCではUDPプロトコルを採用しています。

UDPの通信では、相手にどのようにデータが到達しているかを一切確認しません。一方的に送りっぱなしにします。このためTCPの通信と比べて、通信の開始や相手が受け取ったことの確認などの手間が省けるため、通信が軽くなるのです。

WebRTCのデメリット

WebRTCには、導入するうえで把握しておかなければならないデメリットもあります。ここではWebRTCのデメリットについて、主に2つご紹介します。

デメリット①:セキュリティリスク

WebRTCの影響により、使用しているIPアドレスを含む情報がWebサーバーに検知される危険性があると指摘されています。このリスクは、セキュリティを強化するためにVPNを利用している場合でも同様に発生しています。

WebRTCを使用する場合には、ユーザーに対して特定のWebサイトがパソコンのカメラやマイクにアクセスしようとしていることが通知されます。事前に信頼できるサイトからの要求であることを確認したうえで同意しましょう。

デメリット②:接続人数の限界

WebRTCを利用する際に、接続人数に限界があることもデメリットとしてあげられます。

先述の通り、WebRTCではユーザー間の通信をブラウザ同士で直接おこないます。そのため複数のユーザーと接続しようとする場合には、すべての端末と直接通信をおこなう必要があります。

つまり通信相手が増えれば増えるほど、データ送信の負担も増大していくことになります。人数を絞った会議でのみ使用するなど、利用条件を考えてみてもよいかもしれません。

コミュニケーションAPI「Twilio」のご紹介

Twilio(トゥイリオ)は電話やSMS、ビデオ、チャットなど世の中にあるさまざまなコミュニケーションチャネルを、WEB・モバイルアプリケーションと繋ぐクラウドコミュニケーションAPIです。

Programmable Video

TwilioではWebRTCを基盤としたアプリ開発用SDK「Programmable Video」を提供しています。

こちらを利用することで、ブラウザやアプリ上で使える高品質・高機能なリアルタイムビデオ機能を簡単に構築していただけます。またインフラ部分はあらかじめTwilioで用意しているため、ビデオ開発のみに注力していただけるのも大きな特徴です。

Programmable Videoでは、用途やニーズに合わせて、以下3つのプランから必要なものをお選びいただけます。

Group Room

最大50人までのグループ通話が可能です。またWebRTCだけではできない、オーディオとビデオの録音・録画ができます。

Peer to Peer

ブラウザ同士が直接やり取りを行います。最大10機まで接続可能です。

Video WebRTC Go

1対1のビデオアプリケーションを構築・稼働できる無料プランです。WebRTCをベースに構築できるため、ゼロから開発する手間を省くことができます。

録音・録画機能はご利用いただけませんが、気軽にProgrammable Videoを体験するのにおすすめのプランです。

Twilioのビデオ会議アプリ

またTwilioでは、上記のProgrammable Videoを活用したビデオ会議アプリをオープンソースにて公開しています。

「たった5分でビデオアプリケーションを構築・実行できる」という手軽さが魅力で、リモートワークが急速に普及した近年は特に需要が高まっています。また最近ではテキストや添付ファイルを送れるチャット機能も加わり、さらに使いやすくなりました。

Twilioのビデオ会議アプリケーションを、ぜひお客様のサービスにご活用してみてはいかがでしょうか?

まとめ

WebRTCは、専用の機材やアプリケーションが不要かつ通信が軽いという特徴から、リモートワークに使えるWeb会議システムなどの技術に多く採用されています。 

またライブストリーミングの配信や、動画や画像の認識処理など、WebRTCを応用したサービスも増えてきています。

WebRTCによって、私たちの生活はより豊かになっているのです。

Twilio 本部
Twilio 本部

KDDIウェブコミュニケーションズは、日本初のTwilioパートナーとして常に「開発者目線」を大切にしており、ブログ記事がお役に立てれば幸いでございます。

Twilioサインアップ-ブログフッターバナー

Share!!

この記事を読んだ人へのオススメ

  • お役立ち情報
  • イベント情報
  • 相談会申込
  • 導入事例