ICT技術解説[第2回]ビデオチャットを劇的に身近にするブラウザ技術「WebRTC」を徹底解説

ビデオチャット、ボイスチャットなどのリアルタイムコミュニケーションをプラグインなしにWebブラウザだけで実現する技術が「WebRTC」だ。ネットを介したリアルタイムコミュニケーションの可能性をさらに広げるWebRTCを今回は解説する。

(3)WebRTCのアーキテクチャ

次に、WebRTCはどんなアーキテクチャになっているのか、その全体像を図表3に紹介しよう。このうち、Webアプリケーション開発者にとって重要な部分はWeb APIで、これを使うことでビデオチャットのようなアプリケーションを開発することができる。また、ブラウザベンダにとって重要な部分はWebRTC Native C++ APIで、これを使うことでブラウザにWeb APIを実装しやすくなる。

図表3 WebRTCのアーキテクチャ
WebRTCのアーキテクチャ
出典:http://www.webrtc.org/reference/architecture

具体的には、WebRTCは次のようなJavaScript APIを提供している。

getUserMedia
Webブラウザから端末に取り付けられているカメラやマイクにアクセスしてストリームデータを取得するためのAPI。

RTCPeerConnection
マルチメディアセッションを確立するためのAPIで、UDP/IP を使用してWebブラウザ同士で直接ストリームデータを送受信することができる。コーデック(オーディオおよびビデオの符号化および復号化)、暗号化、帯域管理(帯域幅の変化にストリームを適応させるなど)の各機能も提供されている。

RTCDataChannel
テキストデータやバイナリデータのP2Pによるデータ通信のためのAPI。UDP/IPを使用しているので、TCP/IPとは異なりパケット再送は行わない。ファイル転送やテキストチャットなどを実現できる。

ボイスエンジンには、iSAC(オーディオおよびVoIP用ワイドバンドコーデック)、iLBC(オーディオおよびVoIP用ナローバンドコーデック)、Opus(可変ビットレートエンコードに対応)の3つのコーデックが含まれている。ビデオエンジンにはRTCに最適なVP8ビデオコーデックが含まれている。

なお、P2P通信を開始するには接続先のグローバルアドレス情報が必要になるので、NAT traversal(NAT越え)としてSTUN(Simple Traversal of UDP through NATs)やICE(Interactive Connectivity Establishment)といったメカニズムがサポートされており、NATが割り当てたグローバルIPアドレスとポート番号を取得できるようになっている。

RELATED ARTICLE関連記事

SPECIAL TOPICスペシャルトピック

スペシャルトピック一覧

NEW ARTICLES新着記事

記事一覧

FEATURE特集

WHITE PAPERホワイトペーパー

ホワイトペーパー一覧
×
無料会員登録

無料会員登録をすると、本サイトのすべての記事を閲覧いただけます。
また、最新記事やイベント・セミナーの情報など、ビジネスに役立つ情報を掲載したメールマガジンをお届けいたします。