要約:
ブラウザやモバイルアプリケーションは、シンプルなAPIを介してオーディオとビデオのリアルタイム通信(RTC)にWebRTCを使用しています。WebRTCコンポーネントは、この目的に最も適した役割を果たすように最適化されています。WebRTCベースのWebアプリケーションは、プラグイン、ダウンロード、インストールなしで、Web上で豊富なリアルタイムマルチメディア機能(ビデオチャットを考えてください)を提供します。その目的は、複数のWebブラウザ、複数のプラットフォームで動作する強力なRTCプラットフォームの構築を支援することです。
iWaveは、 i.Mx6 Qseven開発プラットフォーム上でWebRTCベースのピアツーピアオーディオおよびビデオ通信を開発しました。iWaveは、FireFox Webブラウザとその通信に組み込まれたwebrtc APIを使用しています。

WebRTCのアーキテクチャ
詳細な説明:
iWaveのi.Mx6 Q7プラットフォームは、最大1GHzの速度/コアを動作できるクアッドコアプロセッサを備えています。i.MX6 CPUは、NXPの統合マルチメディアアプリケーションプロセッサにおける最新の成果であり、高性能処理を提供し、消費電力を最小限に抑えるために最適化された、成長中のマルチメディアに焦点を当てた製品の一部です。
iWaveのi.Mx6 Q7プラットフォームは、64ビットモードで1GBのRAMをサポートし、4GBのeMMCメモリは大容量記憶装置とブートデバイスの両方として使用できます。i.Mx6 Q7は、i.Mx6 CPUを統合し、SOM上の外部ギガビットイーサネットPHYに接続されたイーサネットポートもサポートしています。
iWaveのアプリケーションは、クライアントとサーバーの2つのコンポーネントで構成されています。ピアツーピア通信は、2 つのクライアント間で行われます。サーバーは、クライアントを登録し、2 つのクライアントが通信するために必要な設定を維持するために使用されます。セットアップ後、サーバーは通信で何の役割も持っていません。
クライアントアプリケーション:
クライアントアプリケーションは、WebRTCを使用して2つのクライアント間でオーディオとビデオを転送する非常に単純なWebアプリケーションです。このアプリケーションにより、一方のクライアントがもう一方のクライアントに「ダイヤル」し、ビデオ通話(音声付き)を発信できるようになります。このアプリケーションは、2つのクライアント間でのみ機能します。Firefoxブラウザを使用して実行できます
サーバー:
サーバーは、2 つのクライアント間の初期接続を仲介します。クライアント間で接続が確立されると、クライアント間の通信はピアツーピアモードで続行され、ビデオデータはサーバーを介してルーティングされません。
WebRTCピアツーピア通信の作業プロセス
オーディオコーデック:
WebRTCがサポートするオーディオコーデックはOPUSコーデックです。OPUSコーデック 6 kbit/sから510 kbit/sまでの固定ビットレートおよび可変ビットレートエンコーディング、2.5 msから60 msまでのフレームサイズ、8 kHz(4 kHz帯域幅)から48 kHzまでのさまざまなサンプリングレートをサポートします。WebRTCに搭載されているアコースティックエコーキャンセラーは、アクティブマイクに再生される音声から生じるアコースティックエコーを除去します。ノイズリダクションコンポーネントは、通常VoIPに関連する特定の種類のバックグラウンドノイズを除去します。
ビデオコーデック:
WebRTCがサポートするビデオコーデックはVP8です。VP8ビデオコーデックは、低遅延用に設計されているため、RTCに適しています。WebRTCには、ビデオ用のダイナミックビデオジッターバッファがあり、ジッターとパケットロスが全体的なビデオ品質に与える影響を隠します。画像補正は、カメラからキャプチャされた画像からビデオノイズを除去します。
WebRTC通話:WebRTCピアツーピアのオーディオおよびビデオ通信のスクリーンショット
利点:
詳細については、WebRTC Peer to Peer Communication(Audio & Video) on i.MX6 board | iWave Systems or contact [email protected] をご覧ください。