WebRTC-概要
Webは、リアルタイム通信にとってもはや見知らぬ人ではありません。 WebRTC (Web Real-Time Communication)登場します。2011年5月にリリースされましたが、まだ開発中であり、標準は変更されています。プロトコルのセットはによって標準化されたWEB-ブラウザワーキンググループでリアルタイム通信でhttp://tools.ietf.org/wg/rtcweb/ の IETF (Internet Engineering Task Force)新しいAPIのセットがによって標準化されている間のWebリアルタイムコミュニケーションワーキングのGroupeでhttp://www.w3.org/2011/04/webrtc/ の W3C (World Wide Web Consortium)。WebRTCの登場により、最新のWebアプリケーションは、オーディオおよびビデオコンテンツを何百万もの人々に簡単にストリーミングできます。
基本スキーム
WebRTCを使用すると、他のWebブラウザーへのピアツーピア接続をすばやく簡単に設定できます。このようなアプリケーションを最初から構築するには、データ損失、接続の切断、NATトラバーサルなどの一般的な問題に対処する豊富なフレームワークとライブラリが必要になります。WebRTCを使用すると、これらすべてがブラウザーに組み込まれ、すぐに使用できます。このテクノロジーには、プラグインやサードパーティのソフトウェアは必要ありません。オープンソースであり、そのソースコードはで無料で入手できます。http://www.webrtc.org/.
WebRTC APIには、メディアキャプチャ、オーディオとビデオのエンコードとデコード、トランスポート層、およびセッション管理が含まれます。
メディアキャプチャ
最初のステップは、ユーザーのデバイスのカメラとマイクにアクセスすることです。利用可能なデバイスの種類を検出し、これらのデバイスにアクセスしてストリームを管理するためのユーザー権限を取得します。
オーディオとビデオのエンコードとデコード
インターネットを介してオーディオおよびビデオデータのストリームを送信することは簡単な作業ではありません。ここでエンコードとデコードが使用されます。これは、ビデオフレームとオーディオウェーブを小さなチャンクに分割して圧縮するプロセスです。このアルゴリズムはcodec。さまざまなビジネス目標を持つさまざまな企業によって維持されている、膨大な量のさまざまなコーデックがあります。WebRTCには、H.264、iSAC、Opus、VP8などの多くのコーデックもあります。2つのブラウザが相互に接続すると、2人のユーザー間でサポートされている最適なコーデックが選択されます。幸い、WebRTCはほとんどのエンコーディングをバックグラウンドで実行します。
トランスポート層
トランスポート層は、パケットの順序を管理し、パケット損失を処理し、他のユーザーに接続します。この場合も、WebRTC APIを使用すると、接続に問題がある場合に通知するイベントに簡単にアクセスできます。
セッション管理
セッション管理は、接続の管理、開始、および編成を扱います。これは一般的に呼ばれますsignaling。オーディオストリームとビデオストリームをユーザーに転送する場合は、付随データを転送することも理にかなっています。これはによって行われますRTCDataChannel API。
Google、Mozilla、Operaなどの企業のエンジニアは、このリアルタイム体験をWebにもたらすために素晴らしい仕事をしてきました。
ブラウザの互換性
WebRTC標準はWeb上で最も急速に進化しているものの1つであるため、すべてのブラウザーがすべての同じ機能を同時にサポートしているわけではありません。ブラウザがWebRTCをサポートしているかどうかを確認するには、次のWebサイトにアクセスしてください。http://caniuse.com/#feat=rtcpeerconnection. すべてのチュートリアルを通じて、すべての例でChromeを使用することをお勧めします。
WebRTCを試す
今すぐWebRTCの使用を始めましょう。ブラウザを次のデモサイトに移動します。https://apprtc.appspot.com/
「参加」ボタンをクリックしてください。ドロップダウン通知が表示されます。
「許可」ボタンをクリックして、ビデオとオーディオのWebページへのストリーミングを開始します。あなたはあなた自身のビデオストリームを見るはずです。
次に、現在使用しているURLを新しいブラウザタブで開き、[参加]をクリックします。2つのビデオストリームが表示されます。1つは最初のクライアントからのもので、もう1つは2番目のクライアントからのものです。
これで、WebRTCが強力なツールである理由を理解する必要があります。
ユースケース
リアルタイムWebは、テキストベースのチャット、画面とファイルの共有、ゲーム、ビデオチャットなど、まったく新しい範囲のアプリケーションへの扉を開きます。通信に加えて、WebRTCを次のような他の目的に使用できます。
- リアルタイムマーケティング
- リアルタイム広告
- バックオフィスコミュニケーション(CRM、ERP、SCM、FFM)
- 人事管理
- ソーシャルネットワーキング
- 出会い系サービス
- オンライン医療相談
- 金融業務
- surveillance
- マルチプレイヤーゲーム
- 生放送
- e-learning
概要
これで、WebRTCという用語を明確に理解できたはずです。また、ブラウザですでに試しているので、WebRTCを使用して構築できるアプリケーションの種類についても理解しておく必要があります。要約すると、WebRTCは非常に便利なテクノロジーです。