「ライブ配信システムやビデオチャットシステムを構築したいのだけど」
「WebRTCって何?どんな時に使われるの?」
「WebRTCを使うメリット・デメリットって何がある?」
「WebRTCとは?基本の仕組みを詳細に解説!」
この記事ではこういった疑問に答えます。
コミュニケーションツールの多様化に伴って、ライブ配信やストリーミング配信、遠方であってもビデオチャットを利用して会議をする機会が段々と増えてきました。またコロナ禍の中でチャットやライブ配信は重要な技術となってきています。
この記事を読んでいるあなたも、仕事やプライベートなどでビデオチャットを利用する機会は頻繁にあるのではないでしょうか。
そのビデオチャットを圧倒的に簡単にした仕組みがWebRTCです。
そこで今回は、WebRTCの基本的な仕組みについて、メリットやデメリットも含めてご紹介していきます。
WebRTCの仕組みを1から10まで理解できるような内容になっているため、是非ともご一読ください。
WebRTCとは?
WebRTCとはWeb Real-Time Communicationの略で、Webブラウザにプラグインを追加することなくブラウザ上でリアルタイムなコミュニケーションを実現するフレームワークです。
Web上でP2P通信によってブラウザ間のボイスチャット、ビデオチャット、ファイル共有が可能になります。
もともとWebRTCが作られた目的としては「ブラウザ、モバイルプラットフォームなどを開発できるようにして、共通のプロトコルセットで通信できるようにすること」でした。
WebRTCはすでにGoogleによってオープンソース化されており、IETFによる関連プロトコルとW2Cによるブラウザ対応の標準化が進められてきました。
WebRTCにおけるAPIとCanvasやWebGL、Web audio APIなどを合わせることで、音声を変換したりカメラから受け取ったキャプチャを拾い、画像処理を行います。
そもそもP2P通信って何?
P2P通信とは、別名「peer to peer」の略で、複数端末間で通信を行う場合にサーバーを介さずに端末同士で直接データファイルを通信することができるデータ通信規格です。
「Peer」という言葉には、対等な立場で情報共有を行う端末という意味があります。
これまでの通信技術では、クライアントが情報を保管するサーバーにアクセスし、情報を要求することでクライアント側との通信を行っています。
例えばWebサイトのお問い合わせフォームで情報を入力した後、送信ボタンを押すと内容を送信することができますよね。
これはボタンを押すことによってサーバー側に情報を送って、保存してもらうように要求しているため、動作が可能になるのです。
P2P通信は一旦サーバーにアクセスするのではなく、そのままクライアント同士で通信できるため、素早い通信が出来る点で優れています。
WebRTCが登場した背景
通信関連のサービスやアプリケーションの開発者にとって、機能のAPI化は通信網やデバイス制御の複雑な部分の保守性を高めることによってアプリケーションを開発が簡単になります。
WebRTC はWebにおける通信をリアルタイムで実現する標準フリーパッケージとして提案されてました。
WebRTCが普及することによって、キャリアやベンダに縛られることなく、Webブラウザだけで世界中の人たちと自由にコミュニケーションすることが可能になります。
WebRTCのメリットは?
WebRTCを利用する上での主なメリットは、以下の3つです。
1. 安価な機器だけで通信できる
2. 通信が非常に早い
3. アプリケーションの利用が不要
それぞれのメリットについて具体的に解説していきます。
安価な機器だけで通信できる
WebRTCは利用するにあたって、専用機器を購入したり取り付けたりする必要は特にありません。
利用するにあたっては、PCスマホタブレットなど、どのデバイスであっても使うことが可能です。
Web会議システムを利用するに当たって、専用機器などを別途購入しなければならないのは、非常に面倒ですよね。
通信が非常に早い
WebRTCはサーバーを介さずに通信を行うことが可能であるため、通信がとても早くて軽いのが特徴的です。
一般的な通信は、TCPプロトコルを採用しており、サーバーを介したデータ通信を行なっています。
TCPプロトコルを使った通信の場合は、クライアントからサーバーに接続開始してから相手が受け取ったかどうかを確認するまでが一連の流れとなります。
WebRTCでは、UDPプロトコルを採用しており、即座にデータを送信することができ、送ったデータを送りっぱなしにすることができます。
通信の開始や終了の処理がない分、圧倒的に早い通信を実現することが可能です。
アプリケーションの利用が不要
WebRTCは利用する上で、アプリケーションをインストールする必要がありません。
WebRTCは技術仕様において「Real-Time Communicaiton Between-Browser」と記載があり、ブラウザ中心に通信を行うことになります。
主要ブラウザであるChrome、Firefox、Safariなどでも問題なく動作するようになっています。
OneTech】 ホロレンズに向けてUnityでのWebRTC設定手順
WebRTCのデメリットは?
WebRTCのデメリットは主に3つです。
1. セキュリティの質が低下
2. 接続人数が限界
それぞれの特徴について、詳しく解説していきます。
セキュリティの質が低下
WebRTCでは通信の軽さに重きを置いている反面で、セキュリティ面で若干脆弱性が現れてしまいます。
一般的な通信では、サーバーにデータを送ってから相手が受け取ったかどうかを確認するまでが一連の流れとなります。
一方でデータを送りっぱなしにするUDPは、相手がデータを本当に受け取ったかどうかを確認することが難しく信頼性が低下してしまいます。
接続人数が限界
WebRTCを用いた通信では接続人数に限界があります。
ライブ配信などで通信が重たくなったり、サーバーがダウンしてしまった経験のある人も多いですよね。
WebRTCはP2Pの通信であるため、配信側は視聴者の分のデータ変換を行う必要があります。
つまり視聴者が増えれば増えるほど、配信側の負担が増加していってしまうのです。
ビジネスにおいて大人数でWebRTCを用いた通信を行うのは、現実的ではないと考えています。
ONETECHのWebRTC開発実績
デジタルツインの活用:Microsoft HoloLens2(ホロレンズ2) 遠隔支援MRアプリデモ
デジタルツインの活用として、本アプリは作業者と遠隔地にいるエキスパートとリアルタイムで作業の状況を共有することができます。作業者が知識が乏しい状態でもエキスパートからの遠隔支援することで正確な作業をすることができます。インフラ、製造業、医療などの停止することのできないシステムを持っている現場など流通、物流、倉庫、製造、建設、検品など様々な分野での応用が見込まれます。人手不足による、教育や研修時間が十分に確保できない問題や移動時間をできるだけ短縮したいなどの課題解決になります。今回のアップデートでARマニュアル機能と、セブンセグメントのデジタル数値を認識する機能をアップデートしました。
まとめ
今回はWebRTCとは何なのか、メリットやデメリットなどについて具体的に解説してきました。
WebRTCはP2Pの通信規格を実現したことによって、これまでよりも通信の速度を圧倒的に向上させてくれました。
Webブラウザで一般的に採用されるようになったことにより、ビデオチャットなどの通信を行うことがより簡単になりました。
これからビデオチャットを行う際には、「このチャットでもWebRTCが使われているんだ!」と思いながらビデオチャットを利用してみてください!!!
ONETECHはベトナムオフショア開発でAR/MR/VRソフトウェアの開発、AI、Iotの開発に力を入れています。AR/MR/VRソフトウェアの開発、AI、Iotの開発のご相談はOne Technology Japanへお気軽にお問い合わせください。
https://onetech.jp