
104
WebRTC
映像や音声をリアルタイムで
通信する技術
5-10
リアルタイム通信を実現するWebRTC
WebRTC(WebReal-TimeCommunication)は、Webブラウザ間でリ
アルタイム通信を実現する一連のAPI(ソフトウェアやプログラムの間を
つなぐインタフェース)です。これを活用することで、ビデオチャットや
ファイル共有などを機能の追加や拡張なしで行えます。また、Google
Chromeなどの主要ブラウザでもサポートされています。
このWebRTC は、基本的に 3 つの役割があります(図 5-19)。
1 つ目はデータ共有です。カメラやマイクなどのデバイスから、音声や
映像データをダウンロードせずにストリーミングで取得して共有します。
2 つ目は、通信経路の確立です。STUN または TURN サーバーを使い、2 つ
のデバイス間に最適な通信経路を確立します。3つ目はデータの暗号化で
す。すべての通信データは、SRTPプロトコルを使って暗号化されるた
め、セキュリティが確保されています。SRTPは、RTP(Real-time
TransportProtocol)を暗号化するためのプロトコルで、音声や映像データ
をリアルタイムで安全に送受信できます。
2つのサーバーを使った通信経路の確立
WebRTCでは、2 つのサーバーを使って通信経路を確立します(図
5-20)。STUNサーバーは、ネットワークアドレス変換(NAT)の背後に
あるデバイスの公開IPアドレスを取得する ...