WebRTCの仕組みを理解する。効率的な使い方とは?
- 映像伝送
- #映像ネットワーク
- #ライブ配信
「WebRTC」はブラウザをベースとしたUDP/データ伝送プロトコル を活用した映像伝送をおこなうための技術です。
ブラウザで利用できる、また、そのための特別な機器を必要としない、という特長がありますが、実際にこの「WebRTC」というテクノロジーを利用、活用するには、どのようなことが必要になるのでしょうか?
この記事では、「WebRTC」の仕組みを理解し、このテクノロジーの利用/活用方法を解説します。
WebRTCの仕組み
前述のとおり、「WebRTC」はブラウザをベースとしたUDP/データ伝送プロトコルを活用した映像伝送をおこなうための技術です。
「WebRTC」は、リアルタイムで比較的大きなデータを送受信することができ、なによりも、オープン規格であることが現在の大きな普及に繋がっています。今後も、「WebRTC」を利用した映像伝送の映像や音声の品質を改善していくことで、利用するユーザーへの提供価値を向上させていくことが見込まれています。
「WebRTC」は、サーバと組み合わせることで利用が可能となりますが、サーバの構築方法は、その用途や規模により色々な選択肢があります。ここでは代表的なサーバの構築方法を見ていきましょう。
P2P(ピアツーピア)で通信する(STUN/TURNサーバ)
「WebRTC」の仕組みを理解するには、P2Pの仕組みが参考になります。
P2Pはサーバを介さずに端末同士で直接通信する仕組みです。これを利用するために必要なサーバは、それぞれの通信相手の情報を共有するためのシグナリングサーバや、STUN / TURNといったものです。
一般的に、PCやモバイルデバイスがインターネットに接続するためには、ローカルIPアドレスが割り当てられたうえで、それらがインターネットプロバイダから割り振られた一つのグローバルIPアドレスに変換された状態で、パブリックなネットワークにアクセスする必要があります。
このIPアドレスの変換機能を NAT(Network Address Transration) といいますが、パブリックからローカルへ情報を送信したいサービス側は、実際に送信したい端末のローカルIPアドレスがわからないため通信が不可能になってしまいます。
これを解決するため、いわゆる “NAT越え” を実現するために STUNサーバとTURNサーバが必要になるのです。
- STUNサーバ
外部ネットワーク、つまりパブリックネットワークからみた端末自身のIPアドレスを教えてくれるサーバを指します。ローカルIPアドレスとグローバルIPアドレスが違うことでNAT越えが必要かどうかを判断できます。 - TURNサーバ
パブリックネットワークから見た時に、NATの背後におかれたシングルピアの端末を見つけ、NATを超えて、グローバルIPアドレスとローカルIPアドレスの間をブリッジするために必要な機能を実装したサーバです。
SFUサーバ経由で接続する
一方、「WebRTC」で通信する映像や音声データをP2Pではなく、サーバを介して伝送する技術も存在します。それが SFU(Selective Forwarding Unit)と呼ばれる技術です。
P2Pで通信する以上、大容量データかつ複数の送信先が存在すると、サーバの負荷が大きくなり、低遅延で伝送/共有するといった特長が失われます。そのような場合、このSFUサーバを利用してサーバ経由での映像伝送/共有をおこなうことで、高品質な映像や音声を低遅延で且つ複数のユーザ/端末に届けることができるのです。
■関連記事:WebRTCとは?その特長と活用方法を理解しよう
お客様の課題や要件に合わせて
製品とワークフローをご提案します
お問い合わせは
こちらから
専門知識を持った担当者が
お客様の課題や要件をお伺いします
お電話でも
お問い合わせできます
平日9:00~17:00