Open4

WebRTCについて調査・まとめ🌟

ピン留めされたアイテム
まさぴょん🐱まさぴょん🐱

WebRTC コトハジメ

https://gist.github.com/voluntas/67e5a26915751226fdcf

WebRTC

https://zenn.dev/yuki_uchida/books/c0946d19352af5/viewer/0e7daa

WebRTCとは、Web RealTime Communicationの略です。

双方向のリアルタイム通信を実現するためのAPIやプロトコルの集合体を指します。

WebRTCを利用することで、音声や映像・データをリアルタイムに送受信することが可能です。専用のアプリケーションや、プラグインなどが不要であるため、様々なデバイスで利用可能で、お手軽にZoomやLINEのような通話機能を実装することができます。

以下のサービスはWebRTCを利用することで通話機能を提供しています。

  • Zoom
  • Google Meet
  • Microsoft Teams

WebRTCの特徴

  1. サーバーを経由しないP2P通信が可能
  2. 数百ミリ程度の遅延でリアルタイム通信が可能
  3. ブラウザさえあれば様々なデバイスで利用可能。
  4. 映像や音声以外にも、ファイルやテキストなどのデータもやりとりできる
  5. WebRTCは、サーバーを経由せず、直接P2Pで通信経路を確立することが可能なのも大きな特徴です。

P2P通信を行う場合はサーバーを経由する必要がないため、サーバー側に負荷がかからないことが利点となります。

Safari,Google Chrome, Microsoft Edge, Firefoxなどの主要なブラウザはWebRTCをサポートしているため、ブラウザさえ利用可能であれば、多くのデバイスで利用可能です。

映像や音声を使い、ビデオ会議のような仕組みを作るのが非常に多いユースケースではありますが、デーであればなんでも送れるため、ファイルの送受信やチャット機能などに利用することも可能です。

P2P接続の仕組み

WebRTCでは、サーバーを経由させることなく、peer to peerで通信(P2P通信)を行うことができます。このP2P通信は、お互いがお互いのIPアドレスを知ることによって実現します。

Webサービスにアクセスするときも、結局はDNSによってドメインをIPアドレスに変換することで、アクセスしたいサービスのIPアドレスを入手していますよね。WebRTCでも同様で、相手のIPアドレスを入手することで通信を行うことができます。

まさぴょん🐱まさぴょん🐱

WebRTCとは?

  • WebRTCとは、「Web Real-Time Communication」の略称で、APIを経由して、ウェブブラウザやモバイルアプリでリアルタイム通信を実現しようと立ち上がったプロジェクトです。
  • WebRTCのプロジェクトに参画しているのは、アップル、Google、マイクロソフトなど名だたるIT企業ばかりです。
対応ブラウザ
  • 対応しているブラウザは、PCでは、Google Chrome、Microsoft Edge、Mozilla Firefox、Safari、Operaになります。
  • 多くの人が日常的に使っている主要なブラウザでは、ほぼ対応していると言ってよいでしょう。
  • またスマートフォンなどモバイル環境で使用するOSでは、AndroidはGoogle Chrome、Mozilla Firefox、Opera Mobile、iOSはSafariです。
利用シーン
  • WebRTCは様々なシーンで利用されています。
  • 例えば、Web会議、Web面接、オンライン営業などのビジネスシーンではもちろん、オンライン教育、ボイスチャット、オンラインクレーンゲームなどでも利用されています。
  • また、遠隔医療、オンラインフィットネス、IoT映像配信、VRライブ配信など今後その利用シーンはさらに広がることが予想されます。

https://jp.vcube.com/sdk/blog/webrtc-general-server-configuration-signaling-turn-sfu.html

https://www.photron.co.jp/service/videosolution/column/webrtc-structure/