ブログ

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

公開日:2021.12.14

更新日:2024.03.29

KDDIウェブコミュニケーションズ

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

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

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

本記事では「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の仕組み

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

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

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

WebRTCでできること

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を利用するメリット

ここまで、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サービス
「Vonage」のご紹介

vonagepoe_primary

Vonageは、電話やSMS・ビデオ・チャット・SNSなど、さまざまなコミュニケーションチャネルをWeb・モバイルアプリケーションやビジネスへ組み込めるクラウドAPIサービスです。自動電話発信や電話転送、対話型IVR、自動SMS通知や二要素認証など、多岐にわたるサービスを実現できます。

コミュニケーションに関わる機能を自社で1から開発するのには多大な工数がかかります。通信の暗号化といったセキュリティ対策など考慮せねばならない点も多く、そのために実装を諦めてしまう企業も少なくありません。

しかしVonage APIと連携すれば、それらの工数をすべてVonage側が担ってくれます。お客様側でのインフラ開発はもちろん、ネットワークの構築・維持コストも必要ありません。ただ数行のコードを書き加えるだけで、自社サービスをマルチチャネル化できるのです。

まとめ

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

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

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

執筆者情報

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


「テレワーク」の最新記事 Related post