ブラウザやアプリ同士でリアルタイム音声・動画・データ通信を行うためのオープン技術です。
主な用途
- ビデオ会議
- 音声通話
- 音声AI
- ライブ配信
- P2Pデータ通信が基本
目次
WebRTCの正式定義(公式)
公式サイト
WebRTC Official Site
https://webrtc.org
W3C仕様
WebRTC Specification
https://www.w3.org/TR/webrtc/
公式説明
WebRTC はブラウザやモバイルアプリにリアルタイム通信機能を提供する技術です。
WebRTCの特徴
| 特徴 | 説明 |
|---|---|
| リアルタイム | 低遅延通信 |
| P2P | 基本はサーバーを介さず直接通信 |
| ブラウザ対応 | Chrome / Safari / Firefox |
| オープン標準 | W3C / IETF |
WebRTCでできること
代表例
- Zoom(Web版)のようなビデオ通話
- Discordの音声通話
- AI音声エージェント
- ライブ配信
WebRTCの基本構造
WebRTCは次の構造です。
ブラウザA
↓
P2P通信
↓
ブラウザB通常の通信
クライアント
↓
サーバー
↓
クライアントWebRTC
クライアント
↔
クライアントWebRTCの内部コンポーネント
WebRTCは主に3つの技術で構成されています。
| 技術 | 役割 |
|---|---|
| ICE | 接続管理 |
| STUN | IP取得 |
| TURN | 中継サーバ |
ICE(接続調整)
ICE
Interactive Connectivity Establishment
役割
- 接続方法の決定
STUN
STUNサーバー
- NATの外側IPを取得
TURN
TURNサーバー
- 通信を中継
WebRTCの通信フロー
① Signaling
② ICE candidate交換
③ P2P接続
④ 音声 / 映像ストリームAI音声でのWebRTCの役割
AI音声アプリでは
マイク
↓
WebRTC
↓
音声ストリーム
↓
AIになります。
音声AIで使われる理由
理由
| 理由 | 説明 |
|---|---|
| 低遅延 | リアルタイム |
| 双方向 | 会話可能 |
| ブラウザ対応 | インストール不要 |
音声AIアーキテクチャのイメージ
従来の音声AI
マイク
↓
WebRTC(音声送信)
↓
STT → LLM → TTS
↓
WebRTC(音声受信)
↓
スピーカーNative Audio LLM(音声をネイティブに扱えるLLM)
マイク
↓
WebRTC
↓
Audio-to-Audio LLM
↓
WebRTC
↓
スピーカー
WebRTCを使う代表サービス
| サービス | 用途 |
|---|---|
| Zoom | ビデオ会議 |
| Discord | 音声チャット |
| Google Meet | 会議 |
| LiveKit | 音声AI |
| Twilio | 音声API |
まとめ
WebRTC
- リアルタイム通信技術
- 音声・動画・データ
- P2P通信
音声AIでは
WebRTC = 音声ストリーム基盤
になります。
コメント