WebRTC (Web Real-Time Communication) は、追加のプラグインやソフトウェアを必要とせずに、ブラウザとデバイス間で直接リアルタイムのオーディオ、ビデオ、およびデータの送信を可能にするオープンソース テクノロジです。ビデオ会議、ライブ ストリーミング、オンライン ゲーム、ピアツーピア (P2P) ファイル共有で広く使用されています。WebRTC は Google によって開発され、W3C (World Wide Web Consortium) と IETF (Internet Engineering Task Force) によって標準化されています。Chrome、Firefox、Edge、Safari などの主要なブラウザでサポートされているため、Web 上のリアルタイム通信の重要なテクノロジとなっています。
WebRTC は、いくつかの主要コンポーネントを使用して直接ピアツーピア (P2P) 接続を確立します。
シグナリング: WebSocket や SIP などの外部プロトコルを介してメタデータ (IP アドレス、セッションの詳細など) を交換し、接続を開始します。
STUN/TURN サーバー: ファイアウォールと NAT 制限を回避し、接続性を確保します。
ピア接続: Secure Real-Time Transport Protocol (SRTP) を使用してメディア ストリームを暗号化し、P2P データ交換に DataChannel API を使用します。
WebRTC が確立されると、ユーザー間で低遅延、暗号化された高品質のメディア伝送が可能になります。
低遅延: 1 秒未満の通信をサポートし、ライブ インタラクションに最適です。
エンドツーエンドの暗号化: 安全なメディアおよびデータ転送に DTLS-SRTP を使用します。
クロスプラットフォーム互換性: Web、モバイル、組み込みシステムで動作します。
適応型ネットワーク処理: ネットワークの状態に基づいてメディア品質を動的に調整します。
追加のソフトウェアは不要: 最新のブラウザでネイティブに実行されます。
特徴 | ウェブRTC | HLS | ダッシュ | RTMP |
---|---|---|---|---|
レイテンシー | 1秒未満(<500ms) | 5~30秒 | 3-10秒 | 2-5秒 |
トランスポートプロトコル | UDP (SRTP、SCTP、DTLS) | HTTP (TCP ベース) | HTTP (TCP ベース) | TCP (RTMP) |
理想的な使用例 | ビデオ通話、ゲーム、ライブチャット | OTT、VOD、ライブストリーミング | OTT、VOD、アダプティブストリーミング | レガシーライブストリーミング |
P2Pサポート | はい | いいえ | いいえ | いいえ |
暗号化 | はい | いいえ(DRM 暗号化されていない場合) | いいえ(DRM 暗号化されていない場合) | いいえ |
スケーラビリティ: マルチユーザー シナリオでは、P2P 接続にかなりの帯域幅が必要になります。
ファイアウォールと NAT の問題: 接続には STUN/TURN サーバーが必要になる場合があります。
限定的な CDN サポート: HLS/DASH とは異なり、WebRTC は従来の CDN 配信向けに最適化されていません。
スケーラビリティを強化するために、多くのプラットフォームでは、WebRTC を選択転送ユニット (SFU) またはマルチポイント コントロール ユニット (MCU) と統合して、大規模なリアルタイム通信を処理します。
WebRTC はリアルタイムのインタラクティブ通信に不可欠なテクノロジーであり、低遅延、安全、ブラウザネイティブの機能を提供します。ビデオ会議、ゲーム、ライブインタラクションなどのアプリケーションでは優れていますが、大規模な展開では、効率性を高めるためにメディアサーバーまたは CDN を使用したハイブリッドモデルが必要です。